SQL. Лекция 1. Основы
Эволюция архитектуры данных. Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница
Данные сегодня стали важным ресурсом для бизнеса, но для того, чтобы на их основе принимать правильные управленческие решения, нужно их правильно хранить и обрабатывать.
Хранилища данных предоставляют инфраструктуру и инструменты сбора, хранения, обработки больших объемов информации для дальнейшей бизнес-аналитики.
Эпоха современных хранилищ данных началась с появления реляционных баз данных (далее БД). С появлением бизнес-аналитики следствием развития БД стала концепция Data Warehouse (корпоративное хранилище данных, DWH)...
🔵 Data Warehouse (DWH) Хранилище данных — информационная система, в которой хранятся данные из разных источников. Используется для анализа, составления отчетов и интеграции данных транзакций. ⚪️ Нижний уровень — БД. Объединяют данные из источников информации (например, из транзакционных СУБД или SaaS-сервисов). ⚪️ Средний — сервисы и приложения. Преобразуют данные в структуру для анализа и сложных запросов. Например, сервер OLAP. ⏺ Верхний — инструменты для создания отчетов, визуализации и анализа. Также называют уровнем клиента. Модели ХД: ⏺ Виртуальное ХД — отдельные БД, которые можно использовать совместно, чтобы получать доступ ко всем данным (как при хранении в одном ХД). ⏺ Модель витрины данных — для отчетности и анализа конкретных бизнес-линий. Хранилища — агрегированные данные из исходных систем, по одной бизнес-сфере. ⏺ Модель корпоративного ХД — хранение агрегированных данных со всей организации. Схемы ХД: ✨ Звезда: в центре ХД таблица фактов, которая хранит основные метрики. Вокруг расположены таблицы измерений с атрибутами. Простая и быстрая для чтения схема, оптимизирована для производительности запросов. ⏩ Пример: в центре — таблица фактов с информацией о продажах (сумма, количество). Вокруг — таблицы измерений: товары, клиенты, дата, магазины. ✨ Снежинка: нормализованная версия «Звезды», где таблицы измерений делятся на подтаблицы. Экономит место, но усложняет запросы. ⏩ Таблица «клиенты» делится на персональные данные, контакты, адреса. ✨ Anchor Modeling: полная нормализация данных. В центре — якоря (таблицы с сущностями). К ним присоединяются атрибуты и связи. Хранятся в отдельных таблицах. Легко добавлять данные и расширять структуру без изменений существующих таблиц. Но требует более сложных запросов и тщательного планирования. ⏩ В центре — якоря (клиенты и товары). Атрибуты для якоря «клиенты»: имя, дата рождения. Связи между якорями «клиенты» и «товары»: связь покупок. Изменения (обновления адреса клиента), добавляются как новые строки, сохраняя историю изменений. ✨ Data Vault: гибридный подход, объединивший плюсы схемы «звезды» и 3-ей нормальной формы. Состоит из: ➖ Хаб — таблица с основными данными по бизнес-сфере. ➖ Ссылка — таблица, которая соединяет и масштабирует систему. ➖ Спутник — таблица с описанием ключа хаба. ⏩ Отдельные хабы для «Клиентов» и «Продуктов». Ссылки связывают хабы с транзакциями. Сателлиты хранят изменяющиеся атрибуты (текущий адрес, обновлённые данные о продукте). Методологии проектирования: 📌 Инмон: нисходящий подход. После процесса ETL создается нормализованная модель ХД. Из нее создаются витрины размерных