CouchDB和Couchbase之间的区别 [英] Difference between CouchDB and Couchbase

查看:103
本文介绍了CouchDB和Couchbase之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CouchDB Couchbase

推荐答案

我认为CouchDB与需要指出的Couchbase Server。

I think there are some essential differences between CouchDB and Couchbase Server that need to be pointed out.

我不会写从CouchDB切换到Couchbase Server的优势,因为到处都有描述(参见 CouchDB的未来,作者:Damien Katz或
Couchbase与Apache CouchDB
(Couchbase)。相反,我将尝试枚举您在Couchbase服务器中找不到的 CouchDB功能

I will not write about the advantages of switching from CouchDB to the Couchbase Server because those are described pretty much everywhere (see The Future of CouchDB by Damien Katz or Couchbase vs. Apache CouchDB by Couchbase). Instead, I will try to enumerate features of CouchDB that you will not find in the Couchbase Server.

所有与CouchDB和Couchbase可能确实令人困惑,因此我更新了此答案,以最重要的简短说明开始。

All of the names relating to CouchDB and Couchbase can be really confusing, so I've updated this answer, to begin with a brief explanation of the most important ones.

有CouchDB,CouchIO,CouchOne,Couchbase,Couchbase服务器,Couchbase移动版,Couchbase Lite,CouchApps,BigCouch,Touchbase,Membase,Memcached,MemcacheDB ...都各不相同但又以某种方式相关

There is CouchDB, CouchIO, CouchOne, Couchbase, Couchbase Server, Couchbase Mobile, Couchbase Lite, CouchApps, BigCouch, Touchbase, Membase, Memcached, MemcacheDB... all different and yet related in a way not at all obvious from the names alone.

首先,有CouchDB,这是由前IBM开发人员Damien Katz创建的数据库。在成为Apache项目后,其正式名称更改为Apache CouchDB。

First, there was CouchDB, a database created by Damien Katz, a former IBM developer. Its official name was changed to Apache CouchDB after it became an Apache project.

一家名为CouchIO的公司成立,致力于处理Apache CouchDB,后来更名为CouchOne(由它的名称是指公司名称,而不是数据库名称。

A company named CouchIO was founded to work on Apache CouchDB and later changed its name to CouchOne (by "its name" I mean the company name - not the database name).

CouchOne(以前称为CouchIO)与Membase(以前称为NorthScale)合并,成立了一家名为Couchbase的新公司。 Membase(该公司)开发了Membase(同名产品)。 Membase是由Memcached项目的几位领导创建的,它使用了Memcached协议。 CouchOne和Membase合并后,Couchbase继续开发Membase软件,后来将其更名为Couchbase Server。

CouchOne (formerly CouchIO) merged with Membase (formerly NorthScale) to form a new company called Couchbase. Membase (the company) developed Membase (a product of the same name). Membase was created by several leaders of the Memcached project and it used the Memcached protocol. After the merger of CouchOne and Membase, Couchbase continued the development of the Membase software and later changed its name to Couchbase Server.

今天,我认为大多数人认为Couchbase Server是CouchDB的新版本,但实际上是Membase的新版本。它仍然使用Memcached协议,而不使用CouchDB的RESTful API。同时,CouchDB仍然是CouchDB,作为Apache项目积极维护和增强。

Today I think most people believe that Couchbase Server is a new version of CouchDB but it is, in fact, a new version of Membase. It still uses the Memcached protocol and not the RESTful API of CouchDB. Meanwhile, CouchDB is still CouchDB, actively maintained and enhanced as an Apache project.

现在有了相关的区别:

Couchbase服务器并非完全打开-source / 免费软件。有两个版本:社区版(免费,但没有最新的错误修复)和企业版(使用限制,机密性规定,Couchbase Inc.的审核有限制,将在被许可人的设施正常工作时间内进行和其他术语

The Couchbase Server is not entirely open-source/free software. There are two versions: Community Edition (free but no latest bug fixes) and Enterprise Edition (there are restrictions on usage, confidentiality provisions, audits by Couchbase Inc. that "will be conducted during regular business hours at Licensee's facilities" and other terms typical to proprietary software that many people may find unacceptable).

CouchDB是Apache Software Foundation的开源/免费软件(无附加条件)项目,在 Apache许可证,版本2.0 (与DFSG兼容,FSF认可,OSI认可,GPL -兼容,非copyleft,对商业友好)。

CouchDB is an open-source/free software (no strings attached) project of The Apache Software Foundation and is released under the Apache License, Version 2.0 (DFSG-compatible, FSF-approved, OSI-approved, GPL-compatible, non-copyleft, commercial-friendly).

我从未见过它直接指向过出来,但这实际上可能是两者之间最重要的区别o数据库,因为它与分布式计算模型的基本原理密切相关,而不仅与某些功能,API或许可有关。 CouchDB和Couchbase Server在构建分布式系统和数据库的理念上完全不同。

I have never seen it directly pointed out but this may be actually the most important difference between those two databases because it is deeply about the underlying philosophy of distributed computing models and not only about certain features, APIs or licensing. CouchDB and the Couchbase Server completely differ in their philosophy of building distributed systems and databases.

根据 CAP定理分布式数据库不可能同时提供一致性,可用性和分区容限。

According to the CAP theorem it is impossible for a distributed database to simultaneously provide consistency, availability and partition tolerance.

CouchDB 是一种 AP 类型的系统(提供 Availability Partition tolerance )。

CouchDB is an AP type system (provides Availability and Partition tolerance).

Couchbase Server CP 类型的系统(根据维基百科)或 CA 类型系统(根据 Couchbase技术更新)-其中哪些是正确的?请评论。

Couchbase Server is EITHER a CP type system (according to Wikipedia) OR a CA type system (according to Couchbase technical update) - WHICH OF THESE IS CORRECT? PLEASE COMMENT.

这是我发现的CouchDB功能列表Couchbase服务器不支持的内容:

This is what I found to be a list of CouchDB features that are not supported by the Couchbase Server:

  • no RESTful API (only for views, not for CRUD operations)
  • no _changes feed
  • no peer-to-peer replication
  • no CouchApps
  • no Futon (there is a different administration interface available)
  • no document IDs
  • no notion of databases (there are only buckets)
  • no replication between a CouchDB database and Couchbase Server
  • no explicit attachments (you have to store additional files as new key/value pairs)
  • no HTTP API for everything (you need to use the Couchbase Server SDKs or one of the Experimental Client Libraries at Couchbase Develop so no experiments with curl and wget)
  • no CouchDB API (it uses the Memcached API instead)
  • you can't do everything from the browser (you have to write a server-side application)
  • no two-tier architecture for Web apps is possible (you have to write a server-side application to sit between the browser and the database, like with relational databases)
  • no eventual consistency
  • not entirely open-source/free software
  • not a drop-in replacement for CouchDB (seems like a drop-in replacement for Memcached instead)

这些功能CouchDB对您可能并不重要,因此,缺少它们是否是严格的主观判断,但我认为是否从CouchDB切换到Couchbase Server的决定应基于这些差异以及您对

Those features of CouchDB may or may not be important to you so whether the lack of them is a disadvantage or not is strictly subjective, but I think that the decision whether to switch from CouchDB to Couchbase Server or not should be based on those differences and your dependence on those feature in your current CouchDB deployments.

例如,如果您在观看 CouchDB更改供稿 Mikeal Rogers或其中一位伟大的CouchAp的NodeCamp演讲p。J. Chris Anderson编写的p教程,那么您必须意识到,如果要切换到Couchbase Server,则必须忘掉他们正在谈论的几乎所有内容。

For example if you've got interested in CouchDB after watching The CouchDB changes feed NodeCamp talk by Mikeal Rogers or one of the great CouchApp tutorials by J. Chris Anderson then you have to realize that if you want to switch to the Couchbase Server then you will have to forget about pretty much everything they were talking about.

因此,我想说Couchbase Server看起来像是Memcached和Membase的演变(而不是CouchDB的演变),因此,如果您当前正在使用Memchached或Membase,那么它看起来像是一个很棒的产品。如果您以最基本的方式使用CouchDB,则可以考虑将Couchbase Server用于相同的用途,并且它的性能可能会有所提高,也可能会有所改善(如果您不介意许可限制)。但是,如果您实际上使用的是CouchDB中独有的任何功能(例如更改提要,CouchApps,两层体系结构,对等复制等),那么您可以忘记这些功能或留在CouchDB中。
无论如何,请确保阅读并理解为CouchDB用户迁移到Couchbase 教程,然后再考虑切换。

Because of that, I would say that Couchbase Server looks like an evolution of Memcached and Membase (not an evolution of CouchDB) and as such it looks like a great product if you are currently using Memchached or Membase. If you are using CouchDB in the most basic way then you may consider using the Couchbase Server for the same things and it may or may not perform better (if you don't mind the license restrictions). But if you are actually using any of the features that are unique in CouchDB (like the changes feed, CouchApps, two-tier architecture, peer-to-peer replication etc.) then you can either forget about those features or stay with CouchDB. In any case, make sure to read and understand the Migration to Couchbase for CouchDB Users tutorial before you think about switching.

人们通常会产生错误的印象(也许在阅读这样的东西之后,CouchDB的未来是什么?它就是Couchbase。 ),则CouchDB被Couchbase服务器淘汰了,或者它是Couchbase的旧旧版本。同时 CouchDB 是一个积极维护的开源项目,Couchbase服务器是一个完全独立的项目(这是一个较新的项目但它不是CouchDB的较新版本-它们甚至不兼容),并且由于仍在继续开发用于创建CouchApps的新工具(例如,请参见 Kanso 项目),那么CouchDB很快就不会发布。

People often get the wrong impression (maybe after reading things like "What's the future of CouchDB? It's Couchbase.") that CouchDB is somehow obsoleted by the Couchbase Server, or that it is an old, legacy version of Couchbase. Meanwhile CouchDB is an actively maintained open-source project, Couchbase server is a completely separate project (it is a newer project but it is not a newer version of CouchDB - they are not even compatible) and since even new tools for creating CouchApps still keep being developed (eg. see the Kanso project) then CouchDB is not going anywhere soon.

我希望它可以澄清混乱情况。如果我对这里的任何内容有误,请纠正我。

I hope it clarifies the confusion. Please correct me if I'm wrong on anything here.

Couchbase服务器实际上是一个新的Membase服务器的名称(Membase服务器在版本1.8左右的某个位置重命名为Couchbase Server)。请参见 Couchbase 2011年度回顾

Couchbase Server is actually a new name for the Membase Server (the Membase Server was renamed to Couchbase Server somewhere around version 1.8). See Couchbase 2011 Year in Review:


不幸的是,我们混淆了许多潜在用户。除了Membase Server和我们的新移动产品外,我们还提供了Couchbase Single Server,它是Apache CouchDB的打包发行版。最重要的是,我们开始发布Couchbase Server 2.0的开发人员预览版,该版本将CouchDB技术整合到了Membase Server中-但是该产品与Couchbase Single Server(或CouchDB)不兼容。 [...] Membase Server在明年1月的下一个版本中将被重命名为Couchbase Server 1.8 –这只是一个小步骤,可以减轻名称的混乱。按照一开始的计划,Couchbase Server 2.0版本(当前在Developer Preview 3中)将添加索引和查询功能。尽管Couchbase Server 2.0将整合CouchDB项目中的实质性技术,但它不会与CouchDB向上兼容,因此不应将其视为 CouchDB的版本。 [重点强调]



另请参见:



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆