【问题标题】:Connecting Couchbase sync adapter to couchdb server将 Couchbase 同步适配器连接到 couchdb 服务器
【发布时间】:2014-07-10 15:13:19
【问题描述】:

如何将 couchbase 同步适配器连接到 couchdb 服务器,文档仅说明如何使用 couchbase 服务器,然后使用 couchdb 没有的“管理员控制台”,以及何时运行

sync_adapter -url 192.168.1.xx/mydb 

返回错误

在你说“它不能完成”之前,这是来自 couchbase 文档的引述

“Couchbase Lite 可以与运行 Apache CouchDB 的服务器和与 通过同步网关的 Couchbase 服务器。”

【问题讨论】:

  • 只是为了验证,您正在尝试将同步网关连接到 CouchDB 服务器?你不能:它可以由 Walrus 文件存储或 Couchbase 服务器支持。你为什么要这样做?
  • @Will 然后解释文档中的这句话“Couchbase Lite 可以与运行 Apache CouchDB 的服务器同步,并通过同步网关与 Couchbase 服务器同步。”

标签: couchdb couchbase


【解决方案1】:

Couchbase Lite 与 CouchDB 复制兼容,您可以像在 Couchbase 上使用 Sync Gateway 一样使用它。

你在这里混合的是 3 种不同的工具:

  1. Sync Gateway,实际上是Couchbase ServerCouchDB API之间的适配器
  2. CouchDB 是另一个数据库
  3. Couchbase Lite 是移动数据库解决方案

说得更清楚一点,Couchbase Lite 是移动平台的文档存储数据库,从 API 看它完全像 CouchDB。由于 CouchDB 有很好的复制算法,可以在 HTTP API 上运行(是的,你只需要互联网连接来进行同步),Couchbase Lite 的作者发现它很方便并使用了它。 接下来,由于 Couchbase 数据库使用二进制协议(而不是 HTTP 复制)进行同步,因此他们为“HTTP API”同步制作了 Sync Gateway。

我不确定您是否可以使用 CouchDB 复制 Sync Gateway(由 Walrus 或 Couchbase 提供支持),但可以肯定的是,您可以使用 Sync Gateway 和/或使用 CouchDB 复制您的 Couchbase Lite。

长话短说:

  • CouchDB = 带有用于所有操作的 HTTP API 的数据库,
  • Couchbase = 数据库、二进制协议(=您需要驱动程序),
  • 同步网关 = Couchbase 上的 HTTP API
  • 或者您可以说 - Couchbase + Sync Gateway = CouchDB,并且
  • Couchbase Lite = CouchDB for mobile

【讨论】:

    【解决方案2】:

    我不认为你可以 - 请注意 Couchbase Server 是 significant evolution / fork of CouchDB,因此两者现在有很大不同。

    是否可以将 CouchDB 更改为能够连接到 Couchbase 同步网关?可能,但 AFAIK 还没有人这样做。

    【讨论】:

    • 然后解释文档中的这句话“Couchbase Lite 可以与运行 Apache CouchDB 的服务器同步,并通过 Sync Gateway 与 Couchbase 服务器同步。”
    • 同步网关代理 Couchbase 服务器并管理修订信息。这是一个沙发实例,您应该能够对其进行复制。我正在开发一个运行 Couchbase Lite 的 Cordova app,我已经针对 CouchDB 进行了复制。我正在将其转换为 Couchbase。
    【解决方案3】:

    同步/复制是 CouchDB 固有的。 它有自己的复制协议。 (http://docs.couchdb.org/en/latest/intro/overview.html?highlight=replication)

    根据您的应用程序/目标,您可以直接同步/复制到 CouchDB,而无需使用 couchbase 同步适配器。

    Couchbase lite(IOS 和 Android 版本)可以直接同步/复制到 Couchdb。 两个 CouchDB 实例可以直接相互同步/复制。 Pouchdb 可以直接同步/复制到其他 Pouchdb 实例或 Couchdb。

    您只需要 couchbase 同步适配器即可让 couchbase 同步/复制。

    【讨论】:

    • 究竟如何?根据我的发现,couchbase lite 仅通过同步网关同步
    • Here 是一些使用 CouchDB 复制 Couchbase Lite 实例的示例代码。
    【解决方案4】:

    sync_gateway -bucket mydb -url http://name:pass@localhost:8092

    【讨论】:

    • 等等,在这个页面上,你们都提供了问题的答案并说“它不能完成”,这是什么?
    • 这就是您设置同步网关以针对 Couchbase 服务器运行的方式。它不适用于 CouchDB。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 2016-01-28
    • 2016-02-18
    相关资源
    最近更新 更多