mongodb - mongo存储空间问题

【字号: 作者:雯心浏览:49日期:2023-07-02

问题描述

本人刚入行手游服务端开发,目前在跟一个项目,里面主要用到mongo db来存储数据,这两天纠结于mongo存储空间的问题:使用数组格式来存储数据和使用记录类型格式来存储数据,哪一种存储更加节省空间?

记录类型格式

{ “playerId”:1234, “username”:“bob” “desc”:“play game”}

数组格式:

{1234,“bob”,“play game”}

问题扩展

如果使用数组格式出库和入库会不会乱序?比如入库{1,2,3},读取读出来会不会成了{2,3,1},目前测试好像不会乱序。我想知道一些mongo底层原理,有什么好的推荐(网站,书籍,问答)?

通常你们更加倾向使用哪种格式来存储数据?为什么?

可能问题问得不是很好,望见谅。

问题解答

回答1:

倾向于第一种

不用那么在意存储空间,目前项目中5KW的数据,每条数据10个key左右,索引加数据总的存储空间也没有很大,大概不超过100G。

第一种格式对于查询更友好。

本身mongo就是文档型数据库,数据会以bson结构存储(类似json)。

数组乱序这个不会。

回答2:

作为文档性数据,为什么不选用更方便好用的json来存呢。无论是解析还是装载,都比数组更方便啊。如果用json 还可以避免你说的顺序问题。本人猜测数据顺序是不会乱的,及时你用数组。依据是mongo是按照文件空间存储顺序存储的

回答3:

使用 记录类型格式 来存储.易读, 易查询, 易统计. 数据不仅仅是存储的, 更要易用.数据库层面占用空间可以忽略, 硬盘是最便宜的资源.

只要你逻辑上用的数据结构是有序的, 那么存和读取都是有序的.

回答4:

还是楼上所说json

相关文章: