Релиз БД Apache CouchDB 1.1.0
7 июня 2011 года
Вышел релиз распределенной, документ-ориентированной базы данных Apache CouchDB, относящейся к классу NoSQL-систем. Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Исходные тексты проекта распространяются под лицензией Apache 2.
Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API. В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении новых документов в рамках определенного представления.
CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами, что уже используется для синхронизации содержимого адресной книги ПК c мобильным телефоном через сервис Ubuntu One. Решения на базе CouchDB внедрены в таких компаниях как BBC, Apple и CERN.
Основные улучшения, добавленные в CouchDB 1.1.0:
- Нативная поддержка SSL;
- Поддержка обработки HTTP-заголовков группы "range" для отдачи прикрепленных данных не с начала файла, а с указанной позиции (например, позволяет организовать докачку после обрыва соединения);
- Добавлена опция конфигурации для включения TCP_NODELAY;
- Добавлены встроенные фильтры для базы "_changes": "_doc_ids" и "_design";
- В описании виртуальных хостов теперь допустимо использование масок;
- Обеспечена более гранулированная поддержка ETag для представлений;
- Увеличена гибкость системы подмены URL (URL rewriter);
- Добавлен модуль OS Process для управления фоновыми процессами вне CouchDB;
- Добавлен обработчик HTTP Proxy;
- Добавлена база "_replicator" для управления репликацией;
- Множественные микро-оптимизации для увеличения производительности операций чтения данных;
- В функцию map добавлена поддержка CommonJS;
- Добавлена используемая в запросах опция "stale=update_after", дающая возможность обновить представление после возврата состояния "stale=ok";
- В web-интерфейс Futon добавлена функция изменения пароля.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.