我正在构建一个超过 15 TB 的数据仓库。虽然存储很便宜,但由于预算有限,我们必须将尽可能多的数据压缩到该空间,同时保持性能和灵 active ,因为数据格式经常变化。
我尝试将 Infobright(社区版)作为 SQL 解决方案,它在存储和性能方面表现出色,但数据/表更改的限制使其几乎无法使用。 infobright 的企业版定价非常高。
在检查了 MongoDB 之后,它似乎很有前途,除了一件事。我和一个 10gen 的人聊天,他说他们并没有真正考虑存储空间,因为他们将数据扁平化以实现性能和灵 active ,而且在他们看来存储太便宜了现在要打扰。
因此,任何有经验的 mongo 用户都可以评论它的存储空间与 mysql(因为它是我们现在比较的标准)。如果它更大或更小,你能给出大概的比例吗?我知道这在很大程度上取决于您在 SQL 中放入的数据类型以及您如何定义字段、索引等...但我只是想了解一个总体思路。
提前感谢您的帮助!
最佳答案
MongoDB 并未针对小磁盘空间进行优化 - 正如您所说,“磁盘很便宜”。
根据我所见所闻,由于以下原因,很难估计所需的磁盘空间:
- 填充文档以允许就地更新
- 属性名称存储在每个集合中,因此使用缩写可能会节省很多
- 没有内置压缩(目前)
- ...
恕我直言,一般方法是构建原型(prototype)、插入数据并查看您的特定用例需要多少磁盘空间。您对查询(插入和更新)建模的越真实,您的结果就越好。
有关详细信息,请参阅 http://www.mongodb.org/display/DOCS/Excessive+Disk+Space
关于mysql - MongoDB 与 Mysql 存储空间比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717551/