Кто и как использует ElasticSearch и его продукты в странах СНГ?
Вы знаете, в основном - ищем. Шутка.
Мы, например, пилим портал недвижимости (ага, еще один), и используем ES+MySQL как эдакую гибридную базу данных, в которой каждый компонент занимается тем, что у него лучше всего получается. MySQL - отвечает за целостность и хранение данных в нормальной форме. ES - за поиск и аггрегации по денормализованным документам. Таким образом мы как бы имеем все преимущества NoSQL, без их недостатков. Кроме этого, через ES также идет куча трафика:
- Автодополнение в формах.
- Поиск по геокоординатам.
- Поиск похожих документов по хитрым алгоритмам.
- Поиск похожих документов по не очень хитрым алгоритмам, но с хитрым ранжированием.
- Перколирование документов перколатором для автоматического заполнения тегов.
- Аггрегирование разнообразной статистики.
- Аггрегирование разнообразных счетчиков в цикле запроса-ответа.
- Логгирование и последующие извлечение информации из логов при отслеживании проблем.
В общем и целом, спустя год после внедрения ES - ощущения примерно как в
известной статье
Пола Грэма:
"У НАС ЕСТЬ СЕКРЕТНОЕ ОРУЖИЕ". Это один из тех немногих инструментов, работая с которым, день за днем тащишься от него больше и больше.
Насколько большие обьемы данных хранятся и обрабатываются?
В индексе держатся документы только за последние пару недель, остальное в MySQL, и объемы выходят мелкими - около 2кк документов единовременно. Алсо, большинство запросов пишутся с использованием фильтров, и потому скорость выборок становится вообще несущественной.
Были ли какие-то глобальные проблемы и сбои в работе?
Глобальных не было, отмечу просто неприятные моменты:
- Т.к. данные нужны в реалтайме и систему риверов использовать не вариант, каждая запись в бд создает/обновляет/удаляет документ самостоятельно. Эта синхронизация постоянно рассыпается.
- ES со скрипом заводится на слабых машинах. Чтобы добиться более-менее стабильных автоматических билдов, лично мне пришлось прочесть чуть ли не всю информацию в интернете, касающуюся вопросов его производительности.
- Русская морфология порой работает довольно странно.
- Нечитаемая каша вместо нормальных исключений. Со временем привыкаешь, но в первый раз волосы на голове шевелятся.
Используете ли другие продукты Elastic, например Logstash, Kibana, Marvel, Shield?
Нет. Kibana выглядит интересно, но времени поставить и настроить ее все как-то нету.
Ваши ответы помогут мне в организации презентации на последующих конференциях, в странах Балтии, но хочется делится опытом и дальше.
Реквестирую ссылку на конференцию.