Выбор ответа Middle Хранилища: OLTP, OLAP, DWH, lakehouse обновлено

Выбор хранилища под задачу

Вопрос

Продукту нужны дашборды по событиям сайта: 2 млрд событий в день, сотни одновременных пользователей дашбордов, ответ за доли секунды. Что подходит лучше всего как слой для запросов?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Колоночная СУБД вроде ClickHouse с предагрегатами под дашборды. Высокий RPS аналитических запросов с субсекундным ответом это сильная сторона ClickHouse: колоночное хранение, сортировочный ключ, материализованные агрегаты.

Варианты ответа

  1. Колоночная СУБД вроде ClickHouse с предагрегатами под дашбордыправильный ответ
  2. PostgreSQL с B-tree индексом на каждой колонке таблицы событий
  3. Файлы JSON в S3, читаемые при каждом открытии дашборда
  4. Kafka, из которой дашборд читает события с начала топика

Разбор

Высокий RPS аналитических запросов с субсекундным ответом это сильная сторона ClickHouse: колоночное хранение, сортировочный ключ, материализованные агрегаты. PostgreSQL на таких объёмах сканирований не справится, а индексы на всех колонках убьют вставку. Сырые JSON в S3 слишком медленны для интерактива. Kafka это транспорт, а не база для агрегатных запросов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.