Menggabungkan nilai pada waktu penulisan
Dokumen ini memberikan ringkasan tentang cara menggabungkan data Bigtable pada waktu tulis. Sebelum membaca dokumen ini, pastikan Anda memahami ringkasan Bigtable.
Banyak aplikasi melacak metrik operasional yang mendorong kasus penggunaan, termasuk pelaporan dalam aplikasi, rekomendasi real-time, dan pembatasan kecepatan. Contoh metrik operasional tersebut meliputi:
- Pengguna aktif mingguan
- Jumlah tayangan iklan
- Tampilan atau pembagian konten media sosial
- Jumlah streaming media
Anda dapat menggunakan metrik ini dalam aplikasi yang ditampilkan kepada pengguna atau sebagai input ke model machine learning, dan penggunaannya biasanya memerlukan latensi rendah dan throughput tinggi. Karena penghitungan jenis metrik ini pada waktu kueri tidak praktis dalam skala besar, pra-agregasi selama penyerapan data adalah pendekatan yang lebih disukai untuk sistem real-time.
Bigtable menawarkan beberapa cara untuk menggabungkan data pada waktu penulisan, termasuk jenis data yang direplikasi bebas konflik, permintaan ReadModifyWriteRow, dan tampilan terwujud berkelanjutan.
Menggabungkan data Bigtable saat penulisan menghilangkan kebutuhan akan software pemrosesan streaming atau extract, transform, and load (ETL) untuk menggabungkan data Anda sebelum atau setelah Anda menulisnya ke Bigtable. Jika aplikasi Anda menggunakan Dataflow untuk menggabungkan data streaming sebelum menulisnya ke Bigtable, Anda dapat mengirim data langsung ke sel gabungan di Bigtable.
Jenis data yang direplikasi bebas konflik
Bigtable memungkinkan Anda membuat grup kolom yang hanya berisi sel jenis aggregate. Sel gabungan adalah struktur jenis data yang direplikasi bebas konflik yang dioptimalkan untuk pembaruan inkremental.
Jika Anda bermigrasi ke Bigtable dari database seperti Apache Cassandra, Redis, atau Valkey, struktur serupa dalam sistem tersebut disebut sebagai penghitung.
Tabel berikut mencantumkan operasi yang didukung dan cara nilai yang baru ditulis ditangani.
Operasi |
Deskripsi |
|---|---|
Jumlah |
Nilai sel diganti dengan jumlah nilai yang baru ditambahkan dan nilai sel saat ini. |
Minimum |
Nilai sel diganti dengan nilai yang lebih rendah antara nilai yang baru ditambahkan dan nilai sel saat ini. |
Maksimum |
Nilai sel diganti dengan nilai yang lebih tinggi antara nilai yang baru ditambahkan dan nilai sel saat ini. |
HyperLogLog |
Nilai yang ditulis ditambahkan ke set probabilistik semua nilai yang ditambahkan sejak reset terakhir. Nilai sel merepresentasikan status set tersebut. Untuk mengetahui informasi umum selengkapnya tentang algoritma HLL, lihat HyperLogLog. Anda dapat membaca nilai HLL menggunakan Zetasketch Library. |
Jenis mutasi yang dapat Anda kirim untuk membuat dan memperbarui sel gabungan adalah
AddToCell
dan
MergeToCell.
Untuk mulai menghitung di Bigtable, lihat panduan memulai Membuat dan memperbarui penghitung di Bigtable.
Baca lalu tulis
Cara lain untuk menggabungkan data pada waktu penulisan adalah dengan menggunakan permintaan ReadModifyWriteRow, yang memungkinkan Anda memanipulasi nilai sel dengan menaikkan atau menambahkan nilai secara transaksional. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan pendekatan ini, lihat Penambahan.
Tampilan terwujud berkelanjutan
Tampilan terwujud berkelanjutan adalah hasil yang telah dihitung sebelumnya dari kueri SQL yang menggabungkan data dalam tabel sumber. Tampilan terus memproses data saat data dimasukkan ke dalam tabel sumber dan mengelompokkan pembaruan. Hal ini mencakup update dan penghapusan. Penggunaan tampilan terwujud berkelanjutan dapat meningkatkan performa dan efisiensi. Untuk mengetahui informasi selengkapnya, lihat Tampilan terwujud berkelanjutan.
Langkah berikutnya
- Lihat contoh kode yang menunjukkan cara menambahkan nilai ke sel gabungan.
- Tinjau konsep yang terkait dengan desain skema.