Hanya menyimpan nilai terbaru
Halaman ini menjelaskan strategi yang memungkinkan Anda hanya menyimpan nilai terbaru di kolom dalam tabel Bigtable.
Semua library klien Cloud Bigtable memungkinkan Anda menggunakan filter untuk membaca nilai terbaru, atau sel, di baris dan kolom tertentu. Namun, dalam beberapa kasus, Anda mungkin tidak perlu membaca data versi lama. Anda dapat menggunakan kebijakan pembersihan sampah berbasis versi yang menentukan untuk hanya menyimpan satu sel dalam kolom, tetapi karena pembersihan sampah dapat memerlukan waktu hingga satu minggu, dalam praktiknya tabel Anda mungkin berisi data lama yang tidak pernah Anda rencanakan untuk dibaca.
Untuk hanya menyimpan nilai terbaru, sebaiknya gunakan pendekatan hapus lalu tulis untuk membatasi kolom dalam tabel hanya ke satu sel.
Menghapus, lalu menulis
Untuk hanya mempertahankan satu nilai dalam kolom, Anda dapat mengirim permintaan yang menghapus kolom, lalu membuatnya ulang dengan nilai dan stempel waktu baru dalam satu tindakan atomik.
Contoh pseudocode Java berikut menunjukkan cara kerjanya. Urutan ini penting: penghapusan harus terjadi sebelum penulisan.
RowMutation mutation = RowMutation.create(TABLE, ROW_KEY)
.deleteCells(COLUMN_FAMILY, COLUMN_QUALIFIER, Range.TimestampRange.unbounded())
.setCell((COLUMN_FAMILY, COLUMN_QUALIFIER, TIMESTAMP, VALUE);
dataClient.mutateRow(mutation);
Berikan hal berikut:
TABLE
: ID tabelCOLUMN_FAMILY
: grup kolom yang berisi kolomCOLUMN_QUALIFIER
: penentu kolom yang akan dihapus dan dibuat ulangTIMESTAMP
: stempel waktu baruVALUE
: nilai baru untuk kolom
Stempel waktu nol
Sebelumnya, kami merekomendasikan strategi untuk selalu mengirim operasi tulis dengan stempel waktu 0. Anda masih dapat menggunakan pendekatan tersebut, tetapi karena stempel waktu yang valid berguna, sebaiknya gunakan pendekatan hapus lalu tulis.
Jika Anda menetapkan stempel waktu untuk sel ke 0 atau nilai apa pun yang kurang dari waktu saat ini dalam milidetik dan juga menggunakan kebijakan pembersihan sampah memori berbasis usia, sel Anda mungkin akan dihapus saat pembersihan sampah memori terjadi lagi.
Langkah selanjutnya
- Baca ringkasan permintaan tulis.
- Lihat contoh permintaan tulis lainnya.
- Pelajari dokumentasi referensi klien Cloud Bigtable untuk Java.