Timescale Cloud: 扩展版, 企业版
自托管产品
MST
分层存储还有一个更令人惊喜的特点:当您将数据保存在低成本对象存储层时,无论您的服务中运行的是高可用性副本还是读取副本,您都只需为该数据支付一次费用。我们称之为分层存储的节约倍增效应。
同样适用于分支,例如,您可以使用它们来运行测试或创建开发环境。创建一份(或多份)分支时,您不会为与主数据库共享的低成本存储中的数据付费。
如果您决定分层存储更多不在主数据库中的数据,您将需要支付将其存储在低成本层中的费用,但通过将数据从分支的高性能层移动到更便宜的对象存储层,您仍然会看到显著的成本节约。
一旦您将数据分层存储到低成本对象存储层,我们会在您的数据库目录中保留该数据的引用。
创建副本或分支主服务器只会复制我们为所有分层数据保存在目录中的引用和元数据。
在计费方面,我们只对分层存储的数据计算和计费一次,而不是对可能存在的每个数据引用都进行计费。
从分支中删除或取消分层数据块不会将其从引用同一数据块的任何其他服务器中删除。
您可以有一个、多个或零个服务器引用相同的数据块。
- 这意味着从分支中删除数据不会影响其他服务器(包括主服务器);它只是移除了对该数据的引用,从该分支的角度来看,这在所有意图和目的上等同于删除该数据。
- 主服务器和其他服务器不受影响,因为它们的目录中仍然保留着完整的引用和元数据。
- 只要至少有一个服务器引用数据,我们就绝不会在对象存储层中删除任何内容:数据只有在引用计数降至 0 时才会被永久删除(或我们内部称之为硬删除)。
如上所述,分层数据块在计费时只计算一次,因此,从分支中删除或取消分层与其它服务器共享的数据块不会影响计费,因为它从未被用于计费。
删除或取消分层仅在该分支上分层的数据块会按预期工作,并在下一节中详细介绍。
提醒一下,分层数据是不可变的 - 不存在更新数据这种操作。
您可以取消分层或删除数据块,在这种情况下,上一节中描述的内容涵盖了会发生什么。
您也可以分层新数据,此时分支会以与所有分支类似的方式偏离主数据库。
新分层的数据不与父服务器或同级服务器共享,这是为该服务器分层的新数据,出于计费目的,我们将其视为一个新对象。
如果您决定分层存储更多不在主数据库中的数据,您将需要支付将其存储在低成本层中的费用,但通过将数据从分支的高性能层移动到更便宜的对象存储层,您仍然会看到显著的成本节约。
与其他类型的存储分层类似,这种偏差不会发生在副本上,因为副本必须与主服务器保持一致,这就是为什么我们在讨论删除数据块或分层额外数据时没有提及副本。
如上所述,只要至少有一个服务器引用数据,我们就绝不会在对象存储层中删除任何内容。数据只有在引用计数降至 0 时才会被永久删除(或我们内部称之为硬删除)。
除此之外,我们还会将数据的硬删除延迟 14 天,以便在恢复或 PITR 的情况下,所有分层数据都可用。在这种恢复情况下,新的引用会添加到已删除的分层数据块中,因此它们不再是硬删除的候选对象。
数据软删除(即分层数据的引用数量降至 0)14 天后,我们才会硬删除分层数据。
关键词