Ответ вслух Junior Хранилища: OLTP, OLAP, DWH, lakehouse спрашивают часто обновлено

OLTP, OLAP и колоночное хранение

Вопрос

Объясните, чем OLTP отличается от OLAP и почему для аналитики используют колоночные базы.

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Образцовый ответ: «OLTP это база приложения: тысячи коротких транзакций, каждая читает или меняет пару строк по ключу, важны задержка и целостность, схема нормализована. OLAP это аналитика: запросов мало, но каждый сканирует миллионы строк и агрегирует несколько колонок.

Что должно прозвучать в ответе

  • OLTP: короткие транзакции по ключу, нормализация, задержка

  • OLAP: сканы и агрегаты по большим объёмам

  • Колоночное хранение читает только нужные колонки

  • Сжатие и векторная обработка

  • Цена: дорогие точечные обновления, вставки пачками

  • Аналитику выносят из базы приложения

Что могут спросить следом

  • Почему бы не сделать реплику PostgreSQL для аналитики?
  • Как данные попадают из OLTP в OLAP?

Разбор

Образцовый ответ: «OLTP это база приложения: тысячи коротких транзакций, каждая читает или меняет пару строк по ключу, важны задержка и целостность, схема нормализована. OLAP это аналитика: запросов мало, но каждый сканирует миллионы строк и агрегирует несколько колонок. Для такой нагрузки колоночное хранение выгоднее: запрос читает только нужные колонки, а не всю строку, однотипные значения сжимаются в разы, агрегаты считаются пачками. Платой становятся точечные обновления: менять одну строку дорого, поэтому данные грузят пачками. Поэтому аналитику выносят в отдельное хранилище: она не мешает приложению, туда можно собрать данные из разных систем и хранить историю. Реплика PostgreSQL годится на старте, но на больших объёмах сканы будут медленными».

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

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