• Кто и как использует ElasticSearch в Production в странах СНГ?

    MintTea
    @MintTea
    Кто и как использует ElasticSearch и его продукты в странах СНГ?

    Вы знаете, в основном - ищем. Шутка.

    Мы, например, пилим портал недвижимости (ага, еще один), и используем ES+MySQL как эдакую гибридную базу данных, в которой каждый компонент занимается тем, что у него лучше всего получается. MySQL - отвечает за целостность и хранение данных в нормальной форме. ES - за поиск и аггрегации по денормализованным документам. Таким образом мы как бы имеем все преимущества NoSQL, без их недостатков. Кроме этого, через ES также идет куча трафика:
    • Автодополнение в формах.
    • Поиск по геокоординатам.
    • Поиск похожих документов по хитрым алгоритмам.
    • Поиск похожих документов по не очень хитрым алгоритмам, но с хитрым ранжированием.
    • Перколирование документов перколатором для автоматического заполнения тегов.
    • Аггрегирование разнообразной статистики.
    • Аггрегирование разнообразных счетчиков в цикле запроса-ответа.
    • Логгирование и последующие извлечение информации из логов при отслеживании проблем.

    В общем и целом, спустя год после внедрения ES - ощущения примерно как в известной статье
    Пола Грэма: "У НАС ЕСТЬ СЕКРЕТНОЕ ОРУЖИЕ". Это один из тех немногих инструментов, работая с которым, день за днем тащишься от него больше и больше.

    Насколько большие обьемы данных хранятся и обрабатываются?

    В индексе держатся документы только за последние пару недель, остальное в MySQL, и объемы выходят мелкими - около 2кк документов единовременно. Алсо, большинство запросов пишутся с использованием фильтров, и потому скорость выборок становится вообще несущественной.

    Были ли какие-то глобальные проблемы и сбои в работе?

    Глобальных не было, отмечу просто неприятные моменты:
    • Т.к. данные нужны в реалтайме и систему риверов использовать не вариант, каждая запись в бд создает/обновляет/удаляет документ самостоятельно. Эта синхронизация постоянно рассыпается.
    • ES со скрипом заводится на слабых машинах. Чтобы добиться более-менее стабильных автоматических билдов, лично мне пришлось прочесть чуть ли не всю информацию в интернете, касающуюся вопросов его производительности.
    • Русская морфология порой работает довольно странно.
    • Нечитаемая каша вместо нормальных исключений. Со временем привыкаешь, но в первый раз волосы на голове шевелятся.
    Используете ли другие продукты Elastic, например Logstash, Kibana, Marvel, Shield?

    Нет. Kibana выглядит интересно, но времени поставить и настроить ее все как-то нету.

    Ваши ответы помогут мне в организации презентации на последующих конференциях, в странах Балтии, но хочется делится опытом и дальше.

    Реквестирую ссылку на конференцию.
    Ответ написан
    1 комментарий