The OpenNET Project / Index page

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

20.09.2016 22:47  Выпуск документ-ориентированной БД Apache CouchDB 2.0

После нескольких лет разработки представлен релиз распределенной, документ-ориентированной базы данных Apache CouchDB 2.0.0, относящейся к классу NoSQL-систем. Выпуск 2.0 вобрал в себя улучшения, разработанные в рамках проекта BigCouch, который развивался компанией Cloudant и был передан Фонду Apache после поглощения компанией IBM. Исходные тексты проекта распространяются под лицензией Apache 2.0.

Запросы к CouchDB и индексация данных могут выполняться в соответствии с парадигмой MapReduce, используя для формирования логики выборки данных язык JavaScript. Ядро системы написано на языке Erlang, оптимизированного для создания обслуживающих множество параллельных запросов распределенных систем. View-сервер написан на языке Си и базируется на JavaScript-движке Mozilla Spidermonkey. Доступ к БД производится при помощи протокола HTTP с использованием RESTful JSON API, что позволяет обращаться к данным в том числе из выполняемых в браузере web-приложений.

В качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Для организации псевдо-структурированного набора данных из произвольных документов (агрегирования и формирования выборок) применяется концепция формирования представлений (view), для определения которых используется язык JavaScript. На JavaScript также можно определять функции для проверки корректности данных при добавлении новых документов в рамках определенного представления.

CouchDB хранит данные в формате упорядоченного списка и позволяет производить частичную репликацию данных между несколькими БД в режиме «мастер-мастер» с одновременным обнаружением и разрешением конфликтных ситуаций. Каждый сервер хранит свой локальный набор данных, синхронизированный с другими серверами, которые могут переводиться в offline-режим и периодически реплицировать изменения. В частности, данная возможность делает CouchDB привлекательным решением для организации синхронизации настроек программ между разными компьютерами. Решения на базе CouchDB внедрены в таких компаниях как BBC, Apple и CERN.

Основные улучшения, добавленные в CouchDB 2.0:

  • Добавлена встроенная поддержка полноценных кластерных возможностей, позволяющих создавать системы высокой доступности и масштабировать CouchDB для создания очень больших хранилищ или распараллеливания запросов в высоконагруженных систмемах. Кластеризация реализована с использованием методов, применяемых в движке Amazon Dynamo, и позволяет развернуть на нескольких узлах единое хранилище CouchDB, выглядящее для клиентских систем как один большой сервер CouchDB;
  • Несмотря на значительные внутренние изменения удалось сохранить совместимость с прошлыми версиями для 99% вызовов API, что позволяет использовать CouchDB 2.0 с большинством старых приложений;
  • Представлен новый язык оформления запросов "Mango", который значительно быстрее и проще ранее предлагаемой системы JavaScript-представлений. Запросы в Mango формируются с использованием JSON;
  • Значительная оптимизация производительности, особенно заметная при выполнения операций репликации и упаковки;
  • Полностью переписан интерфейс администратора, который обзавёлся современным внешним видом (используется React.js и Flux) и новыми возможностями. Например, добавлены средства для разрешения конфликтов между документами, создания и использования индексов, настройки кластера.


  1. Главная ссылка к новости (https://blogs.apache.org/found...)
  2. OpenNews: Выпуск СУБД Couchbase Server 4.0, сочетающей возможности CouchDB, memcached и Membase
  3. OpenNews: Выпуск документ-ориентированной БД Apache CouchDB 1.6.0
  4. OpenNews: IBM покупает компанию Cloudant и выделяет дополнительные ресурсы для разработки Apache CouchDB
  5. OpenNews: Основатель CouchDB покинул Apache в пользу развития системы Couchbase
  6. OpenNews: Релиз документо-ориентированной СУБД MongoDB 3.2
Лицензия: CC-BY
Тип: Программы
Ключевые слова: couchdb, nosql
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 23:02, 20/09/2016 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    Зачем нужен этот freemium, для сравнения https://cloudant.com/product-options.
    Плюс просто ужас сколько место занимает БД.
     
     
  • 2.2, Аноним (-), 23:08, 20/09/2016 [^] [ответить]    [к модератору]
  • +1 +/
    CouchDB 2.0 это и есть Cloudant, IBM вернул купленные наработки в upstream и теперь пилит CouchDB, а не отдельный продукт.
     
     
  • 3.6, Аноним (-), 23:46, 20/09/2016 [^] [ответить]    [к модератору]
  • +/
    >CouchDB 2.0 это и есть Cloudant

    спасибо кэп, только урезанный
    >IBM вернул купленные наработки в upstream и теперь пилит CouchDB, а не отдельный продукт.

    еще один эксперт

     
  • 1.3, Аноним (-), 23:18, 20/09/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    Зачем нужен CouchbDB, когда есть Couchbase?
     
     
  • 2.10, Аноним (-), 01:07, 21/09/2016 [^] [ответить]    [к модератору]
  • +/
    > Зачем нужен CouchbDB, когда есть Couchbase?

    что бы продавать Cloudant

     
  • 1.4, Аноним (-), 23:26, 20/09/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • –7 +/
    Позорище-то какое Пишется один продукт, в котором производительность в топ3 тре... весь текст скрыт [показать]
     
     
  • 2.5, vatocefal (?), 23:43, 20/09/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Рыночная доля где? На рынке написания плагинов для вордпреса?

    Доля где бы то ни было никакой роли не играет для языка, на котором БД написана - лишь автор и ещё какое-то кол-во заинтересованных лиц в него могли.

    Эрланг тормозит, но кого это колышет в IO-bound задачах? Перекладывать байты по сети это то, для чего Эрланг создавался. А для CPU-bound задач у них JS. И движок, наверное, можно сменить, если очень припрёт.

     
     
  • 3.8, Аноним (-), 01:05, 21/09/2016 [^] [ответить]     [к модератору]  
  • +3 +/
    Все рассуждения про IO-bound очень хорошо работают ровно до тех пор, пока кто-то... весь текст скрыт [показать]
     
  • 2.20, Аноним (-), 10:27, 22/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Spidermokey (в отличии от V8) собирается для всех архитектур. И он тупо быстрее чем v8.
     
  • 1.12, Аноним (-), 04:30, 21/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    json во всю развивается в nosql
    а мне все mysql и postgres привычен
     
     
  • 2.15, username (??), 11:55, 21/09/2016 [^] [ответить]    [к модератору]  
  • +/
    в слонике аж два гсон движка уже, просыпайтесь.
     
  • 1.13, Аноним (-), 08:36, 21/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Кто использовал, чем оно лучше/хуже MongoDB?
     
     
  • 2.14, Аноним (-), 11:22, 21/09/2016 [^] [ответить]     [к модератору]  
  • +/
    Проще в настройке, не нужен серверсайд, использовать строго с pouchdb Если вам ... весь текст скрыт [показать]
     
     
  • 3.16, Аноним (-), 17:21, 21/09/2016 [^] [ответить]    [к модератору]  
  • +/
    > если простым текстом у вас 50мб данных(300k записей), то в БД будет занимать где то  1гб

    o_O

    Какой раскудрявой жопой надо писать сериализацию, чтоб такое получить?

     
     
  • 4.17, Аноним (-), 19:21, 21/09/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Спроси у разработчиков, внутрь я не смотрел, провел тесты > ахринел > понял что мне оно не надо.
     
  • 4.18, Аноним (-), 21:45, 21/09/2016 [^] [ответить]    [к модератору]  
  • +/
    Хранить diff каждой ревизии каждого документа.
     
  • 1.19, Аноним (-), 21:47, 21/09/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    О, наконец-то 2.0, дождались! Используем в продакшене уже почти 2 года, полёт нормальный. Кушает много, да, но нам был важен master to master replication, а выбор таких БД весьма невелик.
     

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


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