配置垃圾回收
本页介绍了如何在 Bigtable 中查看、设置和更新垃圾回收政策。在阅读本页面内容之前,您应该先熟悉垃圾回收。
在使用 cbt
CLI 之前,请按照设置说明(包括创建 .cbtrc
文件的步骤)执行操作。
查看当前的垃圾回收政策
您可以使用 Google Cloud 控制台或 cbt
CLI 查看列族的垃圾回收政策。
控制台
如需查看列族的当前垃圾回收政策,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击表所在行中的
修改。点击要查看的列族旁边的
打开。查看完垃圾回收政策后,点击取消以退出。
cbt
您可以通过运行以下命令并用有效的表 ID 替换 TABLE_ID
来查找给定表的当前垃圾回收政策:
cbt ls TABLE_ID
设置垃圾回收政策
您可以使用 Google Cloud 控制台、cbt
CLI 或 Cloud Bigtable 客户端库设置垃圾回收政策。
根据存在时间回收垃圾
以下部分示例展示了如何设置列族中数据的最长存在时间。
控制台
要为列族中的单元设置到期时间,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击
“修改”。点击要修改的列族旁边的
打开。选择基于存在时间的政策。
在存在时间上限字段中输入数字,并使用单位下拉菜单选择时间单位。
例如,要将列族的数据保留 30 分钟,请输入 30 并选择分钟。
点击保存。
cbt
以下示例会创建一个名为 cf1
的列族,然后将列族中数据的最长存在时间设置为 5 天。这会指示 Bigtable 移除此列族的所有列中时间戳超过 5 天的所有数据。
cbt createfamily your-table cf1
cbt setgcpolicy your-table cf1 maxage=5d
Go
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
根据版本数回收垃圾
以下部分介绍如何创建具有说明要保留的数据版本数或单元格数的垃圾回收政策的列族。
控制台
如需设置要在列族中保留的单元(版本)数,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击表所在行中的
修改。点击要修改的列族旁边的
打开。选择基于版本的政策。
输入列族中每列要保留的单元格数量。
点击保存。
cbt
此示例会创建一个名为 cf2
的列族,然后将列族的版本数设置为二。这会指示 Bigtable 移除此列族的所有列中的所有单元,两个最新单元除外。
cbt createfamily your-table cf2
cbt setgcpolicy your-table cf2 maxversions=2
此示例设置了相关政策以移除最新单元之外的所有单元。
cbt setgcpolicy your-table cf2 maxversions=1
Go
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
根据多个条件回收垃圾
以下部分示例演示了如何创建具有交叉式垃圾回收政策的列族。
控制台
如需为列族中的单元格设置交叉式垃圾回收政策,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击表所在行中的
修改。点击要修改的列族旁边的
打开。选择自定义政策。
在文本区域中输入垃圾回收规则,为
maxage
和/或maxversions
设置值。可接受的存在时间单位包括 ms、s、m、h 和 d,代表毫秒、秒、分钟、小时和天。例如,如需移除存在时间超过 5 天且早于两个最新单元格的单元格,请输入以下内容。单元格必须符合两个条件才能移除。
maxage=5d and maxversions=2
点击保存。
cbt
此示例会创建一个名为 cf4
的列族,然后设置垃圾回收政策以移除特定单元格,这些单元格的存在时间超过五天且早于列族的所有列中的两个最新单元格。单元格必须符合两个条件才能移除。
cbt createfamily your-table cf4
cbt setgcpolicy your-table cf4 maxage=5d and maxversions=2
此示例将设置一项政策,以移除最新单元格之外所有存在时间超过 14 天的单元格。
cbt setgcpolicy your-table cf4 maxage=14d and maxversions=1
Go
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下部分介绍了如何创建具有联合式垃圾回收政策的列族。
控制台
如需为列族中的单元格设置联合式垃圾回收政策,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击表所在行中的
修改。点击要修改的列族旁边的
打开。选择自定义政策。
在文本区域中输入垃圾回收规则,为
maxage
和/或maxversions
设置值。可接受的存在时间单位包括 ms、s、m、h 和 d,代表毫秒、秒、分钟、小时和天。例如,如需移除存在时间超过 5 天或早于两个最新单元格的单元格,请输入以下内容。单元格必须符合任一条件才能移除。
maxage=5d or maxversions=2
点击保存。
cbt
此示例会创建一个名为 cf3
的列族,然后设置垃圾回收政策,以移除存在时间超过 5 天或早于两个最新单元格的单元格。单元格必须符合任一条件才能移除。
cbt createfamily your-table cf3
cbt setgcpolicy your-table cf3 maxage=5d or maxversions=2
此示例会设置政策以移除最新单元格值以外的所有单元格值,而且甚至会移除存在时间超过一秒钟的最新单元格。
cbt setgcpolicy your-table cf3 maxversions=1 or maxage=1s
Go
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
以下部分展示了如何创建具有嵌套式垃圾回收政策的列族。嵌套式垃圾回收政策同时包含联合式规则和交叉式规则。
控制台
如需为列族中的单元格设置嵌套式垃圾回收政策,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其表的实例。
在左侧窗格中,点击表。
“表”页面显示实例中的表列表。
点击表所在行中的
修改。点击要修改的列族旁边的
打开。选择自定义政策。
在文本区域中输入垃圾回收规则,为
maxage
和/或maxversions
设置值。可接受的存在时间单位包括 ms、s、m、h 和 d,代表毫秒、秒、分钟、小时和天。例如,要保留两个最新单元格,即使两个单元格都存在超过一分钟,或者保留 10 个最新单元格,只要这些单元格的存在时间少于一分钟,请输入以下内容:
(maxage=1m and maxversions=2) or maxversions=10
点击保存。
cbt
此示例会创建一个名为 cf5
的列族,然后设置一项垃圾回收政策以移除列族中满足以下任一条件的单元格:
- 早于 10 个最新单元格
- 存在时间超过一分钟,且晚于两个最新的单元格
换句话说,此政策可保留两个最新单元格,即使两个单元格都存在超过一分钟,或者保留 10 个最新单元格,只要这些单元格的存在时间少于一分钟。
cbt createfamily your-table cf5
cbt setgcpolicy your-table cf5 "(maxage=1m and maxversions=2) or
maxversions=10"
Go
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
更新垃圾回收政策
以下示例演示了如何修改现有的垃圾回收政策。
如需延长使用复制的表中列族的保留期限,您必须确认有关集群可能会出现不同步的警告。新值不得晚于当前值 90 天。如需了解详情,请参阅更改基于年龄的政策。
控制台
如需更新列族的垃圾回收政策,请按以下步骤操作。
cbt
cbt setgcpolicy your-table cf1 maxage=1d
如果您在已复制表中增加 maxage
的值,则必须使用可选的 force
标志。新值不得晚于当前值 90 天。
Java
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Python
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C#
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
C++
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Node.js
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
PHP
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
Ruby
如需了解如何安装和使用 Bigtable 的客户端库,请参阅 Bigtable 客户端库。
如需向 Bigtable 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。