Google Cloud Spanner table 是否为所需数据设置了任何 TTL(生存时间)或 table

Is Google Cloud Spanner table have any TTL(Time to Live) setup for required data or table

亲爱的 Cloud Spanner 支持

Google Cloud Spanner table 上是否有 TTL(生存时间)选项。

如果是,请提供任何其他信息

谢谢 斯雷尼

抱歉,目前不支持。建议将此作为功能请求提交给 Google Public Issue Tracker 中的工程团队。

假设我们有以下场景: 你有 table 说 load_date 并且当 load_date < now - 30 时应该删除数据 您可以创建仅包含一列 load_date 的父项 table(如果需要,可能还会在这一天添加一些额外的统计数据)——在此之后,您可以创建包含所有信息和级联删除的交错子项 table 因此,当您需要清理子项 table 时,您只需从父项中删除一条记录,所有相关数据将自动从子项中删除

CREATE TABLE parent (
  parent_id STRING(MAX) NOT NULL,
  load_time TIMESTAMP
) PRIMARY KEY(parent_id);

CREATE TABLE child (
  parent_id STRING(MAX) NOT NULL,
  child_id INT64 NOT NULL,
  data_1 STRING(MAX) NOT NULL,
  data_2 INT64 NOT NULL
) PRIMARY KEY(parent_id, child_id),
  INTERLEAVE IN PARENT parent ON DELETE CASCADE;

截至 21-July-2021, Cloud Spanner supports table TTL (in public preview) via the ROW DELETION POLICY clause of CREATE TABLE or ADD DELETION POLICY clause of ALTER TABLE

有关其他信息,请参阅 Cloud Documentation

CREATE TABLE MyTable(
  Key INT64,
  CreatedAt TIMESTAMP,
) PRIMARY KEY (Key)
, ROW DELETION POLICY (OLDER_THAN(CreatedAt, INTERVAL 30 DAY));