mysql - MongoDB 与 Mysql 存储空间比较

标签 mysql mongodb storage

我正在构建一个超过 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/

相关文章:

mysql - 如何在mysql中选择具有另一列子集的列?

mongodb - 在 MongoDb 中,如何对文档中存在的内部字段进行排序?

asp.net-mvc - 无法加载文件或程序集 'Microsoft.WindowsAzure.Storage' 或其依赖项之一

android - 关闭应用程序或重启设备时存储数据丢失

sql - 列表和 MySQL 查询

php - 如何使用php在父目录中创建子目录?

mongoDb:找不到索引来验证连接字段是否唯一

linux - Windows 10 Linux 子系统。如何安装 MongoDB

Magento "Flush Cache Storage"

mysql - 在 mysql 中将单行设置为变量