データ・レプリケーション

DataStax Enterpriseは、複数のノードにレプリカを格納し、信頼性およびフォールト・トレランスを確保します。レプリカが置かれるノードは、レプリケーション・ストラテジによって決まります。

DataStax Enterprise(DSE)は、複数のノードにレプリカを格納し、信頼性およびフォールト・トレランスを確保します。レプリカが置かれる特定のノードは、レプリケーション・ストラテジによって決まります。クラスター全体のレプリカの総数を、レプリケーション係数と呼びます。レプリケーション係数1は、クラスター内に各行のコピーが1つしかないことを意味します。レプリケーション係数2は、各行のコピーが2つあり、それぞれ異なるノード上にあることを意味します。
警告: レプリケーション係数1を絶対に使用しないでください。行を含むノードが停止すると、その行は取得できません。

すべてのレプリカの重要性は同じで、プライマリ・レプリカやマスター・レプリカといった区別はありません。原則として、レプリケーション係数はクラスター内のノードの数を超えることはできません。ただし、レプリケーション係数を大きくした後でノードの数を増やすことができます。レプリケーション係数はノード・タイプによっても異なります。「分析キースペースのレプリケーション係数の設定」を参照してください。

2つのレプリケーション・ストラテジがあります。

SimpleStrategy
データ・センターとラックがそれぞれ1つしかない場合は、開発目的でのみ使用します。ただし、複数のデータ・センターを使用する予定がある場合は、代わりにNetworkTopologyStrategyを使用してください。SimpleStrategyでは、パーティショナーによって決定されたノード上に最初のレプリカが置かれます。追加のレプリカは、トポロジー(ラックやデータ・センターの場所)を考慮せずに、時計回りにリング上の次のノードに置かれます。
NetworkTopologyStrategy
クラスターを複数のデータ・センターに展開する方がはるかに簡単なため、ほとんどのデプロイで強く推奨しています。このストラテジでは、各データ・センターに置くレプリカの数を指定します。

NetworkTopologyStrategyでは、同じデータ・センター内で、リングを時計回りに進んで到達した別のラックの最初のノードにレプリカが置かれます。このストラテジでレプリカが別のラックに置かれる理由は、同じラック(または同様の物理的なグループ)のノードで障害が起きるときは、共用している電源、冷却機能、ネットワークなどの問題が原因で同時に起こる可能性があるからです。

各データ・センターで構成するレプリカ数を決定するときに最初に考慮する2項目は、(1)データ・センター間のレイテンシーを発生させることなくローカルで読み取り要求を満たすこと、および(2)障害シナリオです。複数のデータ・センターのクラスターを構成する2つの最も一般的な方法は以下のとおりです。

  • 各データ・センターに2つのレプリカを置く。この構成では、レプリケーション・グループごとの単一ノードの障害への耐性があり、整合性レベルONEでローカルの読み取りを可能にします。
  • 各データ・センターに3つのレプリカを置く。この構成では、強力な整合性レベルLOCAL_QUORUMでレプリケーション・グループごとの単一ノード障害、またはONEの整合性レベルを使用したデータ・センターごとの複数ノード障害への耐性があります。

非対称のレプリケーション・グループも可能です。たとえば、アプリケーション要求にリアルタイムで応えるために1つのデータ・センターに3つのレプリカを置き、他で分析を実行するため1つのレプリカを使用するといったことができます。

レプリケーション・ストラテジはキースペースごとに定義し、キースペースの作成時に設定します。キースペースを設定するには、「キースペースの作成」を参照してください。

レプリケーション・ストラテジ・オプションの詳細については、「キースペース・レプリケーション・ストラテジの変更」を参照してください。