Что выбрать: Amazon CloudSearch или ElasticSearch на EC2?
Господа, серьезный вопрос: стоит ли для Rails-приложения при деплойменте на AWS OpsWorks выбрать Amazon CloudSearch, или достаточно легко будет управиться с конфигурированием и поддержкой 1 или нескольких нодов ElasticSearch на EC2 инстансах? Критериев сравнения много, я для себя составил уже портрет каждого из этих engines, но интересует насколько CloudSearch "деревянный" в плане неожиданных затыков по гибкости конфигурирования, импорте данных. Т.к. уже сталкивался с этим в других продуктах Amazon: хочешь сконфигурировать более удобно под свое решение - все разваливается и заваливает тебя тоннами непонятных сообщений об ошибках (так было с Elastic Beanstalk).
Т.е. оправданно ли возиться с ручной конфигурацией ElasticSearch ввиду возможной негибкости CloudSearch?
Не буду тут расписываться, скажу кратко. Я бы использовал ES.
1. Маштабируемось просто сказка
2. Хотя и оба справятся но ES гораздо быстрее и для отчетов будет работать быстрее и по умолчанию уже включает статистические данные в любой ответ.
Ну и даже если сейчас оба справятся, то вдруг настанет такой момент что надо расширится? Расширить ES проще и дешевле наверно будет.
Еще надо учесть что ES хотя в имени поиск это всетаки база данных. Просто так называется. А CS это иммено поисковый индекс. Думаю его вообще будет не возможно использовать в некоторых моментах как базу данных.
По объему индексируемых данных справятся и ElasticSearch и Amazon CloudSearch примерно одинаково (последний теперь Solr-based). Тут больше интересует конкретный опыт работы с Amazon CloudSearch: были ли затыки с конфигурированием, масштабированием, индексированием ActiveRecord-моделей в Rails.