自从我开始深入研究 CouchDB,特别是 Membase (Couchbase) 已经是第四天了,由于管理简单,Membase 对我来说似乎非常有趣的技术,它们的界面既神奇又非正式且简单。添加/删除存储桶的方式非常有趣。
不幸的是,我没能在 Mac OS X 上启动他们的 .NET 客户端(在 Windows 上运行得很好),也找不到执行 Map/Reduce 查询的方法,所以看来 Membase Server 技术还很有限。比纯 CouchDB 更简单。不管怎样,一切都改变了,直到最近我偶然发现了描述他们技术的图表:
图像解释here
似乎“Couchbase 服务器(当前是 Membase 服务器)”扮演某种不能直接访问的主数据库的角色,并且还有“Couchbase Single Server”扮演客户端数据库的角色,它具有所有CouchDB 的功能(例如 Map/Reduce 查询)
如果是这样,那么“CouchSync”是如何执行的?是否可以通过代码执行此“CouchSync”?
最佳答案
在向您描述 CouchSync 的工作原理之前,我认为描述一下 Couchbase 产品历史的演变会对我有所帮助。这会让事情变得更清楚。大约一年前,Membase Server 首次发布。 Membase Server 背后的想法是为 memcached 提供持久性(持久层是 sqlite)和易于使用的集群技术。大约 6 个月前,Membase 和 CouchOne 公司合并成立了 Couchbase。合并后Couchbase直接继续提供Membase Server,但现在也提供Couchbase Single Server。 Couchbase Single Server 本质上是 CouchDB,默认情况下打包了 GeoCouch 以及许多主要的性能改进。 2011 年 7 月 29 日,Couchbase 宣布推出 Couchbase Server 第一个版本的开发者预览版。 Couchbase Server 是 Couchbase Single Server 和 Membase 的组合。基本上,Couchbase 所做的就是用 CouchDB 取代 sqlite 作为持久化引擎。因此,这基本上导致该产品从键值存储转变为文档存储数据库。
那么什么是 CouchSync?
CouchSync 基本上就是 Couchbase 所说的 CouchDB 复制。在 Couchbase Server、Couchbase Single Server 和 CouchDB 中设置都非常简单。它只是从一台服务器流式传输到另一台服务器的更改源。
关于使用 Membase 的说明。由于 Membase 不提供任何 CouchDB 支持,因此它实际上不适合此图,因此不支持 CouchSync。您实际上需要查看 Couchbase Server 的开发人员预览版,因为该产品同时具有 Membase 和 CouchDB 功能。同时,如果您正在寻找更稳定的东西来测试,那么请看一下 Couchbase Single Server,因为它将能够让您体验 Couchbase Server 中的一些功能(例如 CouchSync)
此外,此图的要点是表明您可以在整个 Couchbase 产品线中执行 CouchSync。您无需通过 Couchbase Single Server 即可将 CouchSync 同步到 Couchbase Mobile。您可以直接从 Couchbase Server 执行 CouchSync。
是否可以通过代码执行 CouchSync? 不,比那更容易。您可以在网络用户界面中进行设置。
希望有帮助。
[编辑]: 该图现在已经过时了。 Couchbase 该公司不再支持 Couchbase Single Server(这是 CouchDB 的版本)。 CouchSync 功能现在将直接与 Couchbase 服务器同步。
关于couchdb - Membase 有人可以解释一下他们的技术背后的想法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040980/