0

mongodbにはノードあたり42Tのクライアントが1つあると聞いていましたが、これについてもっと疑問に思っています。cassandraにはBloomfiltersがあり、ディスクのヒットをスキップして、行が含まれている可能性のあるファイルを見つけます。

  1. mongodbにはbloomfiltersに似たものがありますか?
  2. mongodbはSSTablesに似たものを使用していますか?
  3. 私はmongodbがcassandraのように圧縮を行うことを読みましたが、これは42Tノードでは非常に長いプロセスになると思いますか????

ここでmongodbを調査しているので、どの用語を検索すればよいかわかりません(cassandraではSSTablesと呼ばれます)。

ありがとう、ディーン

4

1 に答える 1

2

MongoDBはオンライン圧縮をサポートしていません。実際、データの断片化は、多くのドキュメントが更新されているシステムの現在の問題です。データの断片化を防ぐために、MongoDBは自動パディング係数を計算し、データ移動の数を最小限に抑えようとします。

コンパクトコマンドは、終了するまでデータベース全体をブロックします。さらに、MongoDBは辞書圧縮をサポートしていないため、フィールド名は保存されているすべてのオブジェクトでスペースを取ります。MongoDBで使用されているレイアウトは、派手なデータ構造ではないと思います。ヘッダー(オフセット、長さ...)、bsonデータ、およびパディング係数で構成されています。

MongoDBはキー/値または列型データベースではないため、SSTables(列型レイアウトの効率的なデータ構造)を使用しません。データベース用に作成されたすべてのファイルには、「extent」という名前が付けられています。

ちなみに、MongoDBはブルームフィルターを使用していません。

于 2013-02-25T22:41:54.870 に答える