The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск документ-ориентированной БД Apache CouchDB 1.6.0

11.06.2014 14:14

Представлен релиз распределенной, документ-ориентированной базы данных 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) объявлено устаревшим и его поддержка скоро может быть прекращена.


  1. Главная ссылка к новости (https://blogs.apache.org/couch...)
  2. OpenNews: IBM покупает компанию Cloudant и выделяет дополнительные ресурсы для разработки Apache CouchDB
  3. OpenNews: Выпуск документ-ориентированной БД Apache CouchDB 1.5.0
  4. OpenNews: Релиз БД Couchbase Server 2.0, сочетающей возможности CouchDB, memcached и Membase
  5. OpenNews: Основатель CouchDB покинул Apache в пользу развития системы Couchbase
  6. OpenNews: Выпуск языка программирования Erlang 17.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39981-couchdb
Ключевые слова: couchdb, nosql, json, javascript, database
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 15:20, 11/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше монги? Не холивара ради, просто интересуюсь.
     
     
  • 2.2, rob pike (?), 15:30, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    http://stackoverflow.com/questions/12437790/when-to-use-couchdb-over-mongodb-

    CouchDB скорее с ElasticSearch надо сравнивать чем с монгой.

     
     
  • 3.3, Аноним (-), 16:27, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Как можно сравнивать поисковый движок с базой данных?
     
     
  • 4.4, Аноним (-), 16:54, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для rp это нормально
     
  • 4.11, rob pike (?), 08:18, 20/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://chrisberkhout.com/blog/elasticsearch-as-a-primary-data-store/
    http://highscalability.com/blog/2014/1/6/how-hipchat-stores-and-indexes-billi
    http://karussell.wordpress.com/2011/07/13/jetslide-uses-elasticsearch-as-data
     
  • 2.5, o (?), 23:04, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    не жрет память
     
     
  • 3.6, arka (?), 23:44, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    И как же жрёт память монга? Сколько видел таких постов, но так и не понял - сколько же жрёт-то. Сама концепция подобных БД по максимуму пытаются занять ОЗУ. А для чего ещё вы хотите видеть свою память на сервере не задействованной на более 10 процентов?
     
     
  • 4.10, Аноним (-), 05:27, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Ну память есть всегда куда юзать, для кэша например. А монга очень специфический продукт.
    Но по факту не рыбы не мясо.
     
  • 2.7, Анончик (?), 23:59, 11/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Прозрачно и двухсторонне синхронизируется с PouchDB, который реализован на Джаваскрипте и запускается в браузере.
    (То есть можно из вебаппа работать с локальной NoSQL БД, а она потом сама реплицируется в сервер на хранение, когда связь будет.)
     
  • 2.8, такойсебеанонимус (?), 00:15, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Монгу я не пробовал, но про каучдб могу сказать такое:

    * Map/Reduce (который можно делать как на JavaScript и Erlang - "из коробки", так и на любом другом ЯП при желании)
    * наличие PouchDB и Hoodie, что открывает новые горизонты
    * простой и удобный HTTP RESTful API
    * наличие веб-морды
    * репликация мастер-мастер, а теперь еще и с контрольными точками
    * возможность создания сложных схем репликации и репликация через SOCKSv5 позволяет строить сложные распределенные приложения (какие-нибудь БД чего-то там, поддерживаемые сообществом, например)

    Ну и, ждем вкусных вливаний наработок Cloudant'a...

     
  • 2.9, такойсебеанонимус (?), 00:17, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем оно лучше монги? Не холивара ради, просто интересуюсь.

    а, ну и доступностью драйверов, конечно тоже

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру