Выбор ответа Middle Хранилища: OLTP, OLAP, DWH, lakehouse обновлено
Выбор хранилища под задачу
Вопрос
Продукту нужны дашборды по событиям сайта: 2 млрд событий в день, сотни одновременных пользователей дашбордов, ответ за доли секунды. Что подходит лучше всего как слой для запросов?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Колоночная СУБД вроде ClickHouse с предагрегатами под дашборды. Высокий RPS аналитических запросов с субсекундным ответом это сильная сторона ClickHouse: колоночное хранение, сортировочный ключ, материализованные агрегаты.
Варианты ответа
- Колоночная СУБД вроде ClickHouse с предагрегатами под дашбордыправильный ответ
- PostgreSQL с B-tree индексом на каждой колонке таблицы событий
- Файлы JSON в S3, читаемые при каждом открытии дашборда
- Kafka, из которой дашборд читает события с начала топика
Разбор
Высокий RPS аналитических запросов с субсекундным ответом это сильная сторона ClickHouse: колоночное хранение, сортировочный ключ, материализованные агрегаты. PostgreSQL на таких объёмах сканирований не справится, а индексы на всех колонках убьют вставку. Сырые JSON в S3 слишком медленны для интерактива. Kafka это транспорт, а не база для агрегатных запросов.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.