存储空间利用率指标

本页面介绍了 Spanner 提供的存储空间利用率指标。

存储空间指标

Spanner 提供以下存储指标:

  • 数据库总存储空间:数据库或实例中的数据库中存储的数据量。这受存储空间上限的限制。
  • 总备份存储空间:与实例或数据库关联的备份所存储的数据量。备份存储空间是单独存储和结算的,可存储的数据量没有限制。

您可以在 Google Cloud 控制台Cloud Monitoring 控制台中查看这些指标的图表。

此外,数据库存储空间利用率会显示在 Cloud 控制台的实例实例详情页面中。

转到“实例”页面

关于数据保留和存储大小的说明

如果您使用上述存储指标频繁检查数据大小,则可能会遇到与您的预期相反的结果。例如,即使您最近未移除任何数据,也可能会看到报告的数据库总存储空间明显减少。相反,在执行大量删除操作后,您可能会看到其大小立即保持相对不变。

这些影响源于 Spanner 对多版本存储的支持。多版本存储会将所有已删除或覆盖的数据保留在存储空间中并限时可用,以便启用可让您读取先前数据值的功能,例如过时读取时间点恢复。执行大量数据删除不会立即反映在数据库的存储指标中。同样,数据库总大小明显没有下降,这可能意味着 Spanner 的常规数据压缩过程最近清理了可追溯至几天前删除或覆盖的大量数据。

Spanner 保证在 version_retention_period 选项定义的时间间隔(默认为 1 小时)内,已删除或覆盖的数据持续可用性。它会每隔几天自动运行一个后台进程,以永久移除所有早于此版本保留间隔的过时数据。

创建存储空间提醒

您可以在 Cloud Monitoring 控制台中创建存储提醒。我们还提供了一种直接通过 Google Cloud 控制台创建数据库存储提醒的简单方法。图表中的创建提醒政策链接(见屏幕截图)会将您转到 Cloud Monitoring 控制台中的“创建提醒”页面,并自动预填充相关字段。

我们建议您将数据库的总存储空间保持在存储空间上限以下。这样可以确保 Spanner 有足够的余量来正常运行并对数据执行日常维护。

如果您接近此上限,Spanner 可能会阻止您执行超出上限的操作,例如:

  • 从备份中恢复数据库。
  • 修改数据库的架构(例如,添加索引)。
  • 降低实例的计算容量

如果您超出了存储空间限制,Spanner 将尝试正常运行,但由于资源压力,您可能会遇到性能下降或故障。如果您确实接近或超过建议的上限,Google Cloud 控制台在显示受影响的实例时会显示警告“该实例已达到其最大存储容量,并且可能体验降级”。

您还可以在 Cloud Monitoring 中创建提醒来通知您。

降低数据库存储空间利用率

如需降低实例的数据库存储空间利用率,您可以:

  • 添加更多计算容量
  • 删除数据库。
  • 从数据库中删除数据。请注意,即使从可见性的角度来看,数据删除会立即生效,但在 Spanner 完成数据压缩(通常在 12 小时内,但在某些情况下可能需要更长时间)之前,它不会对存储空间利用率指标产生影响。因此,您可能会注意到,从数据删除到更改出现在指标中,存在一定的延迟。

通常,我们建议您首先将计算容量添加到实例中。添加计算容量后,您可以调查并解决存储利用率过高的根本原因。

如果要自动执行此过程,您可以创建一个应用来监控数据库存储空间利用率,然后使用 UpdateInstance 方法根据需要添加和移除计算容量。

后续步骤