Tampilan terwujud berkelanjutan

Dokumen ini memberikan ringkasan tentang tampilan terwujud berkelanjutan dan kasus penggunaan umum untuk tampilan tersebut. Sebelum membaca halaman ini, Anda harus memahami ringkasan Bigtable.

Di Bigtable, tampilan terwujud berkelanjutan adalah hasil dari proses latar belakang berkelanjutan yang terkelola sepenuhnya. Proses ini menggunakan kueri SQL yang Anda berikan untuk membuat dan mengelola tabel yang telah dihitung sebelumnya, yang diperbarui Bigtable secara inkremental saat data sumber berubah. Kueri SQL dapat menyertakan agregasi dan transformasi pada tabel Bigtable yang mendasarinya.

Data dalam tampilan terwujud berkelanjutan mencakup hal berikut:

  • Nilai gabungan atau yang ditransformasi yang berasal dari data dalam tabel sumber
  • Nilai yang tidak digabungkan yang menentukan kunci pengelompokan

Tampilan terwujud berkelanjutan memungkinkan Anda menggabungkan data terlebih dahulu saat menyerapnya. Selain itu, tampilan terwujud berkelanjutan memiliki skema yang berbeda dengan tabel sumbernya, yang menyajikan data tabel sumber dalam struktur yang dioptimalkan untuk kueri dengan pola pencarian yang berbeda dengan kueri yang digunakan pada tabel sumber.

Berikut adalah karakteristik utama tampilan terwujud berkelanjutan di Bigtable:

  • Tak perlu pemeliharaan: Tampilan terwujud berkelanjutan diprakomputasi di latar belakang. Perubahan data pada tabel sumber, termasuk update dan penghapusan, akan otomatis diterapkan di latar belakang ke tampilan terwujud berkelanjutan, tanpa memerlukan tindakan pengguna.
  • Pola pengembangan SQL: Tampilan terwujud berkelanjutan didasarkan pada kueri GoogleSQL untuk Bigtable, termasuk fungsi, filter, dan agregasi SQL. Meskipun fungsi bersifat deterministik secara default, untuk kasus penggunaan terbatas, Anda dapat memilih untuk menggunakan kumpulan fungsi non-deterministik yang diseleksi.
  • Sinkronisasi dengan pembersihan sampah memori: Tampilan terwujud berkelanjutan tetap sinkron dengan kebijakan pembersihan sampah memori tabel sumbernya, yang otomatis diperbarui saat data tabel habis masa berlakunya atau dihapus.
  • Latensi baca dan tulis tidak terpengaruh: Tampilan terwujud berkelanjutan memiliki dampak minimal pada performa tabel sumber saat cluster instance telah disediakan secara memadai atau menggunakan penskalaan otomatis.
  • Konsistensi tertunda: Tampilan terwujud berkelanjutan dihitung di latar belakang. Pembaruan pada tampilan terwujud berkelanjutan mungkin tertunda, tetapi hasil terwujud berkelanjutan selalu konsisten dari waktu ke waktu.

Row key, penentu kolom, dan nilai kolom yang Anda gunakan untuk menentukan tampilan terwujud berkelanjutan diperlakukan sebagai data layanan. Oleh karena itu, jangan buat tampilan terwujud berkelanjutan menggunakan row key, penentu kolom, atau nilai kolom yang berisi informasi sensitif. Untuk mengetahui informasi tentang cara penanganan data layanan, lihat Pemberitahuan PrivasiGoogle Cloud .

Anda dapat membuat tampilan terwujud berkelanjutan menggunakan Google Cloud CLI, editor kueri Bigtable Studio di konsol Google Cloud , atau library klien Bigtable untuk Java dan Go.

Anda dapat membaca dari tampilan terwujud berkelanjutan menggunakan hal berikut:

Untuk mengetahui informasi selengkapnya, lihat Membaca dari tampilan terwujud berkelanjutan.

Kapan harus menggunakan tampilan terwujud berkelanjutan

Dengan tampilan terwujud berkelanjutan, Anda dapat menentukan representasi baru data Bigtable menggunakan SQL. Setelah dibuat, tampilan terwujud berkelanjutan akan terus-menerus dan otomatis merestrukturisasi data dari tabel sumber ke dalam format yang ditentukan oleh kueri SQL. Kemudian, alih-alih mengkueri tabel dan mentransformasi atau menggabungkan data setelah membacanya, Anda dapat mengkueri tampilan terwujud berkelanjutan.

Tampilan terwujud berkelanjutan dapat meningkatkan performa kueri untuk kasus penggunaan berikut:

  • Pra-agregasi data: Anda dapat menggunakan tampilan terwujud berkelanjutan untuk menggabungkan data yang masuk di seluruh baris. Hal ini memungkinkan Anda mengambil data yang diringkas dan digabungkan, seperti metrik untuk dasbor, dengan cepat.
  • Otomatisasi arsitektur lambda dan kappa: Jika aplikasi Anda memerlukan campuran data pipeline streaming real-time dan data pipeline batch yang berisi data historis, gunakan tampilan terwujud berkelanjutan. Tampilan ini memberikan tampilan semua sumber data yang diperbarui dari waktu ke waktu untuk mencerminkan perubahan pada data pokok, tanpa memerlukan alat pemrosesan streaming tambahan atau tugas ETL kustom.
  • Pola akses sekunder: Tampilan terwujud berkelanjutan membuat representasi alternatif data Anda. Representasi ini dapat dioptimalkan untuk kueri dengan pola pencarian yang berbeda dari yang Anda gunakan dalam kueri terhadap tabel sumber. Hal ini menjadikan tampilan terwujud berkelanjutan sebagai alat yang efektif untuk membuat indeks sekunder asinkron yang efektif pada data Anda. Untuk mengetahui informasi selengkapnya tentang pola ini, lihat Membuat indeks sekunder asinkron.

Untuk membandingkan tampilan terwujud berkelanjutan dengan jenis tampilan Bigtable lainnya, lihat Tabel dan tampilan.

Kapan harus menggunakan penghitung

Cara lain untuk melakukan pra-agregasi data adalah dengan membuat penghitung terdistribusi menggunakan sel gabungan.

Penulisan ke sel agregat dapat langsung dibaca dari cluster tempat penulisan dilakukan. Tampilan terwujud berkelanjutan diproses setelah data ditulis dan pada akhirnya menjadi konsisten dengan tabel sumber.

Gunakan penghitung, bukan tampilan terwujud berkelanjutan, untuk hal berikut:

  • Agregasi yang tidak memerlukan filter dan tidak perlu berada di seluruh baris.
  • Jika Anda perlu segera membaca penulisan dari cluster tempat penulisan tersebut ditulis.

Gunakan tampilan terwujud berkelanjutan jika Anda ingin melakukan hal berikut:

  • Buat kunci yang berbeda untuk kueri terhadap agregasi Anda.
  • Melihat perubahan pada tabel dasar yang tercermin dalam agregasi Anda.
  • Menggabungkan data di beberapa baris secara otomatis.

Gunakan kombinasi penghitung dan tampilan terwujud berkelanjutan untuk kasus penggunaan seperti saat Anda ingin melakukan hal berikut:

  • Merekam metrik baru dalam sel gabungan, tetapi mempertahankan rollup historis dari metrik tersebut.
  • Menggabungkan metrik dalam tampilan terwujud berkelanjutan.

Penyediaan dan performa resource

Pemrosesan berkelanjutan untuk tampilan terwujud berkelanjutan terjadi sebagai tugas latar belakang berprioritas rendah. Oleh karena itu, fitur ini memiliki dampak minimal pada performa aplikasi serta latensi baca dan tulis pada tabel sumber, asalkan cluster Anda berukuran memadai.

Sebagai praktik terbaik untuk memastikan data dalam tampilan terwujud berkelanjutan tetap baru, aktifkan penskalaan otomatis untuk cluster dalam instance yang berisi tampilan terwujud berkelanjutan Anda. Penskalaan otomatis secara otomatis menambahkan node yang cukup untuk menangani overhead pemrosesan, lalu menghapusnya saat tidak lagi diperlukan. Hal ini membantu memastikan bahwa kapasitas komputasi yang cukup tersedia selama eksekusi kueri SQL yang berjalan terus-menerus. Penskalaan otomatis juga dapat memastikan bahwa Anda memiliki cukup node untuk menangani kebutuhan penyimpanan tampilan terwujud berkelanjutan.

Tampilan terwujud berkelanjutan diperhitungkan dalam batas 1.000 tabel per instance.

Membuat tampilan terwujud berkelanjutan pada tabel yang ada

Saat Anda membuat tampilan terwujud berkelanjutan untuk tabel yang ada, Bigtable memulai proses satu kali yang mengisi tampilan dengan data tabel yang ada. Proses ini dikenal sebagai pengisian awal. Waktu yang diperlukan untuk pengisian awal bergantung pada ukuran tabel dan kompleksitas kueri. Secara default, Anda tidak dapat mengkueri tampilan selama pengisian awal. Namun, jika kasus penggunaan Anda dapat menoleransi data yang tidak lengkap, seperti selama pengembangan aplikasi, Anda dapat menggunakan petunjuk kueri allow_incomplete_view untuk mengkueri tampilan sebelum populasi selesai. Selama waktu ini, jika tampilan melakukan agregasi, agregat yang ditampilkan mungkin hanya mencerminkan sebagian data. Untuk mengetahui informasi selengkapnya, lihat Membaca data selama pengisian awal.

Populasi awal ini berjalan sebagai tugas latar belakang berprioritas rendah untuk meminimalkan efek pada performa cluster Anda. Untuk tabel besar, Anda dapat menambahkan lebih banyak node ke cluster untuk sementara guna mempercepat pembuatan tampilan.

Diagram berikut menunjukkan proses pembuatan tampilan terwujud berkelanjutan:

Proses pembuatan tampilan terwujud berkelanjutan di Bigtable.
Gambar 1. Proses pembuatan tampilan terwujud berkelanjutan di Bigtable (klik untuk memperbesar).

Misalnya, asumsikan bahwa tabel sumber Anda berisi baris dengan kunci yang mengikuti pola advertiser_id#region#ad_id dan satu grup kolom, data, yang mencakup penentu kolom spend_usd dengan data numerik yang mewakili pembelanjaan iklan:

Row key data:spend_usd
adv1#us-east#ad1 100
adv1#us-west#ad2 150
adv2#us-east#ad3 200

Jika Anda menggunakan kueri berikut untuk menentukan tampilan terwujud berkelanjutan dari tabel ini, populasi awal data sebesar 1 TB akan selesai dalam waktu sekitar tiga jam pada cluster dengan 175 node.

SELECT
          SPLIT(_key, "#")[SAFE_OFFSET(0)] AS advertiser_id,
          count(*) AS count,
          sum(cast(cast(data['spend_usd'] as string) as int64)) as sum_spend
        FROM `$0`
        GROUP BY advertiser_id

Karena Bigtable diskalakan secara linear, cluster 175 node memproses 2 TB data dalam waktu sekitar enam jam dan 10 TB dalam waktu sekitar 30 jam, dengan asumsi bahwa data memiliki bentuk yang serupa. Untuk mengurangi waktu yang diperlukan untuk populasi awal, Anda dapat menambahkan lebih banyak node ke cluster Anda untuk sementara atau, jika Anda menggunakan penskalaan otomatis, tingkatkan jumlah node maksimum untuk sementara.

Fungsi SQL non-deterministik

Secara default, tampilan terwujud berkelanjutan hanya mendukung fungsi deterministik untuk memastikan hasil yang konsisten di semua cluster dalam sebuah instance. Namun, Anda dapat memilih untuk menggunakan fungsi non-deterministik, seperti CLUSTER_ATTRIBUTE(), untuk memfilter data berdasarkan cluster yang memprosesnya. Untuk mengetahui informasi selengkapnya, lihat Kueri non-deterministik.

Untuk menggunakan fungsi ini, saat membuat tampilan terwujud berkelanjutan, Anda harus memahami potensi perbedaan semantik. Untuk mengetahui informasi selengkapnya, lihat Membuat tampilan terwujud berkelanjutan.

Penyimpanan

Untuk setiap tampilan terwujud berkelanjutan, Bigtable menyimpan hal berikut:

  • Data dalam tampilan terwujud berkelanjutan
  • Penyimpanan perantara

Seperti tabel Bigtable lainnya, tampilan terwujud berkelanjutan ada di semua cluster dalam instance yang memuatnya. Cluster dalam instance Anda harus memiliki node yang cukup untuk menyimpan tabel sumber dan tampilan terwujud berkelanjutan berdasarkan tabel tersebut. Penskalaan otomatis memungkinkan cluster Anda meningkatkan atau menurunkan skala seiring perubahan persyaratan penyimpanan.

Tampilan terwujud berkelanjutan harus dibuat dalam instance yang sama dengan tabel sumber, meskipun penyimpanan untuk tampilan terwujud berkelanjutan berbeda dengan tabel sumber.

Penyimpanan tampilan terwujud berkelanjutan

Tampilan terwujud berkelanjutan berisi data yang dihasilkan dari kueri SQL yang menjadi dasar tampilan terwujud berkelanjutan. Artinya, tabel ini berisi nilai gabungan yang ditentukan oleh klausa agregasi dalam kueri SQL dan nilai yang tidak digabungkan yang menentukan kunci pengelompokan.

Penyimpanan perantara

Untuk mendukung sinkronisasi tampilan terwujud berkelanjutan dengan tabel sumbernya, Bigtable menggunakan penyimpanan perantara untuk menyimpan salinan data yang diperlukan untuk melakukan update inkremental pada tampilan terwujud berkelanjutan.

Jumlah data dalam penyimpanan perantara kira-kira setara dengan jumlah data yang dipindai dalam tabel sumber untuk menghasilkan hasil kueri SQL yang menentukan tampilan terwujud berkelanjutan. Misalnya, jika kueri Anda menggabungkan data di seluruh tabel, Bigtable akan menyimpan data yang setara dengan seluruh tabel di penyimpanan perantara. Tampilan terwujud berkelanjutan berdasarkan kueri rentang atau kolom row key tertentu hanya menyimpan baris atau kolom tersebut dalam penyimpanan perantara.

Penyimpanan perantara bertahan selama masa aktif tampilan terwujud berkelanjutan untuk mendukung update inkremental pada tampilan secara efisien dan menyebarkan penghapusan dari tabel sumber ke tampilan terwujud berkelanjutan. Anda tidak dapat membaca data di penyimpanan perantara. Untuk mendapatkan insight tentang penggunaan penyimpanan perantara, lihat Metrik tampilan terwujud berkelanjutan.

Replikasi

Dalam instance yang menggunakan replikasi, tampilan terwujud berkelanjutan tidak direplikasi dengan cara yang sama seperti tabel. Sebagai gantinya, setiap cluster dalam instance memproses tampilan terwujud berkelanjutan secara independen, menggunakan salinan tabel sumbernya sendiri. Artinya, misalnya, data yang ditulis ke tabel sumber di cluster A direplikasi ke tabel di cluster B, lalu ke tampilan terwujud berkelanjutan di cluster B.

Biaya

Tidak ada biaya per resource untuk penggunaan tampilan terwujud berkelanjutan. Namun, pembuatan dan sinkronisasi tampilan terwujud berkelanjutan memerlukan pemrosesan dan penyimpanan, dan Anda akan dikenai tarif standar. Anda dapat memperkirakan peningkatan dalam hal berikut saat membuat tampilan terwujud berkelanjutan:

  • Penyimpanan - Anda akan dikenai biaya untuk menyimpan data dalam tampilan terwujud berkelanjutan dan untuk penyimpanan menengah. Untuk mengetahui informasi selengkapnya, lihat Penyimpanan.
  • Komputasi - Sinkronisasi berkelanjutan antara tabel sumber dan tampilan terwujud berkelanjutan memerlukan pemrosesan CPU, dan cluster Anda mungkin memerlukan lebih banyak node untuk menangani pekerjaan latar belakang tambahan.

Pada saat yang sama, Anda mungkin melihat beberapa pemrosesan pada tabel sumber menurun, seperti saat Anda tidak lagi melakukan pemindaian rentang data untuk melakukan komputasi berulang dan kueri lain yang kurang efisien. Anda juga dapat menghilangkan kebutuhan untuk menjalankan tugas pipeline, seperti Dataflow atau Spark, untuk menggabungkan data sumber dan menulisnya kembali ke Bigtable.

Untuk mengetahui informasi selengkapnya tentang harga, lihat harga Bigtable. Untuk metrik yang dapat membantu Anda memantau penggunaan tampilan terwujud berkelanjutan, lihat Metrik.

Metrik

Tampilan terwujud berkelanjutan melaporkan beberapa metrik utama ke Cloud Logging yang dapat Anda gunakan untuk memantau tampilan terwujud berkelanjutan.

Metrik Deskripsi
materialized_view/max_delay Batas atas penundaan pemrosesan untuk tampilan terwujud berkelanjutan
materialized_view/storage Jumlah data yang digunakan untuk penyimpanan tampilan terwujud berkelanjutan dalam byte
materialized_view/intermediate_storage Jumlah data yang digunakan oleh pemrosesan sementara untuk tampilan terwujud berkelanjutan dalam byte
table/materialized_view_intermediate_storage Jumlah data yang digunakan oleh pemrosesan sementara untuk tampilan terwujud berkelanjutan yang ditentukan pada tabel ini
materialized_view/user_errors Jumlah error dari data pengguna untuk tampilan terwujud berkelanjutan. Error pengguna mencegah data disebarkan ke tampilan.
materialized_view/system_errors Jumlah error dari sistem untuk tampilan terwujud berkelanjutan

Anda juga dapat menggunakan banyak metrik tabel Bigtable untuk memantau tampilan terwujud berkelanjutan, menggunakan ID tampilan terwujud berkelanjutan sebagai pengganti ID tabel. Secara khusus, tampilan terwujud berkelanjutan disertakan dalam perincian untuk metrik CPU, yang dapat membantu Anda memahami dampaknya. Metrik Bigtable untuk permintaan per detik, latensi, dan throughput dihasilkan saat Anda membaca tampilan terwujud berkelanjutan menggunakan metode ReadRows Data API. Untuk informasi selengkapnya, lihat Metrik.

Untuk mulai menggunakan Cloud Logging, lihat Ringkasan membuat kueri dan melihat log.

Batasan

  • Anda dapat membuat hingga 50 tampilan terwujud berkelanjutan per instance.
  • Anda dapat membuat hingga 5 tampilan terwujud berkelanjutan per tabel. Jika perlu, Anda dapat meminta penambahan batas ini dengan menghubungi Cloud Customer Care.
  • Saat Anda membuat tampilan tanpa _key yang ditentukan, kolom yang dipilih dalam tabel sumber tidak boleh berupa NULL. Untuk mengetahui informasi selengkapnya, lihat Row key yang ditentukan oleh klausa GROUP BY atau ORDER BY.
  • Anda tidak dapat mengubah kueri SQL yang menentukan tampilan terwujud berkelanjutan. Anda harus menghapus tampilan terwujud berkelanjutan dan membuat tampilan baru dengan perubahan Anda.
  • Anda tidak dapat membuat tampilan terwujud berkelanjutan dari tampilan terwujud berkelanjutan lainnya atau dari tampilan logis.
  • Kueri yang menentukan tampilan terwujud berkelanjutan tidak dapat menggunakan SELECT *.
  • Anda tidak dapat mengonfigurasi kebijakan pembersihan sampah memori untuk tampilan terwujud berkelanjutan. Semua retensi data diatur oleh kebijakan pembersihan sampah memori untuk tabel sumber dan pembersihan sampah memori sumber secara otomatis tercermin dalam tampilan terwujud berkelanjutan.
  • Anda tidak dapat membuat tampilan terwujud berkelanjutan pada tabel dengan perincian stempel waktu mikrodetik.

Langkah berikutnya