Mongodb问题与磁盘空间

时间:2014-08-25 13:51:30

标签: mongodb

我们有什么方法可以压缩保存在磁盘上的mongodb数据? 目前保存的数据超过30 Gb。

感谢任何帮助。

由于 Sanchet

4 个答案:

答案 0 :(得分:0)

mongodb中磁盘上的数据量取决于您选择的数据模型。如果您的大部分数据都是嵌入的(非规范化),那么显然它会导致磁盘空间消耗更高。事实上,MongoDB主张由于磁盘空间很便宜,我们可以轻松地复制数据以获得更好的性能。

此外,您可以归档未经常使用的数据。 附加提示 - 如果日志文件占用大量磁盘空间,则可以限制它们的大小。

答案 1 :(得分:0)

如果您能提供更多有关数据存储信息的信息,我们可以更好地帮助您。我猜想一个简单的压缩是不可能的,因为它已经以二进制格式存储(好吧,由于特殊功能,它不时使用比简单二进制格式更多的空间)。但要压缩它并仍然可用......我不这么认为。

但是,如果您将大量相同的数据保存为嵌套文档,那么您可以做的是将这些数据保存在额外的集合中并通过ObjectId引用它...但这也意味着软件的更改适用于DB ......

答案 2 :(得分:0)

有一个名为TokuMX(http://www.tokutek.com/products/tokumx-for-mongodb/)的解决方案,它取代了默认存储系统并添加压缩(您甚至可以选择压缩算法)。您可以将存储空间减少90%。这非常有效并且完全可靠(但它还没有用于Windows)。

答案 3 :(得分:0)

您有两个选择:repairDatabase或compact。 repairDatabase将导致停机,但会压缩整个数据库中的所有集合。 Compact将在每个集合的基础上连续运行。

参考:http://docs.mongodb.org/manual/reference/command/repairDatabase/