2012-02-18 101 views
43

我想運行的CouchDB作爲後端爲我的移動應用程序,更換SQlite的使用CouchDB的。困惑如何在Android

作爲這種技術的新手,我一直非常困惑,因爲除了去年Couchbase發佈的所有類似的探測產品(Couchbase,Couchbase Single Server,Membase,Couchbase Mobile)之外,他們現在似乎正在下降/將它們全部組合到一個單獨的項目Couchbase Server中。但是,這實際上是Membase,而不是CouchDB。最重要的是,CouchDB的創建者將不再使用CouchDB。然而,似乎有一個關於CouchDB的非常活躍的社區。這是我知道的:

  1. 據我所知,Couchbase,公司不再提供CouchDB中的分佈。

  2. 我知道Couchbase服務器是Couchbase公司的新焦點,它根本不是CouchDB,它與CouchDB不兼容。它沒有實現CouchDB使用的HTTP API,它使用從Membase發展而來的二進制協議。

  3. 所有對CouchDB的移動新的信息似乎指向Couchbase移動。

我的問題歸結爲:

是否仍然可以使用CouchDB的Android設備上?具體CouchDB的,不Couchbase Server,因爲此時的API

如果它仍然是可能的,我怎麼做是不兼容的?源代碼在哪裏?任何示例應用?

對不起,如果我的問題變得混亂。說實話,我很難在網上瀏覽大量看似矛盾的帖子。我只想在Android上運行CouchDB! :)

+0

一些偏離主題的東西,但爲什麼要使用CouchDB而不是SQLite? – Luksprog 2012-02-18 18:24:04

+2

@slukian我想利用CouchDB的複製功能。與移動應用程序一致的服務器應用程序使用CouchDB。 – Jonathan 2012-02-18 18:37:48

回答

12

TouchDB,https://github.com/couchbaselabs/TouchDB-Android的Android的端口,可能是有趣:

「TouchDB適合嵌入到移動或桌面應用程序的輕量級的CouchDB兼容的數據庫引擎。」

這不是CouchDB的替代品,而是承諾一個基本相同的API,也許對你來說最重要的是它「確實支持CouchDB的複製」。

+1

謝謝你,我會研究這個。我仍然希望能找到這麼多互聯網帖子提到的難以捉摸的Android的CouchDB。 – Jonathan 2012-02-19 11:06:20

30

爲Couchbase的聯合創始人,我應該能夠給你一個更清晰的認識。我會輪流回答你的問題。

1)正確。 Couchbase服務器不是CouchDB。它犧牲了CouchDB所做的一些精巧的事情(HTTP接口,主/主複製),因此它可以完成其他整潔的事情(亞毫秒延遲,巨大的集羣)。長期來看,我們不得不放棄高性能版本的功能。目前,我們正在構建最快最可靠的NoSQL數據庫(yay),但它不像CouchDB那樣回答相同的用例。

2)也許我剛纔已經回答了嗎?有關Couchbase Server的更多信息是在這裏:http://www.couchbase.com/couchbase-server/overview

3)Couchbase繼續投資於移動技術。我們已針對Android和iOS提供經過充分測試的實施。這些基於Apache CouchDB,因此它們將具有您正在尋找的功能集。訪問此處下載它們:http://www.couchbase.com/wiki/display/couchbase/Couchbase+Mobile+Syncpoint(請參閱該頁上的iOS和Android的鏈接)

展望未來,我們專注於輕量級替代方案,以實際在設備上運行基於CouchDB的代碼。要讓CouchDB在設備上運行,需要使用Erlang虛擬機。雖然它重量輕且尊重電池續航時間(對於VM),但它仍然是一臺虛擬機。所以我們正在爲移動設備構建更輕量級的同步和存儲引擎。 TouchDB for iOS可以與Apache CouchDB同步。我們也有a similar project for Android。如果我開始一個新項目,我會看看這些。

+0

您提出的兩個選項中,哪一個在您看來是更好的選擇?未來的Syncpoint版本是否與CouchDB兼容,還是需要在幾個月內找到新的解決方案?最後,連續複製/同步處理得如何?感謝您的幫助,非常感謝!我有你合着的一本書坐在我旁邊。 :) – Jonathan 2012-02-21 12:40:42

+0

還有一件事... GeoCouch如何適應圖片? – Jonathan 2012-02-21 12:42:22

+0

Syncpoint的同步層將基於Apache CouchDB,因此它應該與它同步。也就是說,我們可能會進行可能會破壞兼容性的優化。我們所做的一切都是開放源代碼,並可用於合併Apache項目,因此我們將保持兼容。 – 2012-03-16 17:56:02

6

TouchDB已被Couchbase Lite Android取代,Couchbase-Lite-Android只能用於Honeycomb及以上版本。

也是在這個日期13年9月16日,圖書館是在阿爾法,我沒有看到它在任何時間很快用於生產。

現在唯一的解決方案似乎是parse.com,這當然是一種付費解決方案。

+0

Github頁面(https://github.com/couchbase/Android-Couchbase)表示Android 2.1或更新版本,因爲它目前是。 – 2014-07-30 08:34:30

1

這裏的答案有點過時了。

Couchbase Lite是一個成熟的運輸產品(開源),它實現了一個獨立的功能齊全的NoSQL數據庫,適用於移動,物聯網和網絡連接問題的其他用途,或者您需要更輕的重量比Couchbase服務器。它有廣泛的平臺支持。

Couchbase Lite會進行同步。它與CouchDB兼容。

您可以在Couchbase網站上找到更多信息。對於移動設備,請轉到http://developer.couchbase.com/mobile