RDB 持久化简介

本页简要介绍了 Memorystore for Valkey 上的 RDB 持久性。

如需了解如何启用、停用和监控 RDB 持久化,请参阅 管理持久化

如需了解 RDB 持久性的最佳实践,请参阅 持久性最佳实践

RDB 持久性功能通过将数据的快照保存到持久性存储空间来保护您的数据。您可以选择这些快照的生成频率 快照时间间隔介于 1 小时到 24 小时之间。如果发生节点故障,即使无法进行故障切换,系统也会恢复数据。

具有副本的节点会优先从副本恢复数据。但是,如果主节点和副本节点同时发生故障,则节点会从最新的快照恢复。

RDB 持久化不会增加实例结算的费用。此功能非常适用于在恢复后可以接受一定程度的数据过时情况的用例。由于 Memorystore 使用快照进行自动恢复,因此快照无法用于手动恢复。您还应注意,系统只会保留最近一次成功创建的快照。

Memorystore for Valkey 也支持 AOF 持久化,但您必须选择 AOF 或 RDB 持久化模式,因为无法同时启用这两种模式。如需了解如何在两种持久化模式之间进行选择,请参阅 持久性概览。 为了获得尽可能高的可用性,我们建议您使用 高可用性实例 除了支持持久化之外

快照调度

快照计划由两项设置决定:快照开始时间和 快照间隔时间。您可以设置的间隔时间包括 1h6h12h24h。例如,如果您将开始时间设为凌晨 4 点,将时间间隔设为一 快照就会从启用当天的凌晨 4 点开始, 。

快照时间表是在世界协调时间 (UTC) 时区进行评估的,因此采用夏令时制度的本地时区将会出现时间表调整。例如,在美国 DST 开始和结束时,如果您的时区遵循 DST 变化,快照时间表作业的本地开始时间会向前或向后移动 1 小时。

暂停快照

在某些情况下,您可能需要暂时暂停在特定时间段内创建 RDB 快照。这是为了确保在关键事件期间不会产生性能影响,或者暂时停用快照以排查性能问题。

如需暂停快照,您必须将开始时间设置为未来的时间。如果这样做,则最后一个快照会保留,并在恢复时使用。如需恢复快照,请将快照时间表调整为 生成下一个快照的时间。如需详细了解如何调整快照时间表,请参阅调整 RDB 快照时间间隔

恢复行为

Memorystore for Valkey 节点会作为主要恢复机制故障切换到副本,而不是从快照进行加载。不过,如果某个节点发生故障并且无法从副本恢复,该节点会从快照恢复。

恢复时的数据一致性

启用 RDB 持久化后,系统会尽最大努力确保按指定的时间间隔执行备份。 快照失败的原因有很多。如果快照在多个时间间隔内连续失败,则最后一个可用备份可以任意过时。

从快照恢复的最坏情况数据过时是自上一个良好快照开始以来指定时间间隔以及将下一个快照保存到存储空间的时间的总和。进行恢复时 请使用 rdb_last_success_ages 指标以查看数据过时的时间范围。

恢复时间

如果节点发生故障并需要从快照恢复数据,则该节点在恢复期间不可用。恢复时间取决于快照的大小。

快照失败

系统会立即重试任何失败的快照,并使用指数退避算法(从 5 秒到 300 秒)来延长重试间隔时间。连续快照故障会增加恢复时数据过时的情况。

恢复故障

恢复故障的情况很少见,但可能会发生。如果发生恢复失败,节点会反复重试,直到成功恢复。

监控快照

请务必监控快照并为失败的快照设置提醒。如需了解 RDB 持久性的最佳实践,请参阅 RDB 持久性最佳实践。失败的快照可能表示过载的节点可能仍然无法从 快照。

如需查看可用于监控快照的指标列表,请参阅 持久性指标

管理性能影响

您可以通过查看 Cloud Monitoring 提供的指标(例如 CPU 用量和内存用量),来监控快照对 Memorystore 实例的性能影响。