RDB 持久化简介

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

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

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

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

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

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

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

快照时间表

快照时间表由两个设置决定:快照开始时间和快照间隔。您可以设置的时间间隔包括 1h6h12h24h。例如,如果您将开始时间设为凌晨 4 点,将间隔时间设为 1 小时,则快照将从启用当天凌晨 4 点开始,之后每小时继续创建一次。

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

暂停快照

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

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

恢复行为

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

恢复时的数据一致性

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

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

恢复时间

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

快照失败

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

恢复故障

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

监控快照

请务必监控快照并针对失败的快照设置提醒。如需了解 RDB 持久性的最佳实践,请参阅 RDB 持久性最佳实践。失败的快照可能表明过载的节点可能仍然难以从快照恢复。

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

管理性能影响

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