離線遷移程序:將 Apache Cassandra 遷移至 Amazon Keyspaces - Amazon Keyspaces (適用於 Apache Cassandra)

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

離線遷移程序:將 Apache Cassandra 遷移至 Amazon Keyspaces

當您可以負擔執行遷移的停機時間時,離線遷移是合適的。企業之間通常會有修補、大型版本或停機時間的維護時段,以進行硬體升級或重大升級。離線遷移可以使用此視窗複製資料,並將應用程式流量從 Apache Cassandra 切換到 Amazon Keyspaces。

離線遷移可減少對應用程式的修改,因為它不需要同時與 Cassandra 和 Amazon Keyspaces 通訊。此外,在資料流程暫停的情況下,可以在不維護突變的情況下複製確切狀態。

在此範例中,我們使用 Amazon Simple Storage Service (Amazon S3) 作為離線遷移期間資料的暫存區域,將停機時間降至最低。您可以使用 Spark Cassandra 連接器 和 ,將以 Parquet 格式儲存在 Amazon S3 中的資料自動匯入 Amazon Keyspaces 資料表 AWS Glue。下一節將展示程序的高階概觀。您可以在 Github 上找到此程序的程式碼範例。

使用 Amazon S3 從 Apache Cassandra 到 Amazon Keyspaces 的離線遷移程序 AWS Glue ,需要下列 AWS Glue 任務。

  1. 擷取和轉換CQL資料並將其存放在 Amazon S3 儲存貯體ETL的任務。

  2. 將資料從儲存貯體匯入 Amazon Keyspaces 的第二個任務。

  3. 匯入增量資料的第三個任務。

如何在 Amazon Virtual Private Cloud EC2中從在 Amazon 上執行的 Cassandra 執行離線遷移至 Amazon Keyspaces Amazon Virtual Private Cloud
  1. 首先,您可以使用 從 Cassandra 以 Parquet 格式 AWS Glue 匯出資料表資料,並將其儲存至 Amazon S3 儲存貯體。您需要使用 AWS Glue 連接器執行 AWS Glue 任務,以連接至執行 Cassandra VPC的 Amazon EC2執行個體所在的 。然後,使用 Amazon S3 私有端點,您可以將資料儲存到 Amazon S3 儲存貯體。

    下圖說明這些步驟。

    使用 將 Apache Cassandra 資料從在 中EC2執行的 Amazon 遷移VPC至 Amazon S3 儲存貯體 AWS Glue。
  2. 減少 Amazon S3 儲存貯體中的資料,以改善資料隨機化。平均匯入的資料允許目標資料表中的更多分散式流量。

    從具有大型分割區 (超過 1000 列的分割區) 的 Cassandra 匯出資料時,需要此步驟,以避免將資料插入 Amazon Keyspaces 時出現熱鍵模式。快速鍵問題會導致 Amazon Keyspaces WriteThrottleEvents中,並導致載入時間增加。

    AWS Glue 任務會從 Amazon S3 儲存貯體轉移資料,並將其傳回至另一個 Amazon S3 儲存貯體。
  3. 使用另一個 AWS Glue 任務將資料從 Amazon S3 儲存貯體匯入 Amazon Keyspaces。Amazon S3 儲存貯體中的隨機資料會以 Parquet 格式儲存。

    AWS Glue 匯入任務會從 Amazon S3 儲存貯體取得隨機資料,並將其移至 Amazon Keyspaces 資料表。

如需離線遷移程序的詳細資訊,請參閱具有 的研討會 Amazon Keyspaces AWS Glue