Comments 14
Horizon — это продукт содержащий в себе NoSQL базу данных RethinkDBНу, не совсем так. Он работает с RethinkDB, да, но не завязан на него. Более того, Слава в своё время говорил, что в будущем планируется сделать поддержку других баз. Главное, чтобы они поддерживали функционал подписок/пушей.
Умеет рассылать по WebSoket уведомления о изменениях (рассылку можно фильтровать сразу на уровне БД)Они всё больше развивают этот функционал, но и там до сих пор есть свои проблемы.
Умеет масштабироватьсяВ их слаке наблюдаю периодически, как люди жалуются на проблемы при большой нагрузке. Вроде как из-за необходимости обращаться к праймари реплике. Но, возможно, люди просто репликацию плохо настроили.
Умеет Join-ыТолько они довольно медленные)
Мощный язык запросовИ прекрасные драйвера, кстати. Под node.js работать одно удовольствие даже без ORM. В Java, правда, есть свои проблемы: часто приходится писать много лишнего кода (к примеру, заворачивать объекты в HashMap'ы для передачи в запросы), но самая большая проблема — нет асинхронности. На данный момент мы это решили за счёт использование пула соединений. Но по плану у них на осень переписывание Java драйвера, чтоб он умел в асинхронность.
Имеет встроенный web-интерфейс для мониторинга и быстрого доступа к даннымДовольно удобная штуку. Плюс многие системные настройки прям там запросами можно изменить (авторизацию, репликацию и т.п.).
У меня лично был доступ к Horizon на этапе закрытого тестирования. Тогда довольно перспективным показалось. Предполагаю, что в релизе они многие недочёты подправили.
+1
Спасибо, я только начал пользоваться Horizen / RethinkDB, поэтому мне пока сложно определить границы и все возможности продукта. Но определенно буду использовать для быстрого прототипирования или мелких апп.
Скажите, у вас ведь есть уже что то в продакшине, какую нагрузку держит? Всем довольны или потом пожалели что взяли? Думаю, читателям и мне интересно будет узнать о реальных проектах с использованием этой БД.
Скажите, у вас ведь есть уже что то в продакшине, какую нагрузку держит? Всем довольны или потом пожалели что взяли? Думаю, читателям и мне интересно будет узнать о реальных проектах с использованием этой БД.
0
Всем довольны или потом пожалели что взяли?О RethinkDB не пожалели. Раньше, к примеру, мы использовали Riak, вот о нём пожалели. Сейчас, правда, используем всё ещё Riak, но только как бэкенд для ejabberd.
Скажите, у вас ведь есть уже что то в продакшине, какую нагрузку держит?RethinkDB используем для онлайн игры. Все игровые данные в нём храним. У нас пока только софтланч, поэтому особо больших нагрузок нет. Но десятки тысяч чтений/записей оно спокойно держит. Не знаю, много это или нет. Да и цифры то эти ни о чём в целом не говорят. Всё зависит от того, как вы приготовите запросы: будете выполнять их на клиенте (при этом тягая данные из бд на клиент) или же будете правильно составлять ReQL запросы, чтоб они выполнялись на сервере и возвращали только ответ.
0
Да, цифры действительно не о чем не говорят. Необходимы параметры железа и хотя бы сравнительные тесты. Но все равно спасибо за ответ.
Посмотрел на сайте RethinkDB, в блоге есть недавний отчет о тестировании производительности, возможно из него удастся понятно что к чему.
Посмотрел на сайте RethinkDB, в блоге есть недавний отчет о тестировании производительности, возможно из него удастся понятно что к чему.
0
Интересно, а как защищаться от DDOS-а, заставляя базу данных делать кучу медленных тяжелых запросов? Удобный API для доступа по сути уже есть…
0
Хороший вопрос. Поискав Github issues и Api RethinkDB — ничего про защиту от DDoS, к сожалению, не нашел. Было одно упоминание, мол неплохо было бы добавить в правила rateLimit, то есть максимальное количество данного типа запросов которое база будет обрабатывать за единицу времени, но видимо осталось на уровне «хотелки».
0
Как же вовремя, спасибо! Вчера поставил, разбираюсь.
0
Есть мнение, что у RethinkDB беда с инсертами. Это меня смущает.
0
Статья прошлогодняя и комментарий тоже, сейчас уже актуальна новая версия RethinkDB, поэтому советую взглянуть на бенчмарки (и тут развернуто). Конечно я не стараюсь вас обнадежить — необходимо с умом подходить к выбору БД. Но есть комментарий разработчиков, что БД в версии 2.1.5 линейно масштабируется на Amazon EC2. Так что кто знает. Можете рассказать о планах применения RethinkDB, и возможно Suvitruf сможет вам ответить — подходит или нет, исходя из своего опыта эксплуатации этой БД.
+1
Функционал Хабра, примерно: посты, комменты, лайки, уведомления, личка.
0
Я бы посоветовал погуглить на тему «RethinkDB benchmark», «RethinkDB perfomance», «RethinkDB vs MongoDB perfomance», заглянуть сюда.
Из нескольких источников, где тестировалась версия 2.0.X было видно, что производительность уступает MongoDB и на порядки, но сейчас актуальна версия 2.3.5. Какие улучшения производительности были достигнуты за это время — не известно.
Можно не гадать, а запилить небольшой тест для чтения и инсертов, аналогичный этому и потом сделать пост на эту тему. Было бы здорово.
Ну и стоит понимать, что иногда в угоду специфичным фичам (например возможности подписаться на изменения или важна простота старта, или язык запросов единственный понятный вам) можно пожертвовать производительностью, а иногда проект никогда не вырастит до огромной посещаемости, поэтому возможно оно и не понадобится. Каждый случай уникален в каком то смысле.
Из нескольких источников, где тестировалась версия 2.0.X было видно, что производительность уступает MongoDB и на порядки, но сейчас актуальна версия 2.3.5. Какие улучшения производительности были достигнуты за это время — не известно.
Можно не гадать, а запилить небольшой тест для чтения и инсертов, аналогичный этому и потом сделать пост на эту тему. Было бы здорово.
Ну и стоит понимать, что иногда в угоду специфичным фичам (например возможности подписаться на изменения или важна простота старта, или язык запросов единственный понятный вам) можно пожертвовать производительностью, а иногда проект никогда не вырастит до огромной посещаемости, поэтому возможно оно и не понадобится. Каждый случай уникален в каком то смысле.
+1
Тоже приглядываюсь к Horizon, но пока не понятно в чем его преимущества перед тем же ParseServer, который считай до недавнего момента был вообще проприетарным. Плюс считай под нагрузками проверен более или менее. Админка и SDK под кучу библиотек в комплекте тоже.
Может есть кто юзал и то и другое?
Может есть кто юзал и то и другое?
0
Cтек более монолитный (база и веб-сервер) от одной команды. Умеет нотификейшены сразу из базы в веб-сокет (сделано на уровне базы). Да и оно больше для SPA и Mobile HTML5 приложений, чем как бэкэнд для Native. Если для Native, то RethinkDB выглядит более логичным, Horizon тут будет лишним.
Но честно, не готов советовать. Вверху есть ребята которые работают с RethinkDB, можете поспрашивать.
Но честно, не готов советовать. Вверху есть ребята которые работают с RethinkDB, можете поспрашивать.
0
Sign up to leave a comment.
Horizon — realtime JavaScript бэкэнд