最新の値のみを保持する

すべての Cloud Bigtable クライアント ライブラリでは、フィルタを使用して特定の行と列の最新の値を読み取ることができます。場合によっては、古いバージョンのデータを読み取る必要がないこともあります。必要のない古いデータを格納するための料金が発生しないように、このページの戦略を使用してデータを削除してください。

このページを読む前に、ガベージ コレクションの概要をご覧ください。

ゼロのタイムスタンプ

値のバージョンは 1 つしか保持したくないが、ガベージ コレクションが以前のバージョンを削除するのを待ちたくない場合は、データを書き込むたびにタイムスタンプをゼロに設定できます。この場合、新しい書き込みによって古い書き込みがすぐに消えるため、読み取りでは各列につき 1 つの値が返されるだけです。それでも、前のデータが書き込まれてからの経過期間によっては、古い書き込みがテーブルのスペースを占有しなくなるまで、コンパクションを待つことが必要な場合があります。

長所

  • 列の最新の値を 1 つしか読み取ることができないため、データの読み取り時にフィルタを使用する必要はありません。
  • 既存のセルを上書きするたびに古いデータをすでに削除しているので、この場合、ガベージ コレクション ポリシーを設定する必要はありません。
  • ガベージ コレクションが行われていないデータ用のストレージ費用がかかることがありません。

短所

  • セルの以前の値はすぐに上書きされ、取得できません。
  • タイムスタンプは日付と時刻ではないため、値の古さを判断するなど、他のユースケースにセルのタイムスタンプを使用することはできません。回避策として、実際のタイムスタンプを別の列に書き込めますが、そうすると格納するデータ量が増えます。

次のステップ