Александр Прозоров: В ноде нет хороших ORM для управления данными. В ruby есть очень хорошие и проверенные временем и ТЕСТАМИ ORM. В node.js нужно использовать ODM.
Согласен и нет. Всё зависит от вашего мышления во время написания кода. Мыслите шире, старайтесь делать проще, полюбите писать тесты, делайте понятным для людей - всё остальное решится само собой.
un1t: Согласен. Бывают фасеты и не ID. В таком случае надо капать глубже. Помочь, к сожалению, ничем не могу. Документация у ES достаточно скупая. Такое ощущение, что проще читать тесты и код, чем её.
Семён Семёнов: для каждого sidekiq сервера можно настроить очереди, которые он будет обрабатывать. Обычно это default, и другие очереди не обрабатываются. Если вы настроили sidekiq_options queue: :something_else, значит вам нужно запустить sidekiq с ключом -q something_else и тогда, эта очередь будет обрабатываться этим инстансом.
tartarelin: относительно надёжный. Нет распределённости и бэкап трудно сделать. С другой стороны, доступ, почти, мнгновенный. Да и обработкой и анализом данных можно гораздо качественнее заниматься. Кроме того, болезни всяческие меньше грозить будут. Так что развивайте память, мышление, логику и интуицию (пусть это уже из смежных областей).
Значит очередь та, которой нет в запущенном sidekiq. Он обрабатвает только то, что вы ему сказали можно обрабатывать. Почитайте про очереди и документацию не забудьте, а потом ещё и исходники. Потом приходите. Ответим на все вопросы :)
Liquidos: сомнительное утверждение, о том, что мультиспецы делают работу хуже. Конечно, углубиться можно глубоко, но часто ли это нужно. В общем, ваше умозаключение недействительно и ложно.
Если вы используете ES только как index storage (для поиска), и у вас есть основая БД (MySQL/Postgres/Mongo или ещё что-то похожее), то подгружайте правильные значения по индексам, которые выдаются после возвращения результата с ES. Мне кажется это наиболее правильный подход. Все приложения, которые я разрабатывал были связаны с мультиязычность, по этому проблем подобного рода не наблюдал именно из-за того, что приходилось в начале получать результат, и потом его уже на уровне приложения обрабатывать что бы правильно вывести значение для end-user.