我最近听到很多关于couchdb的消息,并对它提供的内容感到困惑。
答案 0 :(得分:6)
很难解释严格优势/劣势形式的所有差异。
我建议你自己玩一下CouchDB吧。您会注意到的第一件事是初始使用期间的学习曲线完全与RDBMS相反。
使用RDBMS,您需要花费大量的时间来建模您的真实世界数据,以便将其输入数据库。一旦处理了建模,就可以进行各种查询。
使用CouchDB,您只需使用JSON获取所有数据并将数据存储在数据库中。您不需要进行任何规范化或类似的操作,并且传输是HTTP,因此您有足够的客户端选项。
然后,在编写地图函数和了解密钥校对的工作方式以及针对您编写的视图的查询时,您会注意到一个很大的学习曲线。一旦你学会了它们,你就会开始看到视图如何允许你规范化索引,同时保持数据不规范化和“自然”。
答案 1 :(得分:2)
CouchDB是document-oriented database。
维基百科:
与关系数据库相反,基于文档的数据库不会将数据存储在具有每个记录的统一大小字段的表中。相反,每条记录都存储为具有某些特征的文档。可以将任意长度的任意数量的字段添加到文档中。字段还可以包含多个数据。
优点:
答案 2 :(得分:2)
答案 3 :(得分:1)
看看here。 我认为最好的答案是:
就像CouchDB并不总是那样 适合工作的正确工具,RDBMS是 也不总是正确的答案。
答案 4 :(得分:-5)
CouchDB是一个磁盘,因为它不会更新文档 - 每次更新时它都会创建一个新的修订版本,因为你没有空字段,因此修改版本会使用非浪费空间部分。