Новая версия БД Apache CouchDB 1.4.0

5 сентября 2013 года

Доступен релиз распределенной, документ-ориентированной базы данных Apache CouchDB 1.4.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.4.0:

  • Автоматическая загрузка плагинов;
  • Добавлен настраиваемый белый список допустимых свойств для документов пользователя;
  • Добавлен общесерверный канал для отслеживания таких событий как создание, обновление и удаление БД;
  • Возможность применения списка функций для всех документов, видимых через представление _all_docs;
  • Возможность сохранения уже сформированных хэшей паролей администратора через _config API;
  • Защита от некорректного вывода в формате JSON при использовании all_or_nothing _bulk_docs API;
  • В каналы отслеживания изменений в EventSource добавлена поддержка заголовка Last-Event-ID;
  • Значительно улучшена документация, добавлены расширенные описания функций validate_doc_update и методов обработки числовых значений в JSON;
  • Обеспечено игнорирование неинформативного хвоста в multipart/related MIME-приложениях;
  • Тест replicator_db разделён на несколько независимых тестов;
  • Поддержка версий Erlang/OTP R16B и R16B01. Минимальные требования повышены до версии Erlang/OTP R14B.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Новая версия БД Apache CouchDB 1.4.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.