Вчера некоммерческая организация Apache Software Foundation (ASF) объявила о выпуске новой крупной версии свободной базы данных типа NoSQL — Apache CouchDB v2.0.
CouchDB была создана в 2005 году Дэмиэном Катцом (Damien Katz), бывшим разработчиком Lotus Notes из IBM, а в 2008 году передана на развитие в ASF. Это документо-ориентированная база данных, реализованная на языке Erlang, использующая JSON для хранения данных, JavaScript в качестве языка запросов (с применением MapReduce) и протокол HTTP для API.
Релиз Apache CouchDB 2.0 стал результатом пожертвования и частичного слияния с проектом BigCouch. BigCouch — разновидность CouchDB, созданная в компании Cloudant (в 2014 году её поглотила IBM) с целью обеспечить базе данных высокую доступность, отказоустойчивость и поддержку кластеров (распределённость на произвольном числе серверов). Среди основных изменений, появившихся в в Apache CouchDB 2.0, отмечаются:
встроенная поддержка кластеров для масштабирования больших данных (Big Data) и высокой доступности (заимствовано из BigCouch и основано на принципах Amazon Dynamo);
99% совместимость API с предыдущими версиями (большинство приложений будет «просто работать»);
Mango — новый язык запросов, основанный на JSON и не требующий знаний JavaScript/MapReduce (призван упростить жизнь разработчикам);
значительные и повсеместные улучшения в производительности, особенно в репликации и compaction;
полностью переписанный и осовремененный интерфейс для управления.
Совместимыми на сегодняшний день продуктами с протоколом Couch Replication Protocol из CouchDB являются PouchDB, Cloudant и Couchbase Lite. Сайт проекта — couchdb.apache.org.