仅保留最新值

所有 Cloud Bigtable 客户端库都可让您使用过滤条件来读取指定行和列的最新值。在某些情况下,您可能不需要读取旧版数据。为了避免系统因存储您不再需要的旧版数据而向您收取费用,请按照本页面中提供的策略移除此类数据。

在阅读本页内容之前,请先查看垃圾回收概览

时间戳为零

如果您只想保留一个版本的值,并且不想等待垃圾回收来移除以前的版本,可以在每次写入数据时将时间戳设置为零 (1970-01-01 00:00:00 UTC)。在这种情况下,新的写入会立即隐藏旧数据,因此读取操作只会返回每列的单个值。但您可能仍需要等待压缩操作,才能停止旧的写入数据占用表空间和产生存储费用,具体取决于先前数据的写入时间。

优点

  • 读取数据时不需要使用过滤条件,因为您只能读取列的单个最新值。
  • 在这种情况下,您不需要设置垃圾回收政策,因为每次对现有单元执行写操作时,您都已经移除了旧数据。

缺点

  • 单元格的先前值会立即被覆盖,而且无法再检索。
  • 由于时间戳并非日期和时间,因此您无法将单元格的时间戳用于其他任何用例,例如确定值的存在时间。如需解决该问题,您可以将实际时间戳写入单独的列中,但这会增加您存储的数据量。

后续步骤