Вопрос с собеседования · Базы данных

Чем нагрузка OLAP отличается от OLTP?

JuniorКолоночные БД
Ещё спрашивают так:
  • Чем аналитическая нагрузка отличается от транзакционной?
Коротко

OLTP — много коротких операций над отдельными записями (оформить заказ). OLAP — немного тяжёлых запросов с агрегацией по многим строкам и немногим колонкам (выручка по регионам за год).

  • OLTP — строковое хранение, индексы, транзакции
  • OLAP — колоночное хранение, сжатие, пакетная загрузка
  • Смешивать на одной базе опасно: отчёт тормозит транзакции

А ещё Данные из OLTP в OLAP — ETL или CDC

Подробно

Из разницы профилей вытекает разное устройство хранилищ. Транзакционной нагрузке нужен быстрый доступ к конкретной строке целиком, поэтому данные хранят построчно. Аналитике важно прочитать пару колонок, но по миллионам строк — здесь выигрывает колоночное хранение, где не нужно поднимать лишние поля и однотипные значения хорошо сжимаются. Поэтому аналитику обычно не гоняют по боевой транзакционной базе, а переливают данные в отдельное хранилище.

Что хотят услышать

  • Различие профилей нагрузки.
  • Подходящие хранилища.
  • Почему разделяют.

Частые ошибки

  • Запускать тяжёлую аналитику на боевой транзакционной базе.
  • Ожидать от аналитического хранилища быстрых точечных обновлений.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗OLAP работает только с данными в памяти, OLTP — с диском
  • ✗Различие только в объёме хранимых данных
  • ✗OLTP рассчитан на чтение отчётов, а OLAP — на поток мелких записей
  • ✓OLTP — много коротких операций над записями; OLAP — тяжёлые агрегации по миллионам строк

Что спросят дальше

  • Почему колоночное хранение выигрывает в аналитике?
  • Как данные обычно попадают в аналитическое хранилище?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования