7 January 2012

Будущее CouchDB

NoSQL
Translation
Original author: Damien Katz
Примечание. Этот пост в блоге Дэмиена Каца, создателя CouchDB, вызвал широкий резонанс. В конце данного топика опубликован ответ одного из многочисленных оппонентов Каца, мнение которого кардинально противоположно автору.

Каково будущее CouchDB? Это Couchbase.

Удивлены? Спросите, как же Apache CouchDB? Что ж, это отличный проект. Я основал его, написал первые версии почти полностью самостоятельно, потратил огромное количество нервов, пота и крови на него. Я очень им горжусь и тем влиянием, которое у него было. А сейчас я и команда Couchbase готовы двигаться дальше. Конечно, CouchDB — отличная система, но мы делаем его наследника: Couchbase Server. Продукт и проект с похожими возможностями и задачами, но более быстрый, более масштабируемый, более подходящий и для пользователей, и для разработчиков. И, определённо, не часть Apache.

В случае с Apache CouchDB фокус направлен в первую очередь на достижение консенсуса, всеобщего согласия, на создание сообщества разработчиков, которое управляет проектом и его развитием. Apache сделал хорошую работу в этом плане, и продолжает делать. Но для нас этого уже недостаточно. Я создал CouchDB с мыслью, что простое в использовании, пиринговое хранилище документов с репликацией будет полезно миру. И CouchDB доказала, что многие идеи действительно возможны и полезны, и она стала более успешной, чем я мог мечтать. Но если бы я начал снова, то многое сделал бы иначе.

Выглядит так, как будто я считаю деятельность Apache ошибочной, это не так. Apache стал важной составляющей успеха CouchDB, без него CouchDB не стала бы популярной так быстро. Но я считаю, что проект достиг той точки, когда развитие путём консенсуса ограничивает его конкурентоспособность. Ничего личного, это бизнес.

И сейчас, выходит, у меня появился шанс проделать всё это снова, уже без необходимости начинать с нуля. На базе предыдущего проекта Apache CouchDB и Membase, выбросив неэффективные части и усилив эффективные, развить эти отличные технологии в нечто дружественное для разработчиков, с высокой производительностью, спроектированное для применения в критических приложениях и мобильной интеграции — этот проект может развиваться быстрее и быть более отзывчив к нуждам пользователей и заказчиков, чем общественный проект.

Apache CouchDB, как проект и сообщество, в хорошей форме. И многие из нас в Couchbase по прежнему делают коммиты туда. Но будущее, которое я продвигаю, за Couchbase Server.

Какова моя роль в разработке Couchbase? Прямо сейчас я занимаюсь подготовкой Couchbase 2.0 для серьёзного использования в продакшне. Я снова инженер и программист, назад в окопы, проектирую и пишу код, анализирую сорцы и дизайн, помогаю другим инженерам и решаю сложные проблемы. И я без шуток собираюсь сделать самую простую, быструю и надёжную базу данных NoSQL. Простую для разработчиков в использовании, простую в установке, надёжную на отдельных машинах и больших кластерах, и быструю как огонь. Мы создаём систему, которую вы сможете поставить на самые критические задачи, бизнес-приложения для работы с пользователями, и не чувствовать себя, словно делаете грязный хак.

Вскоре, чтобы более плотно работать с командой (и избавиться от этих ужасных поездок между работой и Оклендом), я перееду с семьёй в Маунтин-Вью. Shit just got real!

Я действительно предвкушаю ту работу, которая у нас намечена. Мы постепенно переводим всё бóльшую часть ядра на C/C++, при этом используя в дизайне многие из принципов надёжности и взаимодействия, проверенных в коде Erlang. И Erlang по-прежнему остаётся частью продукта, особенно в менеджменте кластеров, но большинство важных для производительности фрагментов будет переписано на C. Erlang всё ещё отличный язык, но если вам нужна максимальная производительность и контроль на низком уровне, то вряд ли что-то может сравниться с C.

В любом случае, ещё о многом нужно рассказать, слишком много для одного поста в блоге. Одним из моих новогодних решений было писать в блог почаще, и у меня есть масса интересных вещей, о чём рассказать. Испытания в построении стартапа и программистская культура. Какие проблемы (и преимущества) у Erlang. Продвижение UnQL. TouchDB для мобильных. И да, мы по-прежнему совместимы c Apache CouchDB и Memcached. Но будущее — это Couchbase.

Давайте с нами.

Дополнение

Как Крис Андерсон заметил в комментариях, Couchbase полностью открыта и код публикуется под лицензией Apache.

Все части Couchbase полностью открыты, у нас есть две страницы на github, на которых бурлит активность:
https://github.com/couchbaselabs
https://github.com/couchbase
Вероятно, интереснее всего начать с анализа кода: http://review.couchbase.org/

Давайте внесём ясность, если вам нравится Apache CouchDB, оставайтесь с ней. Я думаю, то, над чем я работаю, понравится вам гораздо больше. Если нет, то всё ещё остаётся Apache CouchDB.

P.S. Будущее CouchDB — это Apache CouchDB. Ответ Дэмиену Кацу от разработчиков BigCouch, перевод Zelgadis.

Cloudant за последние 3 года создал и усовершенствовал BigCouch. BigCouch это отказоустойчивый, горизонтально масштабируемый кластерный фреймворк, созданный для CouchDB. Сегодня мы объявляем о намерении объединить наши труды с сообществом. Работая с ASF и CouchDB сообществом, мы надеемся интегрировать базовые возможности BigCouch в Apache CouchDB. Мы надеемся, это положит конец надоедливому (и ложному) мему — «CouchDB не масштабируется». BigCouch образует фундамент для глобально распределённого и сложного стека технологий, которые мы использовали в масштабном продакшне в течение более двух лет.

Те из вас, кто создавал приложения с CouchDB, знают, что его производительность улучшается не по дням, а по часам. Мы достигли этого благодаря низкоуровневой реализации критичных процедур и рефакторингу кодовой базы на Erlang, но при этом мы не нанесли ущерб надёжному и стабильному REST API, который привыкли ожидать от CouchDB. Растущее сообщество активных коммитеров включает в себя страстных звёздных разработчиков. Каждый день всё больше и больше людей используют CouchDB для проектов, больших и малых.

Мы, наряду с множеством других компаний, решительно поддерживаем сообщество для развития CouchDB, и мы не собираемся останавливаться. Нам очень повезло, в нашей способности привлечь выдающихся инженеров, инвесторов и клиентов. Мы намерены продолжать выделение ресурсов на Apache CouchDB и предложить свою помощь в любом виде, какое пожелает сообщество. Будущее CouchDB — это CouchDB.

Дэмиен Кац был отличным основателем и управляющим CouchDB. Было честью работать с ним, и мы желаем ему успехов на его новом месте и миссии.
Tags:CouchDBMembaseCouchbaseCouchbase ServerCC++
Hubs: NoSQL
+25
8k 44
Comments 5
Top of the last 24 hours