couchdb(couchdb和mysql的对比)

zhangyang 2022-05-12 阅读:27
  

现在最成熟的开源nosql是什么?分别有什么优缺点

  MySQL是一个开源数据库。默认的MySQL是DOC下的数据库,Windows下没有可视化界面。不过可以下载Windows下MySQL的可视化界面的第三方补丁。阿帕奇三剑客:hbase,cassandra,couchdb。Hbase的前景最有希望,因为它的开发者众多,而且都是顶尖的。卡珊德拉目前有很多负面的声音。Couchdb短小精悍,备受推崇。即将正式发布的couchbase结合了membase和couchdb,非常令人期待。

  Hbase和cassandra都是基于列的数据库,模仿google的bigtable。它们都是用java写的。另一个类似的数据库是hypertable,百度在一些后台分析中使用,因为是C写的,速度比较快。不过hypertable有点边缘,不太受欢迎。目前这些基于列的开源数据库比goolge的bigtable小一个数量级。

  Couchdb是一个文档数据库。它最大的竞争对手是mongodb。mongodb和hbase都采用主从服务器设计。Couchdb的服务器分布设计类似于cassandra的,点对点类型。主从服务器设计一般更强更一致,属于cap理论中的cp型。Couchdb和cassandra一般被认为是最终一致的,属于cap理论中的ap类型。实际上,mongodb和cassandra可以设置为强一致或最终一致。

  上面提到的数据库都支持mapreduce。好像hypertable支持非主键索引。hbase配置的Mongodb和strong consistent都支持最基本的锁定(hbase单行锁定,mongodb单文档锁定),所以可以实现事务,但是实现起来有点复杂,效率不高。就单笔交易而言,开源的nosql数据库目前做得并不好。

  mongodb最大的卖点是可以执行很多查询,而不需要构建非主键索引。但是mongodb的服务器分布设计实在不敢恭维,可以说是nosql数据库中最难看的实现了。

  k-v数据库有很多,上面提到的基于列的数据库和文档数据库都是k-v数据库。热门纯种k-v数据库有:个。

  Memcached:很流行,不支持持久化。

  Vmware的redis:很受欢迎,新浪和知乎都用,cp型。

  Membase:由许多memcached开发人员开发,使用sqlite作为底层存储。在社交游戏中用的比较多,zynga在用,cp型。

  Riak,分布式实现类似couchdb/cassandra,ap类型。支持Mapreduce。

  林金的伏地魔,一个罕见的最终符合k-v,ap类型。

  TC TT

  基于索引的neo4j纯二维坐标是次要的。但是现在mongodb和couchdb都集成了这个特性。

  目前,由couchdb开发者创办的公司couchone购买了membase,用couchdb替换了其底层sqlite并推出了couchbase,从而引入了mapreduce来支持非主键索引。Couchbase目前还没有正式发布正式版,但也快了。虽然couchdb最终是一致的,但是couchbase的开发者声称couchbase保持了membase的强一致特性,具体实现需要以后再研究。

  从成熟的角度来说,couchdb、memcached和redis是比较成熟和流行的。

  Hbase、mongondb和cassandra都是相对较新的产品,正在频繁更新。最有前途的是hbase,但是hadoop/hbase集群的维护往往需要很多专业人员,需要搭建一个大型集群才能发挥最大的威力,所以用户主要是facebook、雅虎、百度、阿里巴巴等大公司。

  我个人很期待couchbase。

  转载仅供参考,版权归原作者所有。祝你有愉快的一天。满意请采纳。

MongoDB,如何把查询结果保存成为一个collection?

  var lst=db . t1 . find();

  while(lst . has next())db . T2 . insert(lst . next());Mongodb和couchdb都是面向文档的数据库。Mongodb和couchdb是开源nosql数据库最典型的代表。它们除了都是以文档的形式存储之外,没有任何共同之处。mongodb和couchdb在数据模型实现、接口、对象存储和复制方法上有很多不同。

评论(0)

二维码