Запутался, как использовать CouchDB на Android - PullRequest
45 голосов
/ 18 февраля 2012

Я хочу, чтобы CouchDB работал как бэкэнд для моего мобильного приложения, заменив SQlite.

Я был невероятно смущен как новичок в этой технологии, потому что, в дополнение ко всем аналогичным звуковым продуктам, выпущенным Couchbase в прошлом году (Couchbase, Couchbase Single Server, Membase, Couchbase Mobile), теперь они, кажется, отбрасываются / объединяются все они в одном проекте, Couchbase Server. Но это на самом деле Membase, а не CouchDB. В довершение всего, создатель CouchDB больше не собирается работать над CouchDB. Тем не менее, похоже, что вокруг CouchDB очень активное сообщество. Вот что я знаю:

  1. Я понимаю, что компания Couchbase больше не предоставляет дистрибутив CouchDB.

  2. Я понимаю, что Couchbase Server, новый фокус компании Couchbase, на самом деле вовсе не CouchDB и не совместим с CouchDB. Он не реализует HTTP API, который использует CouchDB, он использует двоичный протокол, разработанный на основе Membase.

  3. Вся недавняя информация о CouchDB Mobile, похоже, указывает на Couchbase Mobile.

Мои вопросы сводятся к:

Можно ли использовать CouchDB на устройстве Android? В частности, CouchDB, а не Couchbase Server, потому что API не совместимы

Если это все еще возможно, как мне это сделать? Где находится исходный код? Какие-нибудь примеры приложений?

Извините, если мой вопрос запутался. Честно говоря, я с трудом пробираюсь по огромной коллекции, казалось бы, противоречивых сообщений в Интернете. Я просто хочу запустить CouchDB на Android! :)

Ответы [ 4 ]

31 голосов
/ 20 февраля 2012

как соучредитель Couchbase, я смогу дать вам более четкое понимание.Я отвечу на ваши вопросы по очереди.

1) Верно.Сервер Couchbase не является CouchDB.Он жертвует некоторыми изящными вещами, которые делает CouchDB (интерфейс HTTP, репликация master / master), чтобы он мог делать другие полезные вещи (задержка менее миллисекунды, гигантские кластеры.) В долгосрочной перспективе мы бы хотели вернуться кПроизводительность версий функций нам пришлось отбросить.На данный момент мы создаем самую быструю и надежную базу данных NoSQL (да), но она не отвечает тем же сценариям использования, что и 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.Несмотря на то, что он легкий и уважает срок службы батареи (для ВМ), он все же является ВМ.Поэтому мы создаем более легкие механизмы синхронизации и хранения для мобильных устройств. TouchDB для iOS может синхронизироваться с Apache CouchDB.У нас также есть аналогичный проект для Android .Если бы я начинал новый проект, я бы посмотрел на них.

12 голосов
/ 19 февраля 2012

Порт Android TouchDB, https://github.com/couchbaselabs/TouchDB-Android, может быть интересен:

"TouchDB - это облегченный CouchDB-совместимый движок базы данных, подходящий для встраивания в мобильные или настольные приложения."

Это не полная замена CouchDB, но обещает API, который в основном такой же и, возможно, наиболее важный для вас, он «поддерживает репликацию в и из CouchDB».

6 голосов
/ 16 сентября 2013

TouchDB был заменен Android Couchbase Lite, а Couchbase-Lite-Android может использоваться только для сотовой и выше.

Также в эту дату, 16 сентября, библиотека находится в альфа-версии, и я не вижу, чтобы она в ближайшее время использовалась в производстве.Parse.com, который, конечно, платное решение.

3 голосов
/ 17 ноября 2016

Ответы здесь немного устарели.

Couchbase Lite - это зрелый, поставляемый продукт (с открытым исходным кодом), который реализует автономную, полнофункциональную базу данных NoSQL, предназначенную для мобильных устройств, IoT и других применений, где проблема с сетевым подключением или вам что-то нужнолегче, чем Couchbase Server.Он имеет широкую поддержку платформы.

Couchbase Lite выполняет синхронизацию.Он совместим с CouchDB.

Более подробную информацию можно найти на сайте Couchbase.Для мобильных устройств перейдите на http://developer.couchbase.com/mobile

Редактировать: Couchbase Mobile 2.0 был выпущен.Это значительное переписать.Репликация Couchbase Lite 2.0 использует новый протокол, который не совместим с CouchDB.

...