Apache CouchDB 2.0 был выпущен с встроенной поддержкой кластеризации.
Apache CouchDB — это база данных NoSQL, которая использует JSON и HTTP и предлагает синхронизацию с несколькими мастерами. Новая версия является результатом пожертвования и последующего слияния проекта BigCouch IBM Cloudant с The Apache Software Foundation.
Новая поддержка кластеризации означает, что вы можете взять набор компьютеров или виртуальных машин в одном центре обработки данных и заставить их вести себя как единый унифицированный экземпляр CouchDB. Это обеспечивает отказоустойчивость и лучшую производительность. При разработке кластеризации использовались детали конструкции, представленные в статье Amazon Dynamo. Это дало подробную информацию о конструкции и реализации Dynamo,
высокодоступная система хранения «ключ-значение», которую некоторые из Amazon
основные службы используются для обеспечения непрерывной работы. К
чтобы достичь такого уровня доступности, Dynamo жертвует постоянством
при определенных сценариях отказа. Он широко использует объект
управление версиями и разрешение конфликтов с помощью приложений.
Еще одна область, требующая улучшения, — это добавление нового декларативного языка запросов под названием Mango. Это описывается как более простое в использовании и более быстрое в эксплуатации, чем существующие представления на основе JavaScript (хотя они все еще поддерживаются).
Mango начал свою жизнь в Cloudant как API запросов, вдохновленный MongoDB, который покажется знакомым пользователям, имеющим опыт использования оператора find () MongoDB. Cloudant представил эту функцию как Cloudant Query, а затем передал ее CouchDB, где разработчики изменили кодовое имя на Mango и добавили полнотекстовый поиск (как только Cloudant открыл свой полнотекстовый поиск). Cloudant Query и Mango Query теперь синхронизированы.
В React.js также есть полностью переписанный интерфейс администрирования, а репликатор и компактор работают быстрее, что ускоряет репликацию между экземплярами CouchDB.