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));
亲爱的 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));