ミラーリングとレプリケーションの両方が有利であり、データまたはデータベースの可用性とパフォーマンスを向上させます。
比較表
比較基準 | ミラーリング | 複製 |
---|---|---|
基本 | 別の場所(マシン)にデータベースコピーを作成します。 | 配布操作を強化するためのデータおよびデータベースオブジェクトの作成。 |
に実行 | データベース | データとデータベースオブジェクトのみ |
上にあります | 別の機械 | 異なるデータベース |
コスト | とても高い | 安価な |
分散データベース | 分散データベースサポートのための規定なし | 分散データベースをサポート |
ミラーリングの定義
ミラーリングはデータベースの複数のコピーを生成するプロセスで、 シャドウイングとも呼ばれます。 これらのデータベースコピーは通常別のマシンにあります。 プライマリサーバがクラッシュした場合やメンテナンスのために使用されている場合は、その時点でシステムは自動的にミラーリングされたデータベースにフェイルオーバできます。 どの時点でも、アクセスできるコピーは1つだけです。
プライマリデータベースとミラーリングされたデータベースの間の密接な結合は、トランザクションログのブロックをミラーリングされたデータベースに送信することによって確立されます。 何らかの障害が発生した場合、データをあるデータベースから別のデータベースにコピーしてデータを復元することもできます。 フェイルオーバーが発生すると、ミラーデータベースがプリンシパルデータベースになります。
ミラーリングには、プライマリデータベースでコミットされた更新、挿入、削除の操作をミラーリングされたデータベースに遅滞なくやり直す機能が組み込まれています。 完全セキュアモードでは、トランザクションのログレコードがミラー上のディスクに作成されるまでトランザクションはコミットできません。 ミラーリングは分散データベースをサポートしません。
レプリケーションの定義
レプリケーションとは、データの可用性を高めるために、異なるデータベースに冗長データとデータベースオブジェクトを分散して作成するプロセスです。 地理的に離れた場所から企業データをロールアップし、そのデータをローカルエリアネットワークまたはインターネット上のリモートユーザーに配布することができます。 並列コマンドの実行が増えます。
Microsoft SQLサーバーでは、 パブリッシャーは他のサーバーへの複製用のデータを提供するエンティティーです。 購読者は、通常、発行者から複製データを受信するサーバーです。
Microsoft SQL Serverでレプリケーション操作に使用できるオプションには、スナップショットレプリケーション、トランザクションレプリケーション、およびマージレプリケーションの3種類があります。
- スナップショットレプリケーションでは、データオブジェクトとデータベースオブジェクトが瞬時に表示されるのと同じようにコピーされます。
- トランザクションの複製では、サブスクライバへのデータの初期スナップショットが生成され、その増分変更がディスクリートプロセスとしてサブスクライバに送信されます。 トランザクションレプリケーションで定義されているログリーダーエージェントとディストリビューションエージェントの2つのレプリケーションプロセスがあります。前者のプロセスログリーダーエージェントはデータベーストランザクションログからトランザクションを読み取り、オプションのフィルタを適用してキューサポートストアに似たディストリビューションデータベースに格納します。トランザクションレプリケーションの転送メカニズム。 後者のプロセス分配エージェントは各加入者に変更を転送します。
- マージレプリケーションを使用すると、各レプリカがオンラインであるかオフラインであるかにかかわらず、各レプリカが自己管理することができます。 変更が公開されたオブジェクトのメタデータにコミットされたときはいつでも、それは購読者と発行者の終わりまで追跡されます。 データおよびデータベースオブジェクトのインスタンスは複製されません。
データは、特定のツールの助けを借りてデータベーストリガーを使用して複製できます。 データベース内の特殊なストアドプロシージャは、複製エージェントに変更をキャプチャして転送するように通知します。 レプリケーションは、ディストリビュータを持つ必要があるデータベースミラーリングでも使用できます。
ミラーリングとレプリケーションの主な違い
- ミラーリングでは、元のデータベースをプライマリデータベースと呼び、コピーしたデータベースをミラーと呼びます。 一方、レプリケーションとは、ディストリビューションデータベースのパフォーマンスを向上させるために別の場所に格納されているデータとデータベースオブジェクトを複製することです。
- ミラーリングはデータベースで実行され、レプリケーションはデータおよびデータベースオブジェクトで実装されます。
- ミラーデータベースは通常、プライマリデータベースとは別のマシンにあります。 反対に、複製されたデータとデータベースオブジェクトは別のデータベースに格納されます。
- データベースのミラーリングはレプリケーションよりもコストがかかります。
- ミラーリングは分散環境をサポートしませんが、レプリケーションは分散データベース用に考案されました。
結論
ミラーリングとレプリケーションは、データの可用性、信頼性、およびパフォーマンスを向上させるのに役立つ方法です。 ただし、ミラーリングにはデータベースの冗長コピーが含まれるのに対し、レプリケーションには、データ、テーブル、ストアドプロシージャ、ユーザー定義関数、ビュー、マテリアライズドビューなどのデータベースオブジェクトの複製が含まれます。