Объясните разницу между OLTP и OLAP.

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


1️⃣ OLTP (Online Transaction Processing)

Онлайн-обработка транзакций — системы, где важны быстрые, частые и маленькие операции.

  • Назначение: работа с текущими данными в реальном времени.

  • Данные: высоко нормализованные (много таблиц, связи).

  • Запросы: простые, короткие (INSERT, UPDATE, SELECT по ключу).

  • Пример нагрузки: банковская система, интернет-магазин, бронирование билетов.

  • Ориентир: скорость транзакции и целостность данных.

Пример OLTP-запроса:

UPDATE accounts SET balance = balance - 100 WHERE id = 1;

2️⃣ OLAP (Online Analytical Processing)

Онлайн-аналитическая обработка — системы, где важны агрегированные данные и аналитика.

  • Назначение: анализ больших массивов исторических данных.

  • Данные: денормализованные (звёздная/снежинка схема).

  • Запросы: сложные, долгие (GROUP BY, JOIN, агрегации).

  • Пример нагрузки: BI-системы, отчёты продаж, прогнозирование.

  • Ориентир: скорость сложных аналитических запросов.

Пример OLAP-запроса:

SELECT region, SUM(sales) 
FROM orders
WHERE year = 2024
GROUP BY region;

3️⃣ Сравнение

Характеристика
OLTP
OLAP

Основная задача

Транзакции, CRUD-операции

Аналитика, отчёты

Объём данных

GB – TB

TB – PB

Структура БД

Нормализованная (3NF)

Денормализованная (звезда)

Тип запросов

Простые, короткие

Сложные, агрегирующие

Производительность

Быстрый отклик на 1 операцию

Быстрая обработка больших выборок

Примеры

Банкинг, e-commerce, CRM

Data warehouse, BI, Big Data

Last updated

Was this helpful?