Menggabungkan nilai pada waktu tulis
Dokumen ini memberikan ringkasan tentang cara menggabungkan data Bigtable pada waktu tulis. Sebelum membaca dokumen ini, pastikan Anda sudah memahami ringkasan Bigtable.
Banyak aplikasi melacak metrik operasional yang mendorong kasus penggunaan, termasuk pelaporan dalam aplikasi, rekomendasi real-time, dan pembatasan kapasitas. Contoh metrik operasional tersebut meliputi:
- Pengguna aktif mingguan
- Jumlah tayangan iklan
- Penayangan atau pembagian konten media sosial
- Jumlah streaming media
Anda dapat menggunakan metrik ini dalam aplikasi yang ditampilkan kepada pengguna atau sebagai input untuk 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.
Dengan menggabungkan data Bigtable pada waktu penulisan, Anda dapat menghindari kebutuhan untuk menggunakan software ekstrak, transformasi, dan pemuatan (ETL) atau pemrosesan streaming untuk menggabungkan data sebelum atau setelah Anda menulisnya ke Bigtable. Misalnya, jika aplikasi Anda memublikasikan pesan ke Pub/Sub sebelumnya, lalu menggunakan Dataflow untuk membaca pesan dan menggabungkan data sebelum menulisnya ke Bigtable, Anda dapat mengirim data langsung ke sel agregat di Bigtable.
Jenis data yang direplikasi tanpa konflik
Bigtable memungkinkan Anda membuat grup kolom yang hanya berisi sel jenis agregat. Sel gabungan adalah struktur jenis data replika bebas konflik yang dioptimalkan untuk update 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 menangani nilai yang baru ditulis.
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 kumpulan probabilistik dari semua nilai yang ditambahkan sejak reset terbaru. Nilai sel mewakili status set tersebut. Untuk mengetahui informasi umum lebih lanjut tentang algoritma HLL, lihat HyperLogLog. Anda dapat membaca nilai HLL menggunakan Library Zetasketch. |
Jenis mutasi yang dapat Anda kirim untuk membuat dan memperbarui sel gabungan adalah
AddToCell
dan
MergeToCell
.
Untuk mulai melakukan penghitungan di Bigtable, lihat panduan memulai Membuat dan memperbarui penghitung di Bigtable.
Membaca lalu menulis
Cara lain untuk menggabungkan data pada waktu penulisan adalah dengan menggunakan permintaan ReadModifyWriteRow, yang memungkinkan Anda memanipulasi nilai sel dengan menambahkan atau menambahkan nilai secara transaksional. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan pendekatan ini, lihat Penyambungan.
Tampilan terwujud berkelanjutan
Tampilan terwujud berkelanjutan adalah hasil kueri SQL yang telah dihitung sebelumnya yang menggabungkan data dalam tabel sumber. Tampilan terus memproses data saat dimasukkan ke dalam tabel sumber dan mengelompokkan pembaruan. Hal ini mencakup update dan penghapusan. Menggunakan tampilan terwujud berkelanjutan dapat meningkatkan performa dan efisiensi. Untuk informasi selengkapnya, lihat Tampilan terwujud berkelanjutan.
Langkah berikutnya
- Lihat contoh kode yang menunjukkan cara menambahkan nilai ke sel agregat.
- Tinjau konsep yang terkait dengan desain skema.