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 tabel
  • COLUMN_FAMILY: grup kolom yang berisi kolom
  • COLUMN_QUALIFIER: penentu kolom yang akan dihapus dan dibuat ulang
  • TIMESTAMP: stempel waktu baru
  • VALUE: 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