すべてのプロダクト
Search
ドキュメントセンター

PolarDB:X-Engineを使用するApsaraDB RDS for MySQLインスタンスをPolarDB for MySQLクラスターにアップグレードする

最終更新日:Jun 03, 2024

論理移行方法を使用して、X-Engineを使用するApsaraDB RDS for MySQLインスタンスをPolarDB for MySQLクラスターにアップグレードできます。 このトピックでは、このような移行に関する注意事項、前提条件、手順、および請求について説明します。

前提条件

制限

  • ApsaraDB RDS for MySQLインスタンスを、同じまたはそれ以降のMySQLバージョンのPolarDB for MySQLクラスターにのみアップグレードでき、以前のMySQLバージョンのクラスターにはアップグレードできません。 たとえば、ApsaraDB RDS For MySQL 5.7インスタンスをPolarDB for MySQL 5.6クラスターにアップグレードしたり、ApsaraDB RDS for MySQL 8.0.2インスタンスをPolarDB for MySQL 8.0.1クラスターにアップグレードしたりすることはできません。

  • IPv6アドレスは、エンドポイントとの切り替えではサポートされません。

  • クロスリージョンデータ移行はサポートされていません。

  • データ移行中は、ソースApsaraDB RDS for MySQLインスタンスのパラメーターを設定できません。

  • 移行できる構造体は、データベース、テーブル、ビュー、ストアドプロシージャ、関数の5種類のみです。

  • ソースApsaraDB RDS for MySQLインスタンスには、次の表に示す制限が適用されます。

    項目

    説明

    ソースインスタンスの制限

    • 同期するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでない場合、宛先データベースは重複するデータレコードを含み得る。

    • 同期するオブジェクトとしてテーブルを選択し、ターゲットデータベースのテーブルを編集 (テーブルまたは列の名前の変更など) する必要がある場合、1つのデータ同期タスクで最大1,000のテーブルを同期できます。 タスクを実行して1,000を超えるテーブルを同期すると、リクエストエラーが発生します。 この場合、テーブルを分割して複数のタスクを構成してテーブルを同期するか、データベース全体を同期するようにタスクを構成することをお勧めします。

    • バイナリログの次の要件を満たす必要があります。

      • バイナリログ機能を有効にする必要があります。 バイナリログを有効にする方法の詳細については、「インスタンスパラメーターの変更」をご参照ください。 さらに、binlog_row_imageパラメーターをfullに設定する必要があります。 それ以外の場合、事前チェック中にエラーメッセージが返され、データ同期タスクを開始できません。

      • 増分データ同期タスクの場合、ソースデータベースのバイナリログは少なくとも24時間保持されます。 完全および増分データ同期タスクの場合、ソースデータベースのバイナリログは少なくとも7日間保持されます。 完全なデータ同期が完了したら、保持期間を24時間以上に設定できます。 そうしないと、DTSはバイナリログの取得に失敗し、タスクが失敗する可能性があります。 極端な状況では、データの不一致や損失が発生する可能性があります。 上記の要件に従って、バイナリログの保持期間を設定してください。 それ以外の場合、DTSのSLAはサービスの信頼性とパフォーマンスを保証しません。 ApsaraDB RDS For MySQLインスタンスのバイナリログファイルの詳細については、「バイナリログファイルの管理」をご参照ください。

注意事項

  • SSLが有効になっているかどうかは、ソースApsaraDB RDS for MySQLインスタンスとターゲットPolarDBクラスターのエンドポイントで一貫している必要があります。

    • ソースApsaraDB RDS for MySQLインスタンスのエンドポイントでSSLが有効になっており、[エンドポイントで切り替える] を選択してエンドポイントを切り替える場合は、PolarDBクラスターのエンドポイントでSSLが有効になっていることを確認してください。

    • ソースApsaraDB RDS for MySQLインスタンスのエンドポイントでSSLが無効になっている場合は、PolarDBクラスターのエンドポイントでもSSLが無効になっていることを確認してください。

  • ソースApsaraDB RDS for MySQLインスタンスのプライマリノードと読み取り専用ノードのホワイトリストが異なる場合、読み取り専用ノードのホワイトリストをプライマリノードのホワイトリストに事前に追加して、読み取り専用ノードのホワイトリストをターゲットPolarDBクラスターに同期できるようにする必要があります。

  • 論理移行方法を使用した最初の完全データ同期中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これにより、データベースサーバーの負荷が増加する可能性があります。

  • 論理移行メソッドを使用した完全データ同期中に、INSERTの同時操作により、ターゲットデータベースのテーブルが断片化されます。 完全なデータ同期が完了すると、ターゲットデータベースのテーブルスペースはソースデータベースのテーブルスペースよりも大きくなります。

  • 論理的な移行方法を使用する場合、DTSタスクを手動でリリースしないでください。

  • 完全なデータ同期には時間がかかります。 消費される時間は、データの量に依存する。 この期間中、ターゲットPolarDBクラスターは [作成中] 状態です。

課金

移行料金

アップグレード中のデータ移行に対しては課金されません。 ターゲットPolarDB for MySQLクラスターに対してのみ課金されます。

ホットスタンバイストレージクラスター機能を有効にするかどうかを指定し、適切なストレージタイプを選択することで、移行先PolarDB for MySQLクラスターのコストを管理できます。

手順

X-Engineを使用するApsaraDB RDS For MySQLインスタンスをPolarDB for MySQLクラスターにアップグレードする方法の詳細については、「手順」をご参照ください。 X-Engineを使用するApsaraDB RDS For MySQLインスタンスの場合、次の点に注意してください。

  • ステップ1: ソースApsaraDB RDS for MySQLインスタンスからデータを移行する

    • PolarDB for MySQL Enterprise EditionのみがInnoDBおよびX-Engineをサポートしています。 PolarDB for MySQLクラスターを作成するときは、Database EditionをEnterprise Editionに、Storage EngineをInnoDB & X-Engineに設定し、X-Engineメモリ使用量を設定します。

    • PolarDB for MySQLクラスターの課金方法を従量課金に設定することを推奨します。 従量課金クラスターは、データ移行に対して課金されません。

  • ステップ2: サービスの切り替え:

    • X-Engineは、ソースApsaraDB RDS for MySQLインスタンスからターゲットPolarDBクラスターにデータを移行する場合に必要です。 したがって、移行を開始した後、移行先PolarDBクラスターでテーブルを作成するときにX-Engineが使用されているかどうかを確認します。 InnoDBを使用する場合は、チケットを起票してください

    • 切り替え後、移行が完了する前に、データはPolarDBクラスターからソースApsaraDB RDS for MySQLインスタンスに逆移行されます。 X-Engineは、テーブルを作成するときに必要です。これは、PolarDBクラスターでテーブルを作成するときに使用されるエンジンと同じです。

  • ステップ2: サービスの切り替えおよびステップ3: 移行の完了

    • ターゲットPolarDBクラスターでは、テーブルの作成時にX-Engineの代わりにInnoDBが使用されます。 X-Engineを使用するテーブルを作成する場合は、DDLステートメントを実行してテーブルを作成するときにengine=xengineを指定します。

    • X-Engineをテーブルのデフォルトエンジンとして使用するには、PolarDBコンソールでdefault_storage_engineパラメーターをxengineに設定します。

      説明

      default_storage_engineパラメーターを変更した後、新しいパラメーター値を有効にするには、クラスター内のすべてのノードを再起動する必要があります。 ノードを再起動する前に、サービスが悪影響を受けないことを確認してください。 作業は慎重に行ってください。