OLTP и OLAP

Проектирование баз данных

Lis Sulmont

Curriculum Manager

Ключевой вопрос:

Как организовать данные и управлять ими?

  • Схемы: Как логически организовать данные?
  • Нормализация: Следует ли минимизировать зависимости и избыточность?
  • Представления: Какие объединения выполняются чаще всего?
  • Управление доступом: Должны ли все пользователи иметь одинаковый уровень доступа?
  • СУБД: Как выбрать между SQL и noSQL?
  • и не только!
Проектирование баз данных

Ключевой вопрос:

Как организовать данные и управлять ими?

  • Схемы: Как логически организовать данные?
  • Нормализация: Следует ли минимизировать зависимости и избыточность?
  • Представления: Какие объединения выполняются чаще всего?
  • Управление доступом: Должны ли все пользователи иметь одинаковый уровень доступа?
  • СУБД: Как выбрать между SQL и noSQL?
  • и не только!
Всё зависит от назначения данных.
Проектирование баз данных

Подходы к обработке данных

OLTP

Online Transaction Processing

Кассовый терминал на кассе

OLAP

Online Analytical Processing

Дашборд с данными на ноутбуке

Проектирование баз данных

Конкретные примеры

Задачи OLTP

  • Найти цену книги
  • Обновить последнюю транзакцию клиента
  • Учитывать рабочие часы сотрудников

Задачи OLAP

  • Рассчитать книги с наибольшей маржой
  • Найти самых лояльных клиентов
  • Определить лучшего сотрудника месяца
Проектирование баз данных

OLAP и OLTP: сравнение

OLTP OLAP
Назначение поддержка текущих транзакций анализ и формирование отчётов
Проектирование ориентировано на приложения ориентировано на предметную область
Данные актуальные, оперативные консолидированные, исторические
Объём снимок, гигабайты архив, терабайты
Запросы простые транзакции и частые обновления сложные агрегатные запросы и редкие обновления
Пользователи тысячи сотни
Проектирование баз данных

Совместная работа

OLAP и OLTP

Проектирование баз данных

Выводы

  • Сначала определите бизнес-требования
  • Разница между OLAP и OLTP
  • OLAP, OLTP или что-то другое?
Проектирование баз данных

Давайте потренируемся!

Проектирование баз данных

Preparing Video For Download...