はじめに
最新のデータベースに対する最大の脅威の1つは、ハードウェア障害またはランサムウェアによるデータ損失です。分散データベースは、さまざまな物理的な場所にデータを複製することでソリューションを提供します。
データベースレプリケーションにより、データベースの一部を複数のノードに分散できます。
このチュートリアルでは、データレプリケーションがどのように機能するか、いつ使用するか、さまざまなレプリケーションタイプとスキーム、およびデータベースのレプリケーションに役立つツールについて説明します。
データベースレプリケーションとは何ですか?
データベースレプリケーション データをコピーして別の場所に保存するプロセスです。データレプリケーションを実行すると、分散システムのすべてのノードにデータベースの一貫したコピーが確実に存在します。これは、データを広く利用できるようにし、データの損失から保護するのに役立ちます。
複製されたデータは完全にすることができます または部分的 スナップショットであり、オンサイト、オフサイト、またはクラウド環境に保存できます。ダウンタイムが発生した場合、組織はバックアップ場所から復元することでデータを回復し、ビジネスの継続性を維持します。
注: 災害復旧計画のない企業の90%は、大きな混乱の後に閉鎖します。業界をリードするサービスとしてのディザスタリカバリ(DRaaS)ソリューションを使用して、このリスクを排除します。
データは同期的に複製されます または非同期 :
- 同期レプリケーション 。データは、プライマリデータベースとそのすべてのレプリカに同時に書き込まれます。
- 非同期レプリケーション 。データは最初にプライマリデータベースに書き込まれ、次にレプリカにコピーされます。
データベースレプリケーションの種類
データベースを複製するには、いくつかの異なる方法があります。組織は、複製されたデータの目的とデータへのアクセス方法に基づいて手法を選択する必要があります。
スナップショットレプリケーション
スナップショットレプリケーション データベースの「スナップショット」をコピーします-レプリケーションプロセスが開始された瞬間に表示されるとおりです。データの変更や更新は監視されません。
スナップショットレプリケーションは、データが頻繁に変更されない場合だけでなく、短期間に大幅な変更があった場合にも役立ちます。データベースに変更を加えると、新しいスナップショットが複製されるまでスナップショットが古くなります。
トランザクションレプリケーション
トランザクションレプリケーション データベースの完全なコピーを作成し、データベースの変更に応じて新しいデータを入力します。データは変更された順序でリアルタイムにコピーされるため、一貫性が確保されます。
データへの増分のリアルタイム変更を確実にするために、トランザクションレプリケーションを使用するのが最善です。これにより、パフォーマンスが向上し、待ち時間が短縮されると同時に、大量の読み取り、書き込み、および削除アクティビティが提供されます。
マージレプリケーション
レプリケーションのマージ 複数のソースからのデータを単一のデータベースに結合します。マージレプリケーションを使用すると、複数のユーザーがデータを変更し、すべての変更を新しいレプリカに適用できます。
マージレプリケーションは、競合する変更をすばやく検出して対処するのに役立ちます。また、ユーザーはサーバーと同期する前にオフラインで変更を加えることができます。
異種レプリケーション
異種複製 異なるベンダーが提供するサーバー間でデータを複製するために使用されます。たとえば、SQLサーバーから非SQLサーバーにデータをコピーできます。
ピアツーピアトランザクションレプリケーション
ピアツーピアレプリケーション トランザクションレプリケーションに基づいています。参加しているすべてのユーザーとサーバーが相互にデータを送信できるため、更新はほぼリアルタイムで行われます。
ピアツーピアレプリケーションは、Webアプリケーションで特に役立ちます。その柔軟性は、パフォーマンスに影響を与えることなくユーザー数を増やすのに役立ちます。また、システムがより堅牢になり、メンテナンスのためにサーバーを停止できるようになります。
データベースレプリケーションスキーム
データベースレプリケーションには、次のレプリケーションスキームが使用されます。
完全レプリケーション
完全レプリケーションの実行 分散システムのすべてのノードに完全なデータベースをコピーすることを意味します。このアプローチは、データの冗長性を最大化し、グローバルなパフォーマンスとデータの可用性を向上させます。 1つのノードが機能している限り、データを利用できます。
上記の例では、元のデータベースのすべての部分(P1、P2、P3)がすべてのサイトに完全に複製されています。
更新をすべてのサイトに複製する必要があるため、完全な複製の実行には時間がかかります。さらに、完全なデータスナップショットを複数の場所に保存するコストが増える可能性があります。
部分レプリケーション
データベースの特定の部分のみをコピーすることは、部分的な複製です。 。これは通常、各場所でデータを利用できるようにすることがどれほど重要かによって決まります。
上記の例では、元のデータベースの特定の部分(P1、P2、P3)のみが単一のノードに複製されます。
部分レプリケーションスキームを使用する場合、データベースの各部分のコピー数は、分散システム内の1から合計ノード数までの範囲になります。
レプリケーションなし
レプリケーションなし 、分散システムの各ノードは、データベースの一部のコピーのみを受け取ります。このレプリケーションスキームは実行が最も高速ですが、データの可用性が低下する傾向があり、データベースがデータ損失に対して脆弱なままになります。ただし、同時実行は簡単に実現できます。
上記の例では、元のデータベースの1つのフラグメントのみが特定のノードに複製されます。
データベースレプリケーションソフトウェアとツール
多くのデータベース管理ツールは、データベースレプリケーションを実行する方法を提供します。同じ機能を提供するサードパーティのレプリケーションツールもあります。
ほとんどの場合、複数のタイプのデータベース間で複製できるため、サードパーティのツールはさらに柔軟になる可能性があります。最も人気のある例のいくつかを次に示します。
- phoenixNAPデータのバックアップと復元。 phoenixNAPは、Veeam統合、クラウドデータベースバックアップ、Office 365のマネージドバックアップ、DRaaS(Disaster Recovery as a Service)など、複数のバックアップオプションとソリューションを提供します。
- Veeam Backup&Replication 。 Veeamは、クラウドデータベース、仮想データベース、Kubernetes、物理ディストリビューションなど、さまざまな種類のデータベースと連携します。継続的データ保護、ディザスタリカバリのための高度なレプリケーションとフェイルオーバー、NAS、Microsoft SQL、Oracleなどの一般的なデータベースマネージャ向けのインスタントリカバリを提供します。
- アクロニスサイバーバックアップ 。アクロニスは20を超えるデータベースプラットフォームをサポートし、AIベースのランサムウェア防止などの高度なセキュリティ機能を提供します。
- NAKIVOバックアップとレプリケーション 。 NAKIVOは、ライブアプリのサポート、ファイルおよびオブジェクトレベルのリカバリ、グローバル重複排除、自動レポートなどの機能を提供します。ローカル、リモートサーバー、またはクラウドでデータを複製できます。
- Carboniteセーフバックアップ。 Carboniteは、中小企業を対象としています。クラウドとハードドライブの自動バックアップ、イメージのバックアップとベアメタル復元、および上位層でのデータベースレプリケーションを提供します。
データレプリケーションの利点
データベースレプリケーションの使用は次のことに役立ちます:
- ディザスタリカバリ計画でビジネスの継続性を確保します。 ハードウェア障害またはランサムウェア攻撃の場合、ディザスタリカバリ計画の一部としてデータレプリケーションを使用することで、システムのオフサイトコピーを確実に作成できます。これにより、組織はデータを復元し、ビジネスの継続性を維持できます。
- パフォーマンスを向上させます。 複数の場所に同じデータがあるということは、ユーザーが最も近いサーバーからデータを取得できることを意味し、ネットワークの遅延を減らし、パフォーマンスを向上させます。
- マルチユーザーサポートを改善します。 データレプリケーションは、特に複数のユーザーがデータベースにアクセスしている場合に、クエリの実行に役立ちます。
- 分析を改善します。 データベースの完全なコピーを個別に用意することで、チームはパフォーマンスに影響を与えることなく分析を実行できます。
- 可用性を向上させます。 複数のユーザーが、お互いの邪魔をすることなく、分散データベースのデータにアクセスして管理できます。
データレプリケーションのデメリット
データ複製にはいくつかの課題があります:
- 特に完全なレプリケーションでは、多くのストレージスペースが必要になる場合があります。これにより、多数のレプリカを同時に更新する必要がある場合、コストが高くなるか、パフォーマンスが低下する可能性があります。
- マージやピアツーピアレプリケーションなどの方法を使用する場合、データの一貫性を維持することは困難です。