我已经测试了NoSQL数据库(例如CouchDB,MongoDB和Cassandra),并观察到相对于插入的键值对吸收大量驱动器空间的趋势。
比较CouchDB和MySQL无模式数据库时,CouchDB比MySQL占用更多的驱动器空间。
我知道默认情况下,键值数据库是版本控制,具有较长的uuid且需要对键进行优化-比较是在MySQL中的约1500万行和NoSQL数据库中列出的1-5百万个文档之间。
我的问题是:是否有NoSQL具有良好的数据压缩/压缩功能?
这样我就可以拥有比50GB更接近5GB的NoSQL数据库?
最佳答案
MongoDB具有“数据库修复”功能,该功能还执行压缩。但是,在数据库运行时不会进行这种压缩。
但是,如果数据库空间是一个严重的问题,请尝试设置MongoDB主/从对。由于数据需要压缩,因此请在从属服务器上进行修复,使其“追赶”,然后再将其切换。现在,您可以安全地压缩主服务器了。
但是我必须回应jbellis的评论:您可能需要更多空间,并且其中大多数产品都假设磁盘空间(相对)便宜。如果磁盘空间确实很紧张,那么您会发现MongoDB的大小合理,但是与表格CSV数据竞争将非常困难。
这样想吧,还有什么更节省空间的?
显然,如果您每次都重复字段名称,那么JSON的使用时间会更长。唯一的异常(exception)是CSV文件,其中有100列,每行只填充了几列。 (但这可能不是您的数据)