
CouchDB — это документоориентированная СУБД от Apache. Хранение данных организовано в JSON, взаимодействие происходит по обычному HTTP, а репликация поддерживает режим мастер-мастер.
Показано 2 программы


| Программа | Школа | Срок | Стоимость |
|---|---|---|---|
| Базы данных с нуля | Merion | 2 месяца | 9 680 ₽ вместо 14 900 ₽ |
| Курс по NoSQL | Merion | 1 месяц | 9 680 ₽ вместо 14 900 ₽ |
Именно из-за такой репликации её выбирают для сценариев с нестабильной связью: офлайн-режим в мобильных приложениях, удалённое оборудование, синхронизация заметок между устройствами.
В русскоязычном онлайн-обучении не существует отдельного курса, полностью посвящённого CouchDB. Эта база рассматривается в рамках более широких программ: курсы по NoSQL включают её наряду с MongoDB, Redis и Cassandra, а курсы по базам данных дают общую модель хранения, на которую CouchDB ложится быстро.
Ниже перечислены программы такого профиля. Если нужна документная база с широким рынком труда, стоит обратить внимание на курсы MongoDB: выбор там значительно больше.
Apache CouchDB работает с документами в формате JSON и не требует заранее заданной схемы. Взаимодействие осуществляется через привычный REST: создание документа — POST-запрос, чтение — GET-запрос, никакие специальные драйверы не нужны, достаточно curl или fetch из браузера. Внутри действует MVCC: каждое изменение порождает новую ревизию документа, прежняя версия сохраняется, читатели не блокируют писателей.
Ключевая характеристика базы — репликация мастер-мастер. Две копии функционируют независимо, каждая принимает записи отдельно, после чего происходит синхронизация. CouchDB не скрывает конфликты: помечает документ как конфликтный и оставляет решение приложению. Отсюда вытекают сценарии использования. Мобильное приложение без сети записывает данные и отправляет их позже (в браузере эту функцию выполняет PouchDB). Полевое оборудование накапливает показания и передаёт их при установлении связи. На CouchDB работают платная синхронизация Obsidian и самописные плагины к нему.
Следует заранее понимать, что ниша у базы узкая. В вакансиях на русскоязычном рынке она встречается нечасто и обычно упоминается как дополнительное преимущество, а не основное требование.
Входной порог невысок, но он связан не с самой базой. Понадобятся четыре навыка:
После этого достаточно официальной документации Apache CouchDB. Она лаконична, содержит готовые примеры запросов и охватывает веб-интерфейс Fauxton, Mango-запросы и настройку кластера.
Отдельной программы, посвящённой только этой СУБД, в русскоязычном онлайн-образовании не существует: спрос на такой курс недостаточен. Обычный путь выглядит иначе. Человек изучает NoSQL в целом, разбирает несколько баз на контрасте и начинает понимать, когда выбрать документную модель, когда ключ-значение, а когда графовую. CouchDB в таком курсе занимает раздел, а не весь курс.
Поэтому стоит рассматривать более широкие варианты:
После такой подготовки CouchDB разворачивается за вечер: docker run couchdb, Fauxton в браузере, несколько документов и настроенная репликация между двумя инстансами. Сложнее не установка, а понимание, зачем нужен мастер-мастер и как обрабатывать конфликты.
