非常に大規模なデータベースの移行について調べる
Azure クラウドに移動された SAP システムには、多くの場合、大規模な多国籍の "単一グローバル インスタンス" システムが含まれています。 これらのシステムは、Azure Platform が SAP ワークロード用として最初に認定されたときにデプロイされた最初のカスタマー システムより、何倍も大きなものです。
非常に大規模なデータベース (VLDB) は、現在では一般的に Azure に移動されました。 20 TB を超えるサイズのデータベースを、許容されるダウンタイムと低いリスクで、オンプレミスから Azure に移行するには、特別な手法と手順が必要になります。
概要
非常に大規模なデータベースの移行を完全に最適化すると、1 時間あたり約 2 TB またはそれ以上の移行スループットを達成できるはずです。 つまり、20 TB の移行のデータ転送コンポーネントは、約 10 時間で実行できます。 事後処理と検証のさまざまな手順を実行する必要があります。 一般に、準備とテストに十分な時間があれば、任意のサイズのすべてのカスタマー システムを Azure に移行することができます。
VLDB の移行には、かなりのスキル、細部への注意、および分析が必要になります。 たとえば、テーブル分割の実質的な影響を、測定して分析する必要があります。 大きなテーブルを 50 より多くの並列エクスポートに分割すると、テーブルのエクスポートにかかる時間が大幅に短縮される可能性がありますが、テーブルの分割が多すぎると、インポートの時間が大幅に長くなる場合があります。 したがって、テーブル分割の実質的な影響を、計算してテストする必要があります。 ライセンスを持つ熟練した OS/DB 移行コンサルタントは、この概念とツールになじみがあるでしょう。 Azure 固有のいくつかのコンテンツの VLDB 移行について注目します。
具体的には、R3load や Migmon などのツールを使い、ターゲット データベースとして SQL Server を使う Azure への、異種の OS と DB の移行について説明します。 移行手順は、同種システムのコピー、つまり DBMS とプロセッサ アーキテクチャ (エンディアン順序) が同じであるコピーを想定したものではありません。 一般に、同種システムのコピーでは、ログ配布を使用して Azure 内のデータベースのコピーを同期できるため、DBMS のサイズに関係なくダウンタイムが少なくて済みます。
次の要点の後に、一般的な VLDB の OS/DB 移行と Azure への移行を示すブロック図を掲載します。
ソースの現在の OS と DB は、多くの場合、AIX、HPUX、Solaris、または Linux と、DB2 または Oracle です。
ターゲットの OS は、Windows、Suse 12.3、Redhat 7.x、Oracle Linux 7.x のいずれかです。
ターゲットの DB は、通常、SQL Server または Oracle 12.2 です。
IBM pSeries、Solaris SPARC ハードウェア、HP Superdome スレッドのパフォーマンスは、低コストの最新の Intel 汎用サーバーよりも大幅に低くなっているため、R3load は独立した Intel サーバーで実行されます。
VMware では、良好で安定した予測可能なネットワーク パフォーマンスを実現するために、特別なチューニングと構成が必要です。 通常、仮想マシンではなく、物理サーバーが R3load サーバーとして使用されます
通常、4 つのエクスポート R3load サーバーが使われますが、エクスポート サーバーの数に制限はありません。 一般的な構成は次のとおりです。
- エクスポート サーバー 1 – 最も大きい 1 から 4 個のテーブル専用 (データ分散がソース データベースでどの程度傾斜しているかによって異なる)。
- エクスポート サーバー 2 - テーブル分割を含むテーブル専用。
- エクスポート サーバー 3 - テーブル分割を含むテーブル専用。
- エクスポート サーバー 4 - 残りのすべてのテーブル。
エクスポート ダンプ ファイルは、AzCopy を使って、Intel ベースの R3load サーバーのローカル ディスクから、パブリック インターネット経由で Azure に転送されます。 通常、これは ExpressRoute 経由よりも高速です。
インポートの制御とシーケンスは、すべてのエクスポート パッケージの完了時に自動的に生成されるシグナル ファイル (SGN) を介して行われます。 これにより、半並列のエクスポートとインポートが考慮されます。
SQL Server または Oracle へのインポートは、4 つのインポート サーバーを使用して、エクスポートと同様に構造化されます。 これらのサーバーは、高速ネットワークを備えた独立した専用 R3load サーバーです。 このタスクには SAP アプリケーション サーバーを使わないことをお勧めします。
通常、VLDB データベースは、Premium Storage で E64v3、m64、または m128 の仮想マシンを使用します。 トランザクション ログの書き込みを高速化し、仮想マシン クォータからトランザクション ログの IOPS と IO 帯域幅を削除するために、トランザクション ログをローカル SSD ディスクに配置できます。 移行後は、トランザクション ログを永続ディスクに配置する必要があります。