いくつかの NoSQL 手法について読んだ後、QuorumはVirtual Shardingと比較して失敗しているように見えます。仮想シャーディングはスケーラビリティを可能にし、システム全体の読み取り/書き込みの量を増加させません。また、シャーディングに対するクォーラムの利点がまったく見つからないことも悪いことです。
質問: データの一貫性/パフォーマンス/スケーラビリティの観点からクォーラム手法の支持者として行動し、シャーディングよりも優れている状況に光を当てていただけますか?
以下は、私のビジョンです。
定足数:
高いデータ整合性を要求する予約システムがあるとします。NoSQL を使用してデータの一貫性を実現するためのアプローチの 1 つとしてクォーラムがあります。つまりR + W > N
、R
ノードの読み取り、ノードのW
書き込み、およびN
ノードの合計量です。
私が理解しているように、行を書き込むよりもクォーラムを使用する場合、データベースは書き込み操作をW
何度も実行する必要があります。また、何かを読み取るには、データベースがR
読み取りを行う必要があります。右?
仮想シャーディング:
私が理解しているように、シャーディング- ハッシュマップに似たものがある場合です。これは、いくつかの基準によって、収入データをどこに保存する必要があるか、どこから読み取る必要があるかを示します。ノードがあるとしますN
。仮想とは、スケーラビリティの問題を回避するために、そのハッシュ マップが より大きいことを意味しますN
が、仮に10*N
. これにより、新しいノードを追加する際に簡単に再構成できます。
クォーラムのようなレプリケーションを必要としないことは、非常に優れています。もちろん、可用性/フェイルオーバーのために、ノードごとに 1 つのマスター/スレーブ バックアップを使用できます。ただし、システムの読み取り/書き込みの量は増えません。