データ・レプリケーション
DataStax Enterpriseは、複数のノードにレプリカを格納し、信頼性およびフォールト・トレランスを確保します。レプリカが置かれるノードは、レプリケーション・ストラテジによって決まります。
すべてのレプリカの重要性は同じで、プライマリ・レプリカやマスター・レプリカといった区別はありません。原則として、レプリケーション係数はクラスター内のノードの数を超えることはできません。ただし、レプリケーション係数を大きくした後でノードの数を増やすことができます。レプリケーション係数はノード・タイプによっても異なります。「分析キースペースのレプリケーション係数の設定」を参照してください。
2つのレプリケーション・ストラテジがあります。
- SimpleStrategy
- データ・センターとラックがそれぞれ1つしかない場合は、開発目的でのみ使用します。ただし、複数のデータ・センターを使用する予定がある場合は、代わりに
NetworkTopologyStrategy
を使用してください。SimpleStrategy
では、パーティショナーによって決定されたノード上に最初のレプリカが置かれます。追加のレプリカは、トポロジー(ラックやデータ・センターの場所)を考慮せずに、時計回りにリング上の次のノードに置かれます。
- NetworkTopologyStrategy
- クラスターを複数のデータ・センターに展開する方がはるかに簡単なため、ほとんどのデプロイで強く推奨しています。このストラテジでは、各データ・センターに置くレプリカの数を指定します。
NetworkTopologyStrategy
では、同じデータ・センター内で、リングを時計回りに進んで到達した別のラックの最初のノードにレプリカが置かれます。このストラテジでレプリカが別のラックに置かれる理由は、同じラック(または同様の物理的なグループ)のノードで障害が起きるときは、共用している電源、冷却機能、ネットワークなどの問題が原因で同時に起こる可能性があるからです。各データ・センターで構成するレプリカ数を決定するときに最初に考慮する2項目は、(1)データ・センター間のレイテンシーを発生させることなくローカルで読み取り要求を満たすこと、および(2)障害シナリオです。複数のデータ・センターのクラスターを構成する2つの最も一般的な方法は以下のとおりです。
- 各データ・センターに2つのレプリカを置く。この構成では、レプリケーション・グループごとの単一ノードの障害への耐性があり、整合性レベル
ONE
でローカルの読み取りを可能にします。 - 各データ・センターに3つのレプリカを置く。この構成では、強力な整合性レベル
LOCAL_QUORUM
でレプリケーション・グループごとの単一ノード障害、またはONE
の整合性レベルを使用したデータ・センターごとの複数ノード障害への耐性があります。
非対称のレプリケーション・グループも可能です。たとえば、アプリケーション要求にリアルタイムで応えるために1つのデータ・センターに3つのレプリカを置き、他で分析を実行するため1つのレプリカを使用するといったことができます。
- 各データ・センターに2つのレプリカを置く。この構成では、レプリケーション・グループごとの単一ノードの障害への耐性があり、整合性レベル
レプリケーション・ストラテジはキースペースごとに定義し、キースペースの作成時に設定します。キースペースを設定するには、「キースペースの作成」を参照してください。
レプリケーション・ストラテジ・オプションの詳細については、「キースペース・レプリケーション・ストラテジの変更」を参照してください。