本人刚入行手游服务端开发,目前在跟一个项目,里面主要用到mongo db来存储数据,这两天纠结于mongo存储空间的问题:使用数组格式来存储数据和使用记录类型格式来存储数据,哪一种存储更加节省空间?
记录类型格式
{
“playerId”:1234,
“username”:“bob”
“desc”:“play game”
}
数组格式:
{1234,“bob”,“play game”}
问题扩展
如果使用数组格式出库和入库会不会乱序?比如入库{1,2,3}
,读取读出来会不会成了{2,3,1}
,目前测试好像不会乱序。我想知道一些mongo底层原理,有什么好的推荐(网站,书籍,问答)?
通常你们更加倾向使用哪种格式来存储数据?为什么?
可能问题问得不是很好,望见谅。
最初のものに注目してください
ストレージ容量についてはあまり心配する必要はありません。プロジェクト内の現在の 5KW データには、各データに約 10 個のキーがあり、インデックスとデータの合計ストレージ容量はそれほど大きくなく、おそらく 100G を超えません。
最初の形式はクエリに適しています。
Mongo 自体はドキュメント データベースであり、データは (json に似た) bson 構造に保存されます。
配列の並べ替えは行われません。
ドキュメントデータとして、より便利で使いやすいものを選択してみてはいかがでしょうか? 先ほどの順序の問題も回避できます。配列を使ってもデータの順序は崩れないと思います。基本はmongoがファイルスペースストレージの順序で保存されるということです
json
来存呢。无论是解析还是装载,都比数组更方便啊。如果用json
レコードタイプ形式を使用して保存します。
読みやすく、クエリしやすく、カウントしやすいです。データは保存されるだけでなく、使いやすいです。
データベースレベルで占有されるスペースは無視でき、ハードディスクの容量は無視できます。最も安価なリソースです
論理的に使用するデータ構造が適切である限り、ストレージと読み取りの両方が適切に行われます。
上記のようにまだ json です