オンラインとオフラインの移行を比較する
サーバー間のデータベース移行には、オンラインとオフラインの 2 つの方法があります。 これらの方法の主な違いは、アプリケーションのダウンタイム量とデータベースを使用するプロセスです。 オフライン移行は通常、ダウンタイム時間が長く、オンライン移行は通常、最小限の中断で最短時間で終了します。
オフライン移行の特性
オフライン移行アクティビティを実行する場合、"オフライン" という説明は、移行アクティビティを開始する前にデータベースに関連するアプリケーションとワークロードを停止する必要があることを意味します。 その後、データまたはデータベースがソース システムからターゲット システムに移行され、検証が行われた後、アプリケーションが新しい場所を指すように再構成され、ワークロードを再起動します。
オフライン移行アクティビティの最も一般的な 2 つの方法は、スキーマ移行のためのバックアップおよび復元と、オブジェクト レベルまたはレプリケーション プロセスでのデータ転送のための ETL (抽出、変換、読み込み) です。
オフライン移行では、データ移行アクティビティの実行に時間が必要であるため、通常システムのダウンタイムが長くなります。 このダウンタイムは、移行中に転送するデータ量に基づいて長くなります。 帯域幅は有限のリソースであり、1 秒間に転送できるデータ量は限られています。
オフライン移行には、ダウンタイム量を最小限に抑えるために対処する必要がある最適化があります。 しかし、このような最適化には、通常、移行の複雑さが伴うため、何らかの問題が発生するリスクが高まります。 複雑さ、リスク、許容されるダウンタイムのバランスを見つけることです。
オンライン移行の特性
オンライン移行は、アプリケーションとワークロードを実行したまま行うことのできる移行です。 この状況は、古いデータベースから新データベースへのカットオーバーを実行するために必要なダウンタイムが小さく、ユーザーの中断が最小限に抑えられることを意味します。
Note
オンライン移行の場合でも、通常、アプリケーションをオフラインにして新しいデータベースの場所にリダイレクトする必要がある短い時間が生じることを理解することが重要です。 ダウンタイムが発生しないようにアプリケーションを設計する方法もありますが、それはこのモジュールの範囲外です。
通常、オンライン移行では、レプリケーションのようなデータベース エンジン技術を利用して、ソース データベースからターゲット データベースにデータを同期させます。 データの同期はカットオーバー イベント前に設定されるため、オンライン移行アクティビティの全体的な期間はオフライン アクティビティよりも長くなります。
オンライン移行を実行するかどうかを評価する場合、同期プロセスがソース システムに与える潜在的なパフォーマンスへの影響を理解することが重要です。 さらに、同期プロセスが正常に完了するためには、データベースに変更を加えるいくつかの要件があります。
オフラインとオンラインの比較
次の表は、オフラインとオンラインの移行プロセスの主な違いを簡単にまとめたものです。
オフライン移行 | オンライン移行 | |
---|---|---|
ダウンタイム: | 長い | 短い |
複雑性 | 低 | 高 |
ソースへの影響 | 低 | 高 |
データ転送 | 1 回のみのプロセス | 同期 |
選択する方法
2 つの移行方法を理解することは、移行を実行するストーリーの一部に過ぎません。 データ移行を実行する方法を選択する前に、どのようなツールが利用できるかを理解する必要があります。