Чем нагрузка OLAP отличается от OLTP?
- Чем аналитическая нагрузка отличается от транзакционной?
OLTP — много коротких операций над отдельными записями (оформить заказ). OLAP — немного тяжёлых запросов с агрегацией по многим строкам и немногим колонкам (выручка по регионам за год).
- OLTP — строковое хранение, индексы, транзакции
- OLAP — колоночное хранение, сжатие, пакетная загрузка
- Смешивать на одной базе опасно: отчёт тормозит транзакции
А ещё Данные из OLTP в OLAP — ETL или CDC
Подробно
Из разницы профилей вытекает разное устройство хранилищ. Транзакционной нагрузке нужен быстрый доступ к конкретной строке целиком, поэтому данные хранят построчно. Аналитике важно прочитать пару колонок, но по миллионам строк — здесь выигрывает колоночное хранение, где не нужно поднимать лишние поля и однотипные значения хорошо сжимаются. Поэтому аналитику обычно не гоняют по боевой транзакционной базе, а переливают данные в отдельное хранилище.
Что хотят услышать
- Различие профилей нагрузки.
- Подходящие хранилища.
- Почему разделяют.
Частые ошибки
- Запускать тяжёлую аналитику на боевой транзакционной базе.
- Ожидать от аналитического хранилища быстрых точечных обновлений.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗OLAP работает только с данными в памяти, OLTP — с диском
- ✗Различие только в объёме хранимых данных
- ✗OLTP рассчитан на чтение отчётов, а OLAP — на поток мелких записей
- ✓OLTP — много коротких операций над записями; OLAP — тяжёлые агрегации по миллионам строк
Что спросят дальше
- Почему колоночное хранение выигрывает в аналитике?
- Как данные обычно попадают в аналитическое хранилище?
Разбор темы
- Колоночные БД: wide-column и аналитические
Разница между wide-column (Cassandra) и column-oriented OLAP (ClickHouse), partition/clustering keys, LSM-дерево и зачем хранить по колонкам.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.