Выпуск документ-ориентированной БД Apache CouchDB 1.6.0
11 июня 2014 года
Представлен релиз распределенной, документ-ориентированной базы данных Apache CouchDB 1.6.0, относящейся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются под лицензией Apache 2.
Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API, что позволяет обращаться к данным в том числе из выполняемых в браузере web-приложений. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении новых документов в рамках определенного представления.
CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами. Решения на базе CouchDB внедрены в таких компаниях как BBC, Apple и CERN.
Основные улучшения, добавленные в CouchDB 1.6.0:
- Обеспечена поддержка выпуска Erlang/OTP 17.0, в том числе обеспечено корректное распознавание системой сборки нового формата наименования версий Erlang;
- Расширены возможности Fauxton, экспериментального web-интерфейса для администрирования БД (доступен через "/_utils/fauxton/"). В частности, реализация редактора кода переведена с CodeMirror на Ace, улучшена поддержка различных браузеров;
- В секцию настройки UUID добавлена опция max_count, позволяющая ограничить интенсивность числа UUID, запрашиваемых через обработчик /_uuids в рамках одного запроса (защита от DoS-уязвимости CVE 2014-2668);
- Увеличен размер буфера для сетевого сокета, что позволило добиться увеличения скорости репликации и больших документов и вложений;
- Увеличена производительность обработки вложенных запросов (multipart/related);
- Добавлена проверка корректности установки связанных с аутентификацией настроек;
- Обеспечена возможность проведения репликации без наличия доступа на записи к исходной базе. Возможность настройки интервала для контрольных точек (checkpoint) при репликации;
- Добавлена поддержка репликации поверх соединения через SOCKS5-прокси;
- Расширено применение поддержки вложений (attachment) и опции для управления ими (att_encoding_info). Ранее вложения поддерживались только в API работы с документами и были недоступны в API для работы с представлениями.
- Обеспечено сохранение в документе причины сбоя при репликации из БД _replicator;
- Обработчик аутентификации через прокси переименован в proxy_authentication_handler для избежания путаницы и создания единой группы компонентов аутентификации. Ранее используемое имя proxy_authentification_handler (слово authentification заменено на authentication) объявлено устаревшим и его поддержка скоро может быть прекращена.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.