Pull to refresh

Над RethinkDB сгущаются тучи?

Reading time 3 min
Views 12K

Подозреваю, что у нас мало кто использует продукты этой компании. Хотя, как минимум, их одноимённая СУБД стоит внимания. На хабре видел пару статей всего.

К сожалению, компания RethinkDB, развивающая одноимённую СУБД и web-платформу Horizon, объявила о закрытии. После 7 лет разработки из-за неспособности организовать устойчивый бизнес основатели были вынуждены свернуть свою деятельность. СУБД RethinkDB и платформа Horizon передаются в руки сообщества. Код RethinkDB распространяется под лицензией AGPLv3, а Horizon под лицензией MIT.

Немного про RethinkDB


RethinkDB — это open source NoSQL база данных (сорсы на гитхабе), располагающая встроенной системой уведомления об изменениях. Вместо запросов к базе на наличие изменений, вы можете «подписываться» на потоковые обновления, что устранит ненужные запросы к базе.

RethinkDB является безсхемным хранилищем JSON документов, но также поддерживает и некоторые особенности реляционных БД. RethinkDB также поддерживает кластеризацию, что делает её очень удобной в расширении. Вы можете настроить шардинг и копирование через встроенный веб-интерфейс. Последнии версия RethinkDB также включает в себя автоматический «fail-over» для кластеров с тремя и более серверами. (прим. переводчика: подразумевается возможность продолжения работы с БД в случае падения одного из серверов.)

Язык запросов в RethinkDB, который называется ReQL, нативно встраивается в код на том языке, на которым вы пишите своё приложение. Если, например, вы кодите на Python, то при написании запросов к БД будете использовать обычный для Python синтаксис. Каждый запрос составляется из функций, который разработчик собирает в цепочку, чтобы точно описать необходимую операцию.

Horizon


Horizon — это сервис поверх RethinkDB, состоящий их консольной утилиты horizon (hz), авторизации и ACL, клиентской JS библиотеки horizon.js для работы с БД на клиенте. Будет полезно для тех, кто не хочет много мучаться с бекендом (не хочет писать его полностью сам).

Компания RethinkDB закрывается


Slava Akhmechet заверил, что они продолжат работать с сообществом и проекты будут доступны и дальше (в том числе сайты rethinkdb.com и horizon.io).

Компания не смогла построить устойчивый бизнес, именно поэтому и закрывается, судя по словам Slava Akhmechet:
We worked very hard to make RethinkDB successful, but in spite of all our efforts we were ultimately unable to build a sustainable business. There is a lot of information to unpack – over the next few months, I’ll write about lessons learned so the startup community can benefit from our mistakes

В обсуждениях треда люди предлагают присоединиться к The Eclipse Foundation или Linux Foundation. Если сообщество не забросит проект, то он будет развиваться и дальше. Вероятно, будет это намного медленнее, но всё же. Как минимум, если вы сейчас использует в проде эту СУБД, то, мне кажется, нет смысла её менять, если она вас устраивает. С другой стороны, API, вероятно, не будет сильно меняться больше. Это будет хорошей новостью для тех, кто пишет драйвера под Rethink.

Сама команда ищет новое место, куда бы приложить свой энтузиазм. В данный момент они рассматривают идею о присоединении к Stripe. Как я понимаю, из поста с Hacker News, Stripe уже сделали им офер. Быть может получится под крылом Stripe продолжать развивать Rethink и дальше, хоть не в таком темпе как раньше. Gotta Believe!

P.S. Мы лично используем RethinkDB для онлайн игры. Храним в нём все игровые данные. В своё время переехали на него с Riak и до сих пор не пожалели. База довольно шустрая. Механизм подписок позволяет получать изменения, не делая лишних телодвижений. В контексте нашей игры, например, мы подписываем на изменения профилей игроков (рейтинг и т.п.), а затем после небольшой обработки добавляем в Redis, а уже к нему делаем запросы на получение рейтингов.

Сейчас там к тому же автоматический failover, так что кластер не развалится от падения пары нод (в зависимости от того, сколько у вас всего нод, конечно).

Ссылки:

  1. RethinkDB is shutting down.
  2. RethinkDB на crunchbase.
  3. Обсуждение на Hacker News.
  4. Horizon — realtime JavaScript бэкэнд.
  5. Строим real-time веб-приложения с RethinkDB.
  6. Введение в RethinkDB.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+27
Comments 14
Comments Comments 14

Articles