我已经测试了NoSQL数据库(例如CouchDB,MongoDB和Cassandra),并观察到相对于插入的键值对吸收大量驱动器空间的趋势。
比较CouchDB和MySQL无模式数据库时,CouchDB比MySQL占用更多的驱动器空间。
我知道默认情况下,键值数据库是版本控制,具有较长的uuid且需要对键进行优化-比较是在MySQL中的约1500万行和NoSQL数据库中列出的1-5百万个文档之间。

我的问题是:是否有NoSQL具有良好的数据压缩/压缩功能?
这样我就可以拥有比50GB更接近5GB的NoSQL数据库?

最佳答案

MongoDB具有“数据库修复”功能,该功能还执行压缩。但是,在数据库运行时不会进行这种压缩。

但是,如果数据库空间是一个严重的问题,请尝试设置MongoDB主/从对。由于数据需要压缩,因此请在从属服务器上进行修复,使其“追赶”,然后再将其切换。现在,您可以安全地压缩主服务器了。

但是我必须回应jbellis的评论:您可能需要更多空间,并且其中大多数产品都假设磁盘空间(相对)便宜。如果磁盘空间确实很紧张,那么您会发现MongoDB的大小合理,但是与表格CSV数据竞争将非常困难。

这样想吧,还有什么更节省空间的

  • 包含一百万行的CSV文件
  • 表示以JSON格式格式化了相同的数据

  • 显然,如果您每次都重复字段名称,那么JSON的使用时间会更长。唯一的异常(exception)是CSV文件,其中有100列,每行只填充了几列。 (但这可能不是您的数据)

    09-30 21:26
    查看更多