Представлен (https://blogs.apache.org/couchdb/entry/apache_couchdb_1_6_0) релиз распределенной, документ-ориентированной базы данных Apache CouchDB 1.6.0 (http://couchdb.apache.org/downloads.html), относящейся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce (http://ru.wikipedia.org/wiki/MapReduce), используя для формирования логики выборки данных язык JavaScript. Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются (http://couchdb.apache.org/downloads.html) под лицензией Apache 2. Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API, что позволяет обращаться к данным в том числе из выполняемых в браузере web-приложений. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении новых документов в рамках определенного представления.
CouchDB хранит (http://couchdb.apache.org/docs/overview.html) данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами. Решения на базе CouchDB внедрены в таких компаниях как BBC, Apple и CERN.
Основные улучшения (https://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=blob...), добавленные в CouchDB 1.6.0:
- Обеспечена поддержка выпуска Erlang/OTP 17.0 (http://www.opennet.dev/opennews/art.shtml?num=39539), в том числе обеспечено корректное распознавание системой сборки нового формата наименования версий Erlang;
- Расширены возможности Fauxton, экспериментального web-интерфейса для администрирования БД (доступен через "/_utils/fauxton/"). В частности, реализация редактора кода переведена с CodeMirror на Ace (http://ace.c9.io/), улучшена поддержка различный браузеров;
- В секцию настройки UUID добавлена опция max_count, позволяющая ограничить интенсивность числа UUID, запрашиваемых через обработчик /_uuids в рамках одного запроса (защита от DoS-уязвимости CVE 2014-2668);
- Увеличен размер буфера для сетевого сокета, что позволило добиться увеличения скорости репликации и больших документов и вложений;
- Увеличена производительность обработки вложенных запросов (multipart/related);
- Добавлена проверка корректности установки связанных с аутентификацией настроек;
- Обеспечена возможность проведения репликации без наличия доступа на записи к исходной базе. Возможность настройки интервала для контрольных точек (checkpoint) при репликации;
- Добавлена поддержка репликации поверх соединения через SOCKS5-прокси;
- Расширено применение поддержки вложений (attachment) и опции для управления ими (att_encoding_info). Ранее вложения поддерживались только в API работы с документами и были недоступны в API для работы с представлениями.
- Обеспечено сохранение в документе причины сбоя при репликации из БД _replicator;
- Обработчик аутентификации через прокси (http://docs.couchdb.org/en/latest/api/server/authn.html#api-...) переименован в proxy_authentication_handler для избежания путаницы и создания единой группы компонентов аутентификации (http://docs.couchdb.org/en/latest/config/http.html#httpd/aut...). Ранее используемое имя proxy_authentification_handler (слово authenti<i>
fi
</i>cation заменено на authentication) объявлено устаревшим и его поддержка скоро может быть прекращена.
URL: https://blogs.apache.org/couchdb/entry/apache_couchdb_1_6_0
Новость: http://www.opennet.dev/opennews/art.shtml?num=39981