CouchDB в три раза быстрее обещает Couchbase, компания, образованная ранее в этом году в результате слияния CouchOne и Membase.
Согласно блогу Couchbase, следующий крупный выпуск CouchDB будет включать улучшения, повышающие производительность в три раза по сравнению с текущей версией. Couchbase была образована в начале этого года в результате слияния CouchOne и Membase.
Усовершенствования базы данных NoSQL Apache CouchDB появятся в дистрибутиве Couchbase Single Server 2.0 CouchDB и будут включать улучшения производительности записи на диск и индексации.
Изменения в записи на диск происходят благодаря сжатию терминов Erlang как в файлах базы данных, так и в индексных файлах представления. В Couchbase термины Erlang используются для представления такой информации, как документы, узлы btree и заголовки. Если вы не знакомы с ним, в этой статье есть хорошее описание того, почему Couchbase заинтересован в Erlang, преимуществах, которые он предлагает, и способах его использования. Благодаря сжатию таких терминов новая версия Couchbase Single Server значительно сократит количество операций ввода-вывода. Ядро базы данных выберет лучший метод сжатия на основе конфигурации .ini. По умолчанию выбран Google Snappy, потому что он самый быстрый, но другие варианты, включая deflate zlib, также возможны.
Вторая область улучшения — это переход к асинхронной записи файлов. Многие операции CouchDB состоят из серии операций записи в файл, которые раньше были синхронными. Новая версия позволяет процессам отправлять запросы на запись процессу файлового сервера и получать ответ с подробностями о том, где в файле будут записаны термины Erlang, что позволяет процессу, отправившему запрос на запись, продолжить выполнение задач, связанных с процессором, в параллельно с вводом / выводом.
Дистрибутив CouchBase Single Server 2.0 для CouchDB в настоящее время находится в предварительной версии для разработчиков. Apache CouchDB следует другой вилке и недавно был обновлен до версии 1.1 без изменений Couchbase. Couchbase надеется, что сообщество разработчиков Apache CouchDB внесет изменения в выпуск Apache 1.2.0.