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

К сожалению, компания 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.
Поделиться с друзьями
-->

Комментарии (14)


  1. multed
    10.10.2016 10:07

    А почему выбор пал именно на RethinkDB, а не иную NoSQL (монга, к примеру)?
    Вот кроме подписки на изменения.


    1. Suvitruf
      10.10.2016 10:12
      +1

      У RethinkDB мне больше всего понравился их язык ReQL, это если не брать в расчёт подписки. Плюс он очень удобен в настройке.

      Изначально его вообще временно брали, просто как замену Riak, тогда особой разницы не было, что выбрать. Но за всё время не столкнулись ни с одной реально проблемой, в итоге он у нас прижился. Правда, игра у нас пока только в софтланче в одной стране, нагрузки не так велики =/


    1. 12sd
      10.10.2016 11:18
      +3

      RethinkDB невероятно просто и хорошо масштабируется. Кроме того, changefeeds FTW.
      К тому в комплекте с отличным профилировщиком запросов.


    1. baka_cirno
      10.10.2016 11:57
      +3

      В последний год они ее вылизали почти до идеала, добавив все долгожданные фичи, о которых их давно просили. Чисто объективно Rethinkdb сейчас во многом лучше монги. Да и на Horizon у них были серьезные планы, могла получится очень некислая платформа.

      В этом вся драма. Они прогорели как раз в тот момент, когда у них наконец появился крутой продукт. Мораль: шевелите булками, пока есть финансирование, иначе можете не успеть.


      1. multed
        10.10.2016 12:06
        +1

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


      1. Suvitruf
        10.10.2016 12:12

        Да, если бы они начали делать Horizon раньше, то могли бы его ещё как SaaS организовать для тех, кто не хочет заморачиваться со своими VPS. Пользователи сего дела бы точно нашлись. Плюс, с реальными юзерами они бы могли вполне выйти на раунд B и получить новые инвестиции.


        1. yurash
          11.10.2016 10:49

          дык они почти с самого запуска Horizon имеют Horizon Cloud в стадии private beta (мне приглашение так и не пришло)


          1. Suvitruf
            11.10.2016 12:03

            Они сам Horizon поздновато делать начали. Если бы на год-два раньше, то к текущему моменту, этот сервис бы уже вышел из беты, был бы какой-то трэкшен уже.


  1. rumkin
    10.10.2016 18:43

    Ну, вот, а я только собрался на нее мигрировать.


  1. a-motion
    11.10.2016 04:10

    А можно поподробнее, чем Riak не устроил? В нем же хуками прекрасно настраивается механизм подписок, как вам нужно, хоть в HTTP, хоть в Redis, хоть в Rabbit.


    Я, просто, как раз очень счастлив, что переехал на Riak с монги, может быть, зря и я завтра наткнусь на какой-нибудь подводный камень?


    Спасибо!


    1. Suvitruf
      11.10.2016 04:16

      Стоит сказать, что тогда в Unity сетка стандартная была в очень плачевном состоянии, в следствии чего мы решили использовать решение от muchdifferent, которое базировалось на Riak. У нас были проблемы с запросами к БД (хотя, может просто драйвер был плох). Не редко Riak просто отрубался, а в логах там чёрт ногу сломит. Стоит, конечно, отметить, что тогда тестовые серваки были не такие мощные, а, насколько я знаю, Riak весьма требователен к RAM. Плюс там в администрировании не всё тривиально было.

      Когда же мы перешли на RethinkDB, то, боже, это было прекрасно. Всё работает из коробки, всё интуитивно, удобная веб-морда с query-профайлером, быстро кластер настроить.

      Повторюсь, нам нужна была СУБД, которую легко поднять/настроить. Если бы мы захотели потом мигрировать на что-то другое, то просто сервис по работе с БД бы пришлось переписать. Но Rethink так понравился, что в итоге с ним до сих пор и сидим.


      1. a-motion
        11.10.2016 07:11

        Ага, спасибо. Наверное, у вас еще и команда — не эрлангисты :)


        Тогда понятно, да. Я RethinkDB тоже восхищался, когда увидел, но по идее под нагрузкой она должна себя хуже вести. Ладно, я попробую дальше с Riak, поднять и настроить у меня получилось очень легко, к эрлангу в плане нагрузки у меня доверия больше, самописные callback’и мне удобнее, чем просто подписки ну и с драйвером все наоборот, потому что у меня как раз вокруг тоже эрланг.


  1. yurash
    11.10.2016 10:57

    Пользователи на официальном slack канале обсуждают как быть дальше
    https://rethinkdb.slack.com/messages/open-rethinkdb
    Вообще во всех ветках, что я читал про это дело, большинство пишут что были всем довольны, что всё было тип-топ и всем непонятно почему в конкурентной борьбе RethinkDB проиграл. Единичные недовольные комменты из разряда «ну вот, я только вчера уговорил команду перейти на RethinkDB»


    1. Suvitruf
      11.10.2016 12:05

      Продукт сам по себе хорош, закрывается компания. Так что, я бы не сказал, что RethinkDB как СУБД проиграл, просто бизнес модель компании оказалась не совсем успешной.