0

私はriakが初めてで、その可能性を発見しようとしています。現時点では、N,R,W設定をいじって影響を確認しています。ここで見逃しているのは、どのデータがどのノード/パーティションに保存されているかを確認することです。

求める方法はありますか

  • ノードが 1 つしかない場合、どのデータが保存されますか?
  • すべてのノード、私が必要とする特定のデータを保存するのは誰ですか?

したがって、ノード 2 と 3 のような情報を取得して必要なデータを格納できた場合、そのデータを要求するとstopノード 2 と 3 は失敗します。

4

1 に答える 1

2

特定のレコードがどのノードに格納されているかを正確に調べる標準的な方法は知りません (ただし、存在する可能性は否定しません)。ただし、通常は気にする必要はありません。

Riak は、一貫したハッシュに基づいて物理ノード全体にレコードを分散し、ノードが規則正しく追加または削除された場合、(n_val コピーを維持するために) ユーザーに透過的な方法でクラスター全体にデータを再配布します。

ノードが予期せずダウンした場合、このノードに保持されているデータへの変更は、ダウンタイム中に他のノードによって追跡され、ノードが復旧したときにノードに渡されます。

これは、データの整合性要件に応じて N、R、W を定義している限り、Riak はノードが追加または削除されてもこれらを維持するように機能することを意味します。

このように、Riak はシャーディングに依存するデータベースとはある程度異なると思います。データは特定のノードに結び付けられており、必ずしも他のノード/シャードに自動的に再配布されるとは限らないからです。

于 2012-11-14T13:13:04.237 に答える