TiDB データ移行のソフトウェアおよびハードウェア要件

TiDB データ移行 (DM) は、主流の Linux オペレーティング システムをサポートしています。特定のバージョン要件については、次の表を参照してください。

Linux OSバージョン
レッドハットエンタープライズリナックス7.3以降
セントOS7.3以降
Oracle エンタープライズ Linux7.3以降
Ubuntu 16.04 リリース16.04以降

DM は、Intelアーキテクチャサーバーおよび主流の仮想化環境に導入して実行できます。

DM は、64 ビットの汎用ハードウェアサーバープラットフォーム (Intel x86-64アーキテクチャ) に導入して実行できます。開発、テスト、および本番環境で使用されるサーバーの場合、このセクションでは推奨されるハードウェア構成を示します (これらには、オペレーティング システムによって使用されるリソースは含まれません)。

開発およびテスト環境

成分CPUメモリローカルストレージ通信網インスタンス数(最小要件)
DMマスター4コア以上8GB以上SAS、200 GB以上ギガビットネットワークカード1
DMワーカー8コア以上16GB以上SAS、200 GB以上(移行されたデータのサイズより大きい)ギガビットネットワークカードアップストリームMySQLインスタンスの数

注記:

  • テスト環境では、機能検証に使用する DM-master と DM-worker を同じサーバー上に配置できます。
  • パフォーマンス テスト結果の精度に影響が及ばないように、低パフォーマンスのstorageおよびネットワーク ハードウェア構成の使用はお勧めしません
  • 機能の検証のみが必要な場合は、単一のマシンに DM マスターをデプロイできます。デプロイする DM ワーカーの数は、アップストリーム MySQL インスタンスの数以上である必要があります。高可用性を確保するには、より多くの DM ワーカーをデプロイすることをお勧めします。
  • DM-worker はフェーズdumploadで全データを保存します。したがって、DM-worker のディスク容量は、移行するデータの合計量よりも大きくする必要があります。移行タスクでリレー ログが有効になっている場合、DM-worker にはアップストリームbinlogデータを保存するための追加のディスク容量が必要です。

本番環境

成分CPUメモリハードディスクタイプ通信網インスタンス数(最小要件)
DMマスター4コア以上8GB以上SAS、200 GB以上ギガビットネットワークカード3
DMワーカー16コア以上32GB以上SSD、200 GB以上(移行データのサイズより大きい)10ギガビットネットワークカードアップストリームのMySQLインスタンスの数より大きい
モニター8コア以上16GB以上SAS、200 GB以上ギガビットネットワークカード1

注記:

  • 本番環境では、DM-master と DM-worker を同じサーバーにデプロイして実行することは推奨されません。DM-worker がディスクにデータを書き込むと、DM-master の高可用性コンポーネントによるディスクの使用が妨げられる可能性があるためです。
  • パフォーマンスの問題が発生した場合は、 DMのコンフィグレーションを最適化するドキュメントに従ってタスク構成ファイルを変更することをお勧めします。構成ファイルを調整してもパフォーマンスが効果的に最適化されない場合は、サーバーのハードウェアをアップグレードしてみてください。

下流のstorageスペース要件

ターゲット TiKV クラスターには、インポートされたデータを保存するのに十分なディスク容量が必要です。 標準ハードウェア要件に加えて、ターゲット TiKV クラスターのstorage容量は、データ ソースのサイズ x レプリカの数 x 2よりも大きくする必要があります。たとえば、クラスターがデフォルトで 3 つのレプリカを使用する場合、ターゲット TiKV クラスターには、データ ソースのサイズの 6 倍よりも大きいstorage容量が必要です。次の理由により、式にはx 2含まれます。

  • インデックスは余分なスペースを占める可能性があります。
  • RocksDB には空間増幅効果があります。

次の SQL ステートメントを使用してDATA_LENGTHフィールドを要約することで、データ量を見積もることができます。

-- Calculate the size of all schemas SELECT TABLE_SCHEMA, FORMAT_BYTES(SUM(DATA_LENGTH)) AS 'Data Size', FORMAT_BYTES(SUM(INDEX_LENGTH)) 'Index Size' FROM information_schema.tables GROUP BY TABLE_SCHEMA; -- Calculate the 5 largest tables SELECT TABLE_NAME, TABLE_SCHEMA, FORMAT_BYTES(SUM(data_length)) AS 'Data Size', FORMAT_BYTES(SUM(index_length)) AS 'Index Size', FORMAT_BYTES(SUM(data_length+index_length)) AS 'Total Size' FROM information_schema.tables GROUP BY TABLE_NAME, TABLE_SCHEMA ORDER BY SUM(DATA_LENGTH+INDEX_LENGTH) DESC LIMIT 5;

このページは役に立ちましたか?