我正在调查CouchDB和Couchbase,因为我正在为一个Web应用程序寻找一个数据库解决方案,我最终也可以将其制作成一个原生的Android / iOS应用程序。据我所知,CouchDB / Couchbase擅长脱机使用数据库,并在连接恢复后立即进行同步。
我进一步了解CouchDB和Couchbase是来自2个不同组织的2个不同产品 - CouchDB来自Apache,Couchbase来自Couchbase。 SO here explaining some of the differences中有很好的回复。
Couchbase拥有Couchbase-Lite-Android,与iOS相似,适用于与Couchbase服务器同步的移动应用的原生嵌入式数据库。
我迷路的地方是当我试图找到相当于CouchDB的时候。一切都指向TouchDB,然后说它不再是积极开发的,而是指向Couchbase-Lite-Android作为超越它的项目。但Couchbase-List-Android / iOS与CouchDB或Couchbase同步吗?根据Wiki,它表明它可以与CouchDB同步,但它是次要的后端,它接收较低的优先级和/或错误修复。
那么什么是应该用于Android / iOS的CouchDB的嵌入式/移动版本?
答案 0 :(得分:4)
这是“Couchbase Lite”。
我对here回答了类似的问题/混淆。 TouchDB是一个Apache-CouchDB兼容的数据库引擎,适合嵌入到移动/桌面应用程序中。这里的兼容因素是CouchDB的复制协议& NoSQL数据模型。
在process提供移动同步作为Couchbase Server的一项功能时,他们将TouchDB更改并重命名为Couchbase Lite,并构建Sync Gateway以充当Couchbase Server和之间的服务器端桥接器。 Couchbase Lite。
但数据模型&复制协议仍然与Apache-CouchDB相同,而Couchbase Lite的复制与CouchDB完全兼容。
总结一下,Couchbase Lite< -sync-> Apache-CouchDB& Couchbase Lite< -sync-> (通过Sync Gateway)Couchbase Server。
我怀疑CouchDB是次要后端,它接收较低优先级和/或错误修复。自从TouchDB和IMO时代以来,我们一直在使用Couchbase Lite,Couchbase-Lite得到了积极的开发和大力支持。