Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Horizon — это продукт содержащий в себе NoSQL базу данных RethinkDBНу, не совсем так. Он работает с RethinkDB, да, но не завязан на него. Более того, Слава в своё время говорил, что в будущем планируется сделать поддержку других баз. Главное, чтобы они поддерживали функционал подписок/пушей.
Умеет рассылать по WebSoket уведомления о изменениях (рассылку можно фильтровать сразу на уровне БД)Они всё больше развивают этот функционал, но и там до сих пор есть свои проблемы.
Умеет масштабироватьсяВ их слаке наблюдаю периодически, как люди жалуются на проблемы при большой нагрузке. Вроде как из-за необходимости обращаться к праймари реплике. Но, возможно, люди просто репликацию плохо настроили.
Умеет Join-ыТолько они довольно медленные)
Мощный язык запросовИ прекрасные драйвера, кстати. Под node.js работать одно удовольствие даже без ORM. В Java, правда, есть свои проблемы: часто приходится писать много лишнего кода (к примеру, заворачивать объекты в HashMap'ы для передачи в запросы), но самая большая проблема — нет асинхронности. На данный момент мы это решили за счёт использование пула соединений. Но по плану у них на осень переписывание Java драйвера, чтоб он умел в асинхронность.
Имеет встроенный web-интерфейс для мониторинга и быстрого доступа к даннымДовольно удобная штуку. Плюс многие системные настройки прям там запросами можно изменить (авторизацию, репликацию и т.п.).
Всем довольны или потом пожалели что взяли?О RethinkDB не пожалели. Раньше, к примеру, мы использовали Riak, вот о нём пожалели. Сейчас, правда, используем всё ещё Riak, но только как бэкенд для ejabberd.
Скажите, у вас ведь есть уже что то в продакшине, какую нагрузку держит?RethinkDB используем для онлайн игры. Все игровые данные в нём храним. У нас пока только софтланч, поэтому особо больших нагрузок нет. Но десятки тысяч чтений/записей оно спокойно держит. Не знаю, много это или нет. Да и цифры то эти ни о чём в целом не говорят. Всё зависит от того, как вы приготовите запросы: будете выполнять их на клиенте (при этом тягая данные из бд на клиент) или же будете правильно составлять ReQL запросы, чтоб они выполнялись на сервере и возвращали только ответ.
Как же вовремя, спасибо! Вчера поставил, разбираюсь.
Есть мнение, что у RethinkDB беда с инсертами. Это меня смущает.
Функционал Хабра, примерно: посты, комменты, лайки, уведомления, личка.
Horizon — realtime JavaScript бэкэнд