【问题标题】:CouchDB CompressionCouchDB 压缩
【发布时间】:2015-03-01 02:33:46
【问题描述】:
我有一个 MySQL 数据库,我想将它存储在一个外部 4TB 驱动器上,但是当我将数据库复制到它时,服务器无法重新启动。我发现这与扇区大小问题有关。
这让我有理由跳到 NoSQL。我喜欢 CouchDB 的易用性和 HTTP API,但如果没有压缩,数据库根本无法为我工作。我有一个 40GB 的 MySQL 数据库,数据迁移还不到十分之一,已经超过 100GB。
我有什么遗漏吗?可以/我可以启用压缩吗?
谢谢!
【问题讨论】:
标签:
mysql
compression
couchdb
nosql
【解决方案1】:
CouchDB 以磁盘空间换取读/写速度。一个类似的 CouchDB 数据库很可能会比 MySQL 占用更多的磁盘空间。
话虽如此,您可以采取多种措施来节省磁盘空间:
换句话说,避免这种情况:
function (doc) {
emit(doc.key, doc);
}
对于您这样编写的每个视图,每次发出都意味着文档在您的数据库中被复制。因此,您只需要 这样做:(大多数时候,您不需要第二个参数)
function (doc) {
emit(doc.key);
}
我确定您还可以做其他事情,如果我想到更多,我会修改此答案。 (如果您知道我遗漏的任何内容,请发表评论)