私はmongoと一緒に働いています。私が保存している文書の1つが最大16MBを超えています。構造を細かくすることがその面で助けになるのではないかと思います。だから私はタイトルに質問があります。 bson表現がすでにドキュメントを縮小している場合、私の側の別のattempは何にも役立たないでしょう。は縮小されたBSON表現ですか?
答えて
のMongoDBのデータを格納します。オブジェクトの合計サイズは、フィールドの長さとフィールドの内容によって異なります。フィールド名を省略したい場合は、ドキュメントを小さくすることができます。
あなたはすぐにロングとショートのフィールド名で文書を挿入することによって、これを確認することができます:あなたは、フィールド名を短縮することができた場合は、オブジェクトのサイズはいくつかの削減を達成することができます
> db.test.insert({abcde:1})
> db.test.stats()
{
"ns": "test.test",
"count": 1,
"size": 37,
"avgObjSize": 37,
...
:
> db.test2.insert({a:1})
> db.test2.stats()
{
"ns": "test.test2",
"count": 1,
"size": 33,
"avgObjSize": 33,
...
上記の2つの例から、フィールド名をabcde
からa
に短くすると、オブジェクトサイズが37バイトと33バイトに短縮されました。これは、短いフィールド名を使用して4バイトを節約します。
優れた、同じテストをしていますが、フィールドで私はまたサイズの増加を見る!...多分オブジェクトを縮小することは結局悪い考えではありません! (私はmongoを使い慣れていないし、statsメソッドについて知りませんでした。有用な情報がたくさんあります:))。 – mjsr
BSONはすでに非常にコンパクトなフォーマットです。さらに、WiredTigerエンジンはドキュメントレベルではなくページレベルでデータを圧縮します。
文書サイズに16MBの制限がある場合は、文書を分割するか、データベースを再設計する必要があります。
文書サイズを小さくしても文書サイズが16MBを超える場合は、GridFSを使用してその文書セットを分割することができます。 MongoDBのドキュメント、
GridFS 1として
は16メガバイトのBSON文書のサイズ制限を超えるファイルを格納し、検索するための仕様です。このことができます
希望...それはフィールド名と内容を保存しBSON表現、中
ドキュメントキーはそのまま保存されているので、BSONでは多くのスペースを消費します。そのため、ドキュメントキーをエンコードすると、大量のバイトを節約できます。何人が
const MY_INSANELY_LONG_OBJECT_PROPERTY_NAME = "a";
var thePropertyValue = myObject[MY_INSANELY_LONG_OBJECT_PROPERTY_NAME];
- 1. BSONのObjectID(Morphia)表現
- 2. imsaveで縮小されたJPGイメージサイズ
- 3. IE11で拡大/縮小された画像、Chrome/Firefoxでは拡大/縮小されていない画像
- 4. コマンドラインでPNGを縮小、縮小、縮小する方法は?
- 5. 分散されたセグメントでセグメント化された縮小
- 6. 埋め込みテーブルビューで縮小されたサブビューが表示される
- 7. 縮小されたJavaScriptのコメントはどうなりますか?
- 8. この縮小されたJavascriptですか?
- 9. 縮小されたフォントサイズのディスプレイコンテナ
- 10. ウィンドウのサイズが縮小された場合、IE divはそれに応じて縮小されません
- 11. クラス 'のMongoDB \ BSON \正規表現は、' php.netから
- 12. Gulp:縮小化されたスクリプトと非縮小化されたスクリプトの両方のソースマップを生成する
- 13. ナビゲーションバーが追加されたときに縮小コレクションビューが表示される
- 14. 縮小されたスプライトはsetPosition()を使用できません
- 15. TextViewテキストが指定された幅に縮小されます
- 16. .NETでインデントされたJSON文字列を縮小します。
- 17. 小さな塊で縮小データベース
- 18. パージされたテーブルのテーブルサイズが縮小されない
- 19. .ldfファイル縮小またはサイズ縮小 - 推奨ソリューション
- 20. 画面サイズが縮小されたときにdiv要素を表示する
- 21. 表示のために幅が縮小されるのはなぜですか?table-cell?
- 22. Rails XMLビルダ(かなり縮小されたXML)
- 23. Silverlightで画像の縮小(縮小)
- 24. 与えられたグラフを等価形式に効率的に縮小して表現する方法は?
- 25. 巨大なバイナリファイルはほぼ100%縮小されますか?
- 26. 縮小ジャスミンテストは縮小ソースで失敗する
- 27. テキストボックスサイズの縮小/縮小
- 28. OS X上のASP.NETコアで縮小されたCSSを更新
- 29. Python json.dumps(<val>)は縮小されたjsonを出力しますか?
- 30. スケールアップされたサイズから要素を縮小する方法は?
BSON文書が非常にコンパクトであり、私はあなたが再せず、さらにそれを圧縮しますかわからないことを覚えておく必要がありませんように、あなたのコードは、これらのデータの唯一の読者になる場合には許容することができMongoDBのための独自のデータストアを書きます。あなたの文書が最大限を超えているなら、私は文書構造を再訪することを提案するでしょう。 – Saleem
おそらくデータモデルを再訪するべきです。 16Mbは大変です。そのすべての文書に何を保存していますか?プラス私はそれが役立つとは思わないが、あなたが使用しているストアエンジンは何ですか?より新しいmongoバージョンのデフォルトストレージエンジンとしてtigerを配線し、圧縮を実行する必要があります。 https://docs.mongodb.com/manual/core/wiredtiger/#compression –
@IshanSoni yea私は同意しました。私の質問は、同じ構造を表す縮小された文書スペース使用量の観点から、非縮小文書と同等でした。 – mjsr