Не знаете, как использовать CouchDB на Android

Я хочу, чтобы 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! :)


person Jonathan    schedule 18.02.2012    source источник
comment
Что-то оффтопное, но почему вы хотите использовать CouchDB вместо SQLite?   -  person user    schedule 18.02.2012
comment
@slukian Я хочу воспользоваться функцией репликации CouchDB. Серверное приложение, которое совпадает с мобильным приложением, использует CouchDB.   -  person Jonathan    schedule 18.02.2012


Ответы (4)


Как соучредитель 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. Если бы я начинал новый проект, я бы посмотрел на них.

person J Chris A    schedule 20.02.2012
comment
Из двух предложенных вами вариантов, какой, по вашему мнению, лучше всего подходит для изучения? Будут ли будущие выпуски Syncpoint совместимы с CouchDB, или мне нужно будет найти новое решение через несколько месяцев? Наконец, насколько хорошо обрабатывается непрерывная репликация / синхронизация? Спасибо за помощь, мы очень ценим это! Рядом со мной сидит книга, в соавторстве которой вы. :) - person Jonathan; 21.02.2012
comment
Еще кое-что ... Как GeoCouch вписывается в картину? - person Jonathan; 21.02.2012
comment
Уровень синхронизации Syncpoint будет основан на Apache CouchDB, поэтому он должен синхронизироваться с ним нормально. Тем не менее, мы можем сделать оптимизацию, которая может нарушить совместимость. Все, что мы делаем, является открытым исходным кодом и доступно для обратного слияния с проектом Apache, так что есть вероятность, что мы останемся совместимыми. - person J Chris A; 16.03.2012
comment
Сам GeoCouch является плагином для Couchbase Server и Apache CouchDB, поэтому он также должен продолжать работать с этой системой. Что касается GeoCouch на телефоне, нам нужно будет выполнить повторную реализацию или интегрировать с существующими мобильными геосистемами. Функциональность впечатляет, это просто вопрос того, что мы можем расставить по приоритетам. - person J Chris A; 16.03.2012
comment
Теперь, когда вы исключили TouchDB, не могли бы вы прокомментировать Couchbase Lite? - person Indolering; 14.02.2014

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

«TouchDB - это облегченная СУБД, совместимая с CouchDB, подходящая для встраивания в мобильные или настольные приложения».

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

person Matt Goodall    schedule 19.02.2012
comment
Спасибо за это, я займусь этим. Я все еще надеюсь найти неуловимый CouchDB для Android, о котором упоминается во многих сообщениях в Интернете. - person Jonathan; 19.02.2012

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

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

Единственным решением на данный момент, похоже, является parse.com, который, конечно же, является платным.

person Gaurav Agarwal    schedule 15.09.2013
comment
На странице Github (github.com/couchbase/Android-Couchbase) указано Android 2.1 или новее, поскольку он стоит в настоящее время. - person Basel Shishani; 30.07.2014

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

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

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

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

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

person Hod    schedule 17.11.2016
comment
Я думаю, что этот ответ тоже немного устарел. Верно ли, что Couchbase Lite 2.x больше не совместим с CouchDb? - person Matthew Groves; 14.06.2018