OLTP (Online Transaction Processing) предназначен для обработки высоких объёмов коротких, частых транзакций — таких как вставки, обновления и удаления. OLAP (Online Analytical Processing) предназначен для сложных аналитических запросов над большими историческими наборами данных.
-- Типичный OLTP запрос
SELECT * FROM orders WHERE order_id = 12345;
-- Типичный OLAP запрос
SELECT region, SUM(revenue) FROM sales
GROUP BY region ORDER BY revenue DESC;
Основной компромисс — это производительность записи против производительности чтения и аналитики. OLTP держит данные актуальными и согласованными, а OLAP позволяет получить глубокое понимание накопленных исторических данных. В современных архитектурах данные часто вытягиваются из OLTP-систем и загружаются в отдельное OLAP-хранилище, чтобы удовлетворить оба требования без компромиссов.
OLTP системы используют нормализованные схемы в первую очередь для минимизации избыточности данных и оптимизации производительности записи, тогда как OLAP системы используют денормализованные star или snowflake схемы для повышения эффективности чтения и агрегации.
Новый — ещё не проверен сообществом
Вы