搜索

首页  >  问答  >  正文

mongodb - mongo存储空间问题

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

  1. 记录类型格式

    {
       “playerId”:1234,
       “username”:“bob”
       “desc”:“play game”
    }
  2. 数组格式:

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

问题扩展

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

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

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

黄舟黄舟2765 天前821

全部回复(4)我来回复

  • 为情所困

    为情所困2017-04-28 09:06:14

    倾向于第一种

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

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

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

    数组乱序这个不会。

    回复
    0
  • 世界只因有你

    世界只因有你2017-04-28 09:06:14

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

    回复
    0
  • 高洛峰

    高洛峰2017-04-28 09:06:14

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

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

    回复
    0
  • PHPz

    PHPz2017-04-28 09:06:14

    还是楼上所说json

    回复
    0
  • 取消回复