Выбор ответа Junior Хранилища: OLTP, OLAP, DWH, lakehouse спрашивают часто обновлено
Почему колоночное хранение быстрее для аналитики
Вопрос
Почему колоночное хранение ускоряет запрос SELECT region, sum(amount) FROM sales GROUP BY region по таблице из 150 колонок?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Читаются только две нужные колонки, а однотипные значения хорошо сжимаются и считаются пачками. Строчная база прочитает все 150 колонок каждой строки, колоночная только region и amount.
Варианты ответа
- Читаются только две нужные колонки, а однотипные значения хорошо сжимаются и считаются пачкамиправильный ответ
- Колоночные базы хранят готовые результаты всех GROUP BY и отдают их без чтения данных
- В колоночной базе все данные лежат в оперативной памяти, а диск нужен только для бэкапа
- Колоночные базы не проверяют типы данных при чтении и пропускают разбор значений
Разбор
Строчная база прочитает все 150 колонок каждой строки, колоночная только region и amount. Сжатие уменьшает объём чтения ещё в разы, а векторная обработка ускоряет вычисления. Готовых результатов всех запросов никто не хранит (это делают отдельно материализованные представления). Данные лежат на диске, память работает как кеш. Типы проверяются как обычно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Хранилища: OLTP, OLAP, DWH, lakehouse»
- Озеро против хранилища
- Слои хранилища
- Табличные форматы
- Спроектируйте аналитическую платформу для маркетплейса
- Слои DWH
- Schema-on-read
- Что добавляет табличный формат
- Системы и их роль