【发布时间】:2013-12-03 23:17:52
【问题描述】:
我正在尝试在 mongoDB 中存储具有一组双精度和整数(大约 15-20)的记录。大部分记录(99.99%)具有相同的结构。
当我以root(一种非常结构化的数据存储格式)存储数据时,对于 2250 万 条记录,该文件大约为 2.5GB。然而,对于 Mongo,数据库大小(来自命令 show dbs)约为 21GB,而数据大小(来自 db.collection.stats())约为 13GB。
这是一个巨大的开销(澄清:13GB 与 2.5GB,我什至不是在谈论 21GB),我猜这是因为它同时存储了 keys 和 values .所以问题是,为什么以及如何 Mongo 在缩小它方面做得更好?
但主要问题是,这对性能有何影响?我有 4 个索引,它们的大小为 3GB,因此如果我将数据量翻倍并尝试在内存中保留大量工作集,则在单个 8GB 机器上运行服务器可能会成为问题。
我是否应该使用 SQL 或其他数据库有任何猜测吗?或者如果有人尝试过,就继续使用 ROOT 文件?
【问题讨论】:
-
这个问题可能意味着不同的事情,具体取决于您的情况。 1. 如果您是 Mongo 的新手,您需要的答案很可能是 lix 未接受的答案。 2.实际问题是关于压缩的。因此,如果您使用的是旧的 mongo,或者不知何故没有压缩,请查看 Mongo 压缩引擎。
标签: mongodb large-data database