關於 RDB 持久性

本頁面概略說明 Memorystore for Redis Cluster 的 Redis 資料庫 (RDB) 永久性。

RDB 持久性會將快照儲存至持久儲存空間,藉此保護資料。您可以選取快照間隔,選擇這些快照的頻率,範圍從最短 1 小時到最長 24 小時。

含有副本的節點會優先從副本復原資料。不過,如果主要執行個體和副本同時故障,節點會從最近的快照復原。

如果擴充叢集,則在下一個排定的快照時間之前,快照不會包含新的 shard。如果啟用或停用叢集的持續性功能,叢集可能需要執行維護作業。如要進一步瞭解如何啟用及停用 RDB 持續性,請參閱「管理持續性」。

RDB 持續性不會增加帳單費用。這項功能適合用於復原後可接受少量資料過時的情況。Memorystore for Redis Cluster 會使用快照進行自動復原,因此無法手動還原快照。此外,Memorystore for Redis Cluster 只會保留最新的快照。

Memorystore for Redis Cluster 也支援 AOF 持續性,但您必須選擇 AOF 或 RDB 持續性。您無法同時啟用這兩種持續性模式。如要進一步瞭解如何選擇持續性模式,請參閱「持續性總覽」。

為盡可能提高可用性,建議您除了啟用持續性功能外,也使用高可用性叢集。詳情請參閱「高可用性和副本」。

快照排程

快照開始時間和快照間隔會決定快照排程。您可以設定的快照時間間隔為 1h、6h、12h 和 24h。舉例來說,如果您將開始時間設為凌晨 4 點,間隔設為一小時,則快照會在您啟用 RDB 永久性的當天凌晨 4 點開始,並在之後每小時繼續執行。

Memorystore for Redis Cluster 會以世界標準時間 (UTC) 時區評估快照排程。因此,如果您的時區會配合日光節約時間 (DST) 調整,則快照排程工作的當地開始時間會在 DST 開始和結束時提前或延後一小時。

暫停快照

您可能需要暫時停止建立 RDB 快照。舉例來說,您可以暫停快照,以免在重大事件期間影響效能,或排解效能問題。

如果將開始時間設為未來,暫停建立快照,Memorystore for Redis Cluster 會保留最後一個快照。如果節點故障且無法從副本復原資料,就會使用這個快照復原資料。如要繼續建立快照,請調整快照排程,設定下次建立快照的時間。詳情請參閱「調整 RDB 快照間隔」。

復原行為

Memorystore for Redis Cluster 節點會容錯移轉至副本,做為主要復原機制,而非從快照載入資料。不過,如果節點故障且無法從副本復原資料,則會從快照復原資料。

復原時的資料一致性

啟用 RDB 持續性後,叢集會盡可能按照指定的時間間隔建立快照。由於 RDB 快照是時間點備份,因此 Memorystore for Redis Cluster 復原資料後,應用程式必須能容許部分資料過時。

快照失敗的原因有很多。如果快照在多個間隔內連續失敗,則最後一個可用的快照可能會任意過時。

從快照復原資料時,資料過時的最壞情況是自上次良好快照開始後指定的時間間隔,加上將下一個快照儲存至儲存空間所需的時間。如果發生復原事件,請使用 rdb_save_ages 指標查看資料過時的時間範圍。如要進一步瞭解這項指標,請參閱「持續性指標」。

復原時間

如果節點故障,需要從快照復原資料,則節點在復原期間無法使用。復原時間取決於快照大小。

快照失敗

Memorystore for Redis Cluster 會立即重試失敗的快照,並使用 5 到 300 秒的指數輪詢。如果發生復原,連續快照失敗會增加資料過時。

復原失敗

復原失敗的情況很少見,但仍有可能發生。如果復原失敗,節點會重複嘗試從快照復原資料,直到成功為止。

監控快照

建議您監控快照,並設定快照失敗快訊。快照失敗可能表示節點超載,可能仍難以復原資料。

如要進一步瞭解 RDB 永久保存的最佳做法,請參閱「永久保存最佳做法」。如需可用於監控快照的指標清單,請參閱「持續性指標」。

效能影響

您可以使用 Cloud Monitoring 查看 CPU 使用率和記憶體用量等指標,監控快照對叢集效能的影響。