Будущее CouchDB

Original author: Damien Katz
  • Translation
Примечание. Этот пост в блоге Дэмиена Каца, создателя 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. Было честью работать с ним, и мы желаем ему успехов на его новом месте и миссии.
  • +25
  • 7.8k
  • 5
Support the author
Share post

Comments 5

    +1
    Этот пост кстати вызвал весьма бурную реакцию в сообществе. Вот кстати альтернативное время (и в моем понимании более правильное) blog.cloudant.com/the-future-of-couchdb/ (перевод у меня в черновиках)
      0
      Все это очень грустно. Разумеется шквал обвинений Дамьена в том, что он делает деньги и не честен перед пользователями CouchDB. Cloudant как мне кажется делает единственно возможный шаг, обещая смерджить свои разработки по масштабированию в Apache CouchDB. Надеюсь у них это получится, во всяком случае я буду этого ждать.

      А вот монстр CouchBase 2.0, который по идее будет симбиозом CouchDB и Membase (membase w/ index/query functionality) мне совершенно не нравится. Какой-то огромный непонятный звеь выходит вместо простого как дерево CouchDB вместе (необязательно) с memcached.

      Ну и в сотый раз заверения в том, что «no one should have any doubt about our commitment to open source»
      Очередная Cloudera :(
        +12
        Программисты (большей частью) тоже хотят купить дом, машину, и желательно не в кредит на 25 лет. Не вижу в этом особой проблемы — RedHat весьма успешная компания, что не мешает ей выпускать хорошие опенсорсные продукты. И таких примеров много. Более того, если за разработкой продукта стоит платное внедрение, или например есть более функциональная коммерческая версия, это скорее всего означает, что у опенсорсных версий будет все в порядке с документацией, с квалификацией разработчиков, и с перспективами. Что не скажешь о тысячах заброшенных проектов (порой весьма интересных), которые делал один человек на голом энтузиазме.
          0
          Собственно к чему эта простыня? Это всем и так понятно, просто эмоции [некоторых] комментаровавших ту самую запись в блоге Дамьена зашкаливали именно на этой почве.

          Мое личное отношение к этому скорее нейтральное, тем более, что место Дамьена давно заняло сообщество, да и теперь Cloudant подключатся (надеюсь). Совершенно другой вопрос — его фраза «the future of CouchDB is CouchBase». Пока нет второй версии CouchBase говорить об этом более, чем рано. Нет REST, код переписывается с Erlang на C/C++, нет changes API. Это не CouchDB, это совершенно другой продукт, о чем справедливо говорят некоторые в комментариях.

          Касательно RedHat тоже можно поспорить. Вон Мандрива прозябает например :)
            0
            Вторая версия CouchBase отвратительна. Кроме красивый админки ничем похвастаться не может.

      Only users with full accounts can post comments. Log in, please.