我最近听说过很多关于couchdb的事情,并对它提供的内容感到困惑.
很难用严格的优势/劣势形式解释所有差异.
我建议你自己玩一下CouchDB吧.您会注意到的第一件事是初始使用期间的学习曲线完全与RDBMS相反.
使用RDBMS,您需要花费大量的时间来建模您的真实世界数据,以便将其导入数据库.一旦处理了建模,就可以进行各种查询.
使用CouchDB,您只需使用JSON获取所有数据,然后将数据存储在数据库中.您不需要进行任何规范化或类似的操作,并且传输是HTTP,因此您有足够的客户端选项.
然后,在编写地图函数和学习密钥校对的工作方式以及针对您编写的视图的查询时,您会注意到一个很大的学习曲线.一旦你学会了它们,你就会开始看到视图如何允许你对索引进行规范化,同时保持数据不规范化和"自然".