Почему выбрать ClickHouse вместо Elasticsearch
Что проверяют
Умение выбирать хранилище по профилю нагрузки, а не по популярности. Здесь легко увидеть, понимает ли кандидат, что колоночный аналитический движок и инвертированный индекс решают разные задачи, и умеет ли он назвать слабые места каждого.
Как отвечать
Сравнивайте по тому, какой запрос преобладает.
ClickHouse: колоночное хранение, разреженный первичный индекс по ключу сортировки, сильное сжатие, векторизованное выполнение. Выигрывает на агрегатах по миллиардам строк, воронках, временных рядах, группировках по широкому окну. Полноценный SQL, материализованные представления, TTL на данные. Слабые места: точечные изменения и удаления переписывают куски данных, частые мелкие вставки убивают производительность и требуют пакетирования, полнотекстовый поиск с ранжированием по релевантности не его задача.
Поисковый движок: инвертированный индекс, анализаторы и стемминг, ранжирование по релевантности, устойчивость к опечаткам, частичное обновление документа, данные видны почти сразу после записи. Слабые места: агрегаты по большим объёмам обходятся дороже, память и настройка кучи становятся отдельной работой, хранение логов заметно дороже по железу.
Практический вывод: если запросы звучат как «посчитай, сгруппируй, построй динамику по датам», берём колоночную аналитику. Если как «найди по тексту и отсортируй по релевантности», берём поиск. Смешанный сценарий решается разделением: сырьё и агрегаты в колоночном хранилище, а поисковый индекс держат узким и только по тем полям, по которым реально ищут.
Где спотыкаются
Сводят ответ к «одно быстрее другого». Быстрее на своём классе запросов. На полнотекстовом поиске с ранжированием аналитический движок проигрывает, и наоборот.
Переносят привычки транзакционной базы: построчные вставки, обновление одной строки, надежда на транзакции и произвольные соединения таблиц. В аналитическом хранилище это самый частый источник разочарования.
Сравнивают вообще, без цифр задачи. Объём, кардинальность ключей, глубина хранения, допустимая задержка появления данных и бюджет на железо. Без этих вводных ответ остаётся пересказом обзорной статьи.