在線上遷移期間驗證資料一致性 - Amazon Keyspaces (適用於 Apache Cassandra)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在線上遷移期間驗證資料一致性

線上遷移程序的下一個步驟是資料驗證。雙重寫入正在將新資料新增至 Amazon Keyspaces 資料庫,而且您已完成歷史資料的遷移,無論是使用大量上傳或搭配 TTL 的資料過期。

現在,您可以使用驗證階段來確認兩個資料存放區實際上都包含相同的資料,並傳回相同的讀取結果。您可以從下列兩個選項之一進行選擇,以驗證兩個資料庫是否包含相同的資料。

  • 雙重讀取 – 若要驗證來源和目的地資料庫是否包含相同的一組新寫入和歷史資料,您可以實作雙重讀取。若要這樣做,您可以從主要 Cassandra 和次要 Amazon Keyspaces 資料庫讀取,類似於雙重寫入方法,並以非同步方式比較結果。

    來自主要資料庫的結果會傳回給用戶端,而來自次要資料庫的結果會用來驗證主要結果集。找到的差異可以記錄或傳送至無效字母佇列 (DLQ) 以供日後調校。

    在下圖中,應用程式正在從主要資料存放區 Cassandra 執行同步讀取),並從次要資料存放區 Amazon Keyspaces 執行非同步讀取。

    在從 Apache Cassandra 線上遷移至 Amazon Keyspaces 期間,使用雙重讀取來驗證資料一致性。
  • 範例讀取 – 不需要變更應用程式程式碼的替代解決方案是使用 AWS Lambda 函數,定期和隨機地從來源 Cassandra 叢集和目的地 Amazon Keyspaces 資料庫取樣資料。

    這些 Lambda 函數可設定為定期執行。Lambda 函數會從來源和目的地系統擷取資料的隨機子集,然後執行取樣資料的比較。兩個資料集之間的任何差異或不相符都可以記錄並傳送到專用無效字母佇列 (DLQ),以供日後調校。

    下表說明此程序。

    使用範例讀取來驗證從 Apache Cassandra 到 Amazon Keyspaces 的 和線上遷移期間的資料一致性。