読むのカップルは/書き込み性能、MongoDb vs Cassandra:神話を読み書きする?カサンドラ対ネットに関するMongoDBの記事の
書き込み
を読んで一般的には、データがでかいときモンゴよりも優れているカサンドラは、パフォーマンスを書くと言われています。私は以下の文を参照してください
カッサンドラのストレージエンジンは、あなたのデータセットがどれほど大きくなっても、一定時間の書き込みを提供します。 MongoDBでは書き込みはBツリーベースのストレージエンジンのために部分的には になりますが、データベースごとの書き込みロックが であることが原因です。ここで
は私の質問です: -は、この文は正しいですか? Mongoはデータベースごとにではなく、ドキュメントごとにロックをサポートしています。右?だから、現時点では、キャスアンドラはモンゴーよりもパフォーマンスが良いですか?もしそうなら、なぜですか?
読む
一般的には、Mongoのパフォーマンスがカサンドラよりも優れている読んで私はカサンドラよりも読み取りに優れたモンゴを作るもの任意の推論を見つけられませんでしたと言われて?
アップデート: - ジャレド回答から
読み込みでは、彼らはカサンドラ であるよりも、MongoDBののストレージエンジンで、より効率的です。 Cassandraのストレージエンジンは、データを追記専用フォーマットで格納するため、書き込み時には非常によく動作します。 これは、シーク時間が貧弱な回転ディスクドライブの を有効に使いますが、シリアルを行うことができます は非常に速く書き込みます。しかし、読んでいるときは、 は、多くの場合、最新バージョンの を呼び出し元に返すためにオブジェクトのいくつかのバージョンをスキャンする必要があるという欠点があります。 MongoDBは のデータを更新します。これは、書き込みが処理されるときによりランダムなIOを実行することを意味します。 は、ディスク上のオブジェクトの正確な位置を1つのbツリー ルックアップで見つけることができるため、読み取り処理時に高速になるという利点があります。
それはカサンドラを理解するために私を助け、それだけで最初に検索し、それを編集しているモンゴのような最後の代わりに、代わりに編集でそれを追加する必要があるため、既存のレコードの削除/編集しながら、高速です。これは、モンゴ
よりも書き込みに優れたカサンドラになります。しかし、同じことの事はモンゴカサンドラは、発信者
別のに戻るには、最新バージョンを取得するために、同じレコードのいくつかのバージョンをスキャンする必要があるため、カサンドラよりも遅くしますこのblogから理由カサンドラが書き込みに
優れている理由は、その「単一マスター」のモデルとのMongoDBだけ 主に書き込みを取ることができます。セカンダリサーバは読み取り専用で使用できます。だから 本質的に3つのノードのレプリカセットがある場合、マスターだけが書き込みを取る であり、他の2つのノードは読み取りにのみ使用されます。この は、書き込みのスケーラビリティを大幅に制限します。複数のシャードをデプロイすることもできますが、 は、データノードの1/3だけが書き込みを取ることができます。 Cassandra の「複数マスタ」モデルでは、どのサーバーでも書き込みが可能です。 基本的に、書き込みのスケーラビリティは、クラスタ内にあるサーバの数が に制限されています。クラスタ内にあるサーバーの数が増えれば、 の規模が大きくなります。同じblogから
モンゴがカサンドラよりも読み込みで優れている理由を
セカンダリインデックスはMongoDBの中にファーストクラスの構造です。これにより、 がネストされていても、MongoDBに格納されているオブジェクトの任意のプロパティを簡単に索引付けできます。これにより、これらの セカンダリインデックスに基づいて簡単にクエリできます。カッサンドラは副インデックス の索引のみをサポートしています。セカンダリインデックスも単一列に限定され、 等価比較に制限されています。主に プライマリキーでクエリを実行する場合は、Cassandraがうまく動作します。
ここに一つの補正/明確化://docs.mongodb:MongoDBの3.2(2年前に〜発売)以来、デフォルトのストレージエンジンは、HTTPSを参照してください(WiredTigerてきました。 com/manual/core/storage-engines)を参照してください。 – IanWhalen
しかし、mongoはCassandraよりも読み込みパフォーマンスが速いのですか? – emilly