2014-09-09 14 views
5

Sto studiando CouchDB e Couchbase mentre sto cercando una soluzione DB per un'applicazione web che alla fine riuscirò a realizzare anche in un'app nativa per Android/iOS. Da quanto ho capito, CouchDB/Couchbase eccellono nel poter utilizzare il DB offline e farlo sincronizzare non appena la connessione viene ripristinata.Confuso con CouchDB e Couchbase

Capisco inoltre che CouchDB e Couchbase sono 2 prodotti distinti di 2 diverse organizzazioni: CouchDB è di Apache e Couchbase è di Couchbase. C'è una grande risposta in SO here explaining some of the differences.

Couchbase ha Couchbase-Lite-Android e simili per iOS come DB nativi integrati per app mobili che si sincronizzano con il server Couchbase.

Dove mi perdo è quando cerco di trovare l'equivalente CouchDB. Tutto punta a TouchDB che poi dice che non è più sviluppato attivamente e punta invece a Couchbase-Lite-Android come il progetto che lo ha superato. Ma Couchbase-List-Android/iOS si sincronizza con CouchDB o solo con Couchbase? Secondo il Wiki, indica che può sincronizzarsi con CouchDB, ma è un backend secondario che riceve priorità più basse e/o correzioni di bug.

Allora, quali sono le versioni embedded/mobile di CouchDB che dovrebbero essere utilizzate per Android/iOS?

+1

Il protocollo di replica utilizzato per la sincronizzazione con CouchDB è proprio questo, un protocollo http://dataprotocols.org/couchdb-replication/ che ad es. viene utilizzato b PouchDB che potrebbe essere di tuo interesse. – Daniel

+0

@Daniel Wow ... PouchDB - un JS DB? Interessante; mai sentito prima. Dovrò esaminarlo con più attenzione. Grazie per il consiglio. –

risposta

4

È "Couchbase Lite".

Ho risposto a una domanda simile/confusione su here. TouchDB è stato creato per essere un motore di database compatibile Apache-CouchDB adatto per l'incorporamento in app mobili/desktop. Il fattore compatibile qui è il protocollo di replica di CouchDB & Modello di dati NoSQL.

In un process da offrire sincronizzazione mobile come una caratteristica della Couchbase Server, hanno modificato e rinominato come TouchDB Couchbase Lite e anche, costruito Sync Gateway di agire come un ponte sul lato server tra Couchbase Server e Couchbase Lite.

Ma il protocollo di replica del modello di dati & è ancora lo stesso di Apache-CouchDB e la replica di Couchbase Lite è interamente compatibile con CouchDB.

Per concludere, Couchbase Lite < -sync-> Apache CouchDB & Couchbase Lite < -sync-> (via Sync Gateway) Couchbase Server.

Dubito che CouchDB sia un backend secondario che riceve priorità più bassa e/o correzioni di errori. Abbiamo utilizzato Couchbase Lite sin dai tempi di TouchDB e IMO, Couchbase-Lite è stato sviluppato e supportato in modo significativo.

+0

Grazie per il chiarimento. Sto cercando di guadare il mio modo nel mondo NoSQL e mi sono un po 'perso tra tutte le diverse offerte. Couchbase Lite ha reso tutto molto più confuso. :) –

+0

Capisco; Anche io avevo passato lo stesso. Puoi dare un'occhiata a [FAQ]. (Https://github.com/couchbase/couchbase-lite-ios/wiki/FAQ#compatibility) –

+0

Si prega di notare che CouchDB è un progetto primario che è in fase di sviluppo attivo. CouchDB è abbastanza popolare e abbastanza maturo. Ci scusiamo per il commento in ritardo, ma le supposizioni su CouchDB non sono corrette in questo momento e ho ritenuto importante ottenere informazioni accurate in questo thread. – uDude