0

シャーディングは、スケーラブルなスループットとストレージを提供します。スケーラブルなスループットとストレージは、分析の楽園のようなものです。しかし、私が考える大きなトレードオフがあります。

ハッシュされたシャード キーを使用する場合、書き込みは非常にスケーラブルになります。ただし、ファクトのシーケンシャル読み取りを行う場合は、すべてのサーバーにアクセスする必要があるため、すべてが網羅的になります。

フィールド A を使用するなど、範囲指定されたシャード キーを使用する場合 - タイムスタンプ フィールドを使用しない場合、書き込みはスケーラブルである可能性があります - ただし、フィールド A を使用しない場合、シーケンシャル読み取りはスケーラブルではありません

私の意見では、データ ウェアハウスとしてはあまりスケーラブルではありません。ただし、mongoDB データ ウェアハウスをスケーラブルにするための他のソリューションが何かわかりません。

mongoDB シャーディングは、データ ウェアハウスをスケーラブルにするのに本当に適していますか?

4

1 に答える 1

1

うーん、大量のデータを読み取ると、1 台のサーバーの物理的な読み取り容量を使い果たす可能性が高くなります。データウェアハウジングと、最近の HDD と SSD の制限について非常に間違った理解を持っていない限り、読み取りを並行して実行する必要があります

最初に行うことは、分析したいデータのサブセットを選択することですよね? 大量のデータがある場合、この照合を並行して行うことは理にかなっています。サブセットが選択されたら、さらに分析を行う必要がありますよね? これは、MongoDB が集約フレームワークで行うこととまったく同じです。影響を受けるすべてのシャードで早期照合が行われ、その結果がそのデータベースのプライマリ シャードに送信され、そこで集約パイプラインの以降のステップが適用されます。

于 2014-09-17T16:26:43.127 に答える