OLTP — это класс систем, предназначенных для управления транзакционно-ориентированными приложениями. Рассмотрим ключевые аспекты этой технологии.
-- Типичная OLTP-операция:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 123;
UPDATE accounts SET balance = balance + 100 WHERE id = 456;
INSERT INTO transactions VALUES (123, 456, 100, NOW());
COMMIT;
-- Пример оптимизированной OLTP-таблицы:
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT REFERENCES customers(id),
amount DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_customer (customer_id)
) ENGINE=InnoDB;
Характеристика | OLTP | OLAP |
---|---|---|
Цель | Операционная обработка | Аналитика и отчетность |
Тип запросов | Точечные (по ключам) | Сканирующие (агрегации) |
Данные | Текущие | Исторические |
Нормализация | Высокая | Низкая (схема "звезда") |
Частота записи | Очень высокая | Периодическая загрузка |
Популярные СУБД:
Паттерны доступа:
-- Типичные OLTP-шаблоны:
-- 1. Точечный поиск
SELECT * FROM users WHERE id = 12345;
-- 2. Короткое обновление
UPDATE products SET stock = stock - 1 WHERE id = 789;
-- 3. Вставка с возвратом ID
INSERT INTO orders (...) VALUES (...) RETURNING id;
OLTP — это фундамент операционной деятельности бизнеса, обеспечивающий:
✔ Высокую доступность данных
✔ Целостность транзакций
✔ Быстрое выполнение операций
Ключевые принципы проектирования:
Для аналитики данные из OLTP обычно переносят в OLAP-хранилища через ETL-процессы.