🔵OLTP и OLAP
⭕ OLTP
OLTP (Online Transaction Processing) — система, предназначенная для управления и обработки множества транзакций в режиме онлайн
Транзакции обычно включают в себя операции создания, чтения, обновления и удаления (CRUD)
Алгоритм работы
🟡Ввод данных: пользователь вводит данные через интерфейс (форму заказа в Amazon)
🟡Валидация: система проверяет корректность и полноту введенных данных (проверка номера карты)
🟡Транзакция: cистема создает транзакцию с операциями (уменьшение количества товара на складе)
🟡Запись в БД: изменения сохраняются в БД, используя характеристики ACID
🟡Подтверждение: пользователь получает уведомление об успешном выполнении транзакции (сообщение об успешной покупке)
Характеристики
✅ должна обрабатывать большое количество транзакций в секунду
✅ одновременное выполнение транзакций разными пользователям
✅ обеспечение ACID свойств для предотвращения ошибок и обеспечения надежности транзакций
Примеры
➡ Сбербанк Онлайн — банковские транзакции и управления счетами
➡ 1С:Предприятие — учет и управления предприятием
➡ Ozon — бронирование и продажа товаров, управление складскими запасами
➡ РЖД — бронирование и продажа билетов
⭕ OLAP
OLAP (Online Analytical Processing) — система для выполнения сложных запросов и анализа больших объемов данных.
— Собирает информацию из БД, ERP, CRM и др источников, затем формирует многомерный массив данных для дальнейшего анализа. Эти массивы называют OLAP-кубами
— Кубы объединяют информацию из большого числа таблиц с её предварительной обработкой. Могут иметь разные измерения (в годах, регионах и тд)
Компоненты OLAP
⭕Источники данных — реляционные или многомерные БД, хранилище данных
⭕ETL-инструменты (extract, transform, load) — набор средств извлечения, преобразования и загрузки данных в хранилище
⭕OLAP-сервер, управляющий многомерными массивами данных
⭕Аналитические инструменты для формирования отчетов, графиков, диаграмм для пользователей
Алгоритм работы
⏩ данные поступают из различных источников, таких как OLTP системы, файлы, сторонние API в ETL систему
⏩ процесс ETL:
— извлечение данных
— данные очищаются, нормализуются и преобразуются
— загрузка в OLAP хранилище
⏩ данные организуются в многомерные структуры (кубы) для быстрого выполнения аналитических запросов
⏩ пользователь запрашивает данные через аналитический интерфейс, выполняются аналитические запросы (агрегация, фильтрация, анализ)
⏩ результаты анализа визуализируются, создаются отчеты и дашбордов
Характеристики
✅ скорость выполнения запросов важна, но не критична
✅ анализ данных по разным измерениям (по времени, региону, продукту)
✅ эффективная обрабатка терабайтов данных
✅ обработка сложных аналитических запросов, включая агрегирование и группировку данных
Примеры систем
Yandex DataLens — визуализация и анализа данных
Microsoft Power BI — инструмент бизнес-анализа
Vertica — БД для OLAP
⭕ Cвязь между OLTP и OLAP
Дополняют друг друга в процессе управления данными и аналитики:
🟡OLTP системы генерируют и собирают данные через транзакционные операции. Данные используются в OLAP системах для анализа и отчетности
🟡данные из OLTP систем извлекаются, преобразуются и загружаются в OLAP системы для анализа
🟡результаты анализа из OLAP систем могут влиять на операции в OLTP системах
(анализ покупательского поведения может привести к изменениям в маркетинговых кампаниях или стратегиях продаж)
⭕ Пример компонентов архитектуры с OLTP и OLAP системами
➡ OLTP
🟡Пользовательский интерфейс (UI): веб-приложение / мобильное приложение
🟡Серверное приложение для обработки транзакций и бизнес-логики
🟡Реляционная БД: для хранения транзакционных данных
➡ OLAP
🟡ETL Процесс: извлечения, трансформации и загрузки данных из OLTP БД в хранилище данных
🟡Хранилище данных: централизованное, для анализа данных
🟡Аналитические инструменты (BI Tools): для анализа данных и создания отчетов
⭐️ Подборки материалов по этой и другим темам доступны в базе знаний по системному анализу
#проектирование #бд
Post #389
15.5K