Учебный курс Современная архитектура хранилища данных
Модуль 1 - Роль Аналитики и Инженера данных в организации
Познакомимся с предметом изучения, узнаем кто такой Data Engineer и что он делает, и как его еще называют. Главное, поймем, как он помогает бизнесу быть эффективней и зарабатывать деньги. Рассмотрим типовые архитектуры аналитических решений.
- Введение в Data Engineering. ETL, схема «звезды» и Airflow
- Data Engineer и Data Scientist: какая вообще разница?
- Почему data scientist — это не data engineer?
- Data Analyst vs. Data Scientist - в чем различие?
- Мои первые три недели на должности менеджера инженерии данных
- Эра DataOps
- Как пройти собеседование по проектированию систем в области инженерии данных
Модуль 2 - Базы Данных и SQL
Рассмотрим пример решения для локальной аналитики. Познакомимся с базами данных и поймем их преимущество для работы с данными по сравнению с Excel/Google Sheets. Потренируемся на SQL, установим базу данных и загрузим в нее данные, потом будем использовать Excel/Google Sheets для визуализации данных.
Доступные решения для России:
- Greenplum - бесплатно, но если промышленная - нужна коммерческая поддержка, например Arenadata, учебный курс по GreenPlum
- Clickhouse (быстрая колоночная СУБД для витрин данных) - учебный курс по Clickhouse
- Postgres - бесплатно, но если промышленная инсталляция - нужна коммерческая поддержка, например Postgres Professional, учебный курс по PostgreSQL
- Эволюция архитектуры баз данных: интеграция Big Data, облачных технологий и ИИ
- Кому подойдет СУБД Greenplum? Чем Greenplum отличается от Clickhouse
- Сравнение 4 баз данных: Greenplum, Teradata, Presto и Clickhouse
СУБД и хранилища для больших данных
- Сравнение аналитических in-memory баз данных
- Хранилища данных. Обзор технологий и подходов к проектированию
- Методология построения DWH
- Пошаговый план по внедрению DWH
- Учебный курс по DWH Basics / DWH Intermediate
- Teradata, Redshift, учебный курс по GreenPlum, Exadata
- MSSQL, учебный курс по PostgreSQL
- Hive, Impala, Presto, Vertica, ClickHouse, Cassandra
- MongoDB, DynamoDB
- S3, ADLS, GCS, HDFS
- VERTICA как развитая MPP СУБД
- Важнейшие критерии при выборе Extract – Load решения для интеграции данных в DWH
- Размерное моделирование и витрины данных по Кимбаллу
- 3 метода моделирования данных: Кимбалл, Инман и Data Vault
- От реляционных БД до Data Lakehouse: краткая история развития систем управления данными
- Ликбез по методологиям проектирования хранилищ данных
Исследование всех СУБД можно скачать на https://russianbi.ru/
Пропиетарные облачные решения:
- Oracle ADW - бесплатно в облаке на 10 ГБ, потом где-то 1K за ядро в месяц
- Vertica - до 1TB без саппорта бесплатно, потом примерно 7k за ТБ в год
- Snowflake - в облаке, тоже денег стоит, но надо смотреть что там и как
Модуль 3 - Визуализация данных, дашборды и отчетность - Business Intelligence.
Познакомимся с BI инструментами, научимся использовать Qlik, Tableau и Power BI. Разберемся с клиентской и серверной частью. А также познакомимся с методологией по созданию метрик - Pirate Metrics.
- Развитие BI-систем: тренды и движение в сторону ABI. Взгляд со стороны визуализации
- Self-service - аналитика как иерархия потребностей
- Четыре примера использования Azure Synapse
Модуль 4 - Интеграция данных и создание потоков данных (data piplelines)
- Различные виды стека данных
- Эволюция стека данных: история о том, как мы обрабатываем постоянно растущие объемы данных
- Основные функции ETL-систем
- Популярные ETL-системы: обзор, но коротко
- ETL / инструменты для хранения данных
- Cравнение нескольких ETL
- ETL: что такое, зачем и для кого
- ETL и ELT: 5 основных отличий
- ETL и ELT: разница в том, как…
- Data Engineering: концепции, процессы и инструменты
- Как разработать и поддерживать функционирование высокопроизводительного конвейера данных
- Проблемы современного стека данных
- Руководство для архитектора данных по современному стеку данных
- Составление проектной документации для конвейеров данных
- Обзор ETL - процесса (разработка, трудности и автоматизация)
- Введение в современный стек данных
- DBT в двух словах
- Парсинг данных: определение, преимущества и связанные процессы
Продукты:
- Коммерческий ETL - Microsoft Integration Services и Informatica Power Center
- Open Source ETL - Pentaho / Airflow/Nifi : учебный курс по Apache Nifi, Apache Airflow / DBT Tool: Учебный курс по dbt (Data Build Tool)
- Облачный ETL - Matillion, Fivetran, AWS Glue, Azure Data Factory
Модуль 4.5 - Оркестрация скриптов и задач
- когда нужны инструменты оркестрации;
- обзор Airflow, Prefect, Dagster;
- Deployment: Self-managed (пример на Kubernetes) vs. Cloud native;
- Monitoring & Alerting;
- 3 DBT: Data Quality Pipeline + Documentation
- schema tests
- Data tests
- Cross-database tests
- Documenting your project
- Accessing documentation easily with static website
- 4 Вопросы оптимизации производительности
- performance best practices
- Execution plan analysis
- Compressing data & physical design (DIST, SORT, Materialized views, …)
- Incremental updates / building Marts by periods
- Code refactoring & KISS (Keep it simple, stupid)
Оркестрация и MLOps
Модуль 5 - Облачные вычисления (Cloud Computing)
Модуль 6 - Облачное Хранилище данных
Центр вселенной в аналитике обычно это хранилище данных или платформа данных. Как правило это аналитическое решение с MPP архитектурой и часто используется облачные решения. Мы познакомимся с одним из самых популярных решений Amazon Redshift и узнаем о других аналогах. Также рассмотрим кейсы миграции традиционных решений в облака.
- Современная архитектура хранилища данных
- Использование облачного хранилища данных и важность управление данными
- Функциональная data engineering - современная парадигма пакетной обработки данных
- 4 ключевых шаблона для загрузки данных в хранилище данных
- Cloud agnostic или как правильно построить облачную платформу данных
- Строительные блоки современной платформы данных
- Конец эпохи корпоративных хранилищ данных
- Загрузка данных - часть 1: Архитектурные паттерны
- Загрузка данных - часть 2: Cтратегия выбора инструмента
Google BigQuery:
- Интеграция данных с Google BigQuery
- Учебное пособие по BigQuery: подробное руководство
- Учебное пособие по BigQuery – как повысить гибкость вашего бизнеса
- Учебный курс по BigQuery
Azure:
- Создание безопасной конфигурации для служб Azure SQL
- Управление ресурсами Azure с помощью задач автоматизации
- Интеграция данных с Microsoft Azure
- Современная промышленная аналитика Интернета вещей в Azure
- Инженерия данных с Databricks: что, почему и как?
- Обзор Databricks. Что облачный продукт может дать начинающим специалистам
- Руководство по Azure Databricks для начинающих
- Azure Databricks для начинающих
- Как начать работу с Databricks
- Учебный курс по Databricks
- Платформы данных 3 поколения: Первый взгляд на Microsoft Fabric
Модуль 7 - Знакомство с Apache Spark
Apache Spark является одним из самых популярных инструментов для Инженера Данных. Данный модуль мы посвятим знакомству с Apache Spark и рассмотрим его функциональность. Потренируемся создавать RDD и Data Frame, рассмотрим основные операции и кейсы использования.
- Что такое Spark и с чем его едят?
- Что такое Apache Spark
- Знакомство с Apache Spark
- Apache Spark: гайд для новичков
- Быстрый старт в Apache Spark ML
Модуль 8 - Создание решения для Big Data с использованием Hadoop и Spark
- Из чего состоит Hadoop: концептуальная архитектура
- Платформа Big Data: от стартапа до крупной технологической компании
- Что такое MapReduce
- Выполнение распределенного перетасовывания без системы MapReduce
- Как построить современное аналитическое хранилище данных на базе Cloudera Hadoop
- Как создать и удалить таблицы в Apache Hadoop c использованием PySpark
Модуль 9 - Data Lake
Знакомство с понятием Озера Данных и его создание с помощью инструментов AWS. Существует много версий про назназначение Озера Данных и про его роль в Аналитической экосистеме. В данном модуле мы познакомимся с понятием Озера данных, его ролью в экосистеме, рассмотрим типовые архитектуры построения решений с использованием Озера Данных и/или Хранилища данных. В качестве решений будем использовать продукты AWS.
- Что такое Data Lake
- Что такое «озера данных» и почему они должны быть чистыми?
- Нужно ли нам озеро данных? А что делать с хранилищем данных?
- Про решения (Arenadata)
- Data Lake – от теории к практике. Сказ про то, как мы строим ETL на Hadoop
- Озеро данных, хранилище данных и база данных... В чем разница?
- Архитектура озера данных: как создать хорошее озеро данных
- Успешное внедрение озера данных с помощью организованности
- Озеро данных нового поколения: увеличение производительности в 10 раз!
- Озеро данных vs хранилище данных
- Data Lakehouse vs Data Warehouse vs Data Lake – Сравнение платформ данных
- Какое решение по хранение и анализу данных лучше всего выбрать
Архитектура медальона описывает ряд слоев данных, которые соответствуют качеству данных, хранящихся в гибридном решении "хранилище и озеро данных". Ведущие вендоры рекомендуют использовать многоуровневый подход к созданию единого источника истины для корпоративных продуктов данных. Эта архитектура гарантирует атомарность, согласованность, изоляцию и устойчивость, так как данные проходят через несколько уровней проверок и преобразований, прежде чем они будут сохранены в схеме, оптимизированной для эффективной аналитики. Термины бронзовый (необработанные), серебряный (проверенные) и золотой (обогащенные) описывают качество данных в каждом из этих уровней.
- Архитектура медальона: лучшие практики по управлению бронзовым, серебряным и золотым слоями
- Необычное золото: освоение архитектуры медальона
Apache Parquet, Hudi, Apache Iceberg и Delta Lake
- Hudi, Iceberg и Delta Lake: сравнение табличных форматов для озера данных
- Apache Iceberg для Data Lake: что это такое, зачем нужно и как работает
- Почему стоит выбрать функции Apache Iceberg
- Что такое Apache Iceberg? Ключевые характеристики и основные преимущества
- Что такое Apache Iceberg
- Введение в Apache Iceberg
- Выборочное удаление столбцов для повышения эффективности хранения в озерах данных (Apache Parquet)
- Apache Parquet
- Что такое Parquet? Обзор основных преимуществ и случаев использования
Модуль 10 - Решение задачи по стримингу данных.
Apache Flink
Apache Kafka
- Apache Kafka: что это и как работает
- Роль Apache Kafka в Big Data и DevOps: краткий ликбез и практические кейсы
- Apache Kafka: обзор
- Kafka vs RabbitMQ: что нужно знать аналитику про брокеры сообщений
- Apache Kafka для аналитика: ТОП-7 требований к интеграционной шине
- Все грани Apache NiFi для построения ETL-pipeline’ов и обработки потоковых данных с Kafka и Spark
- Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid
- Архитектура конвейера потоковых данных
- Пример реализации CDC из PostgreSQL в Kafka с Debezium
- Kafka и Debezium для потоковой CDC-интеграции Big Data
- CDC репликация средствами Debezium и Kafka Connect
- Kafka Connect на примере Debezium PostgresConnector
Другое:
- Apache Sqoop
- Ландшафт потоковой передачи данных
- CDC от источника до хранилища: как в банке Синара построили CDC с применением продуктов Arenadata (конференция Smartdata 2024)
Модуль 11 - Задачи Машинного Обучения глазами инженера данных.
- Разбираемся, в чем разница между Data Mining и Data Extraction
- MLOps: подробное руководство для начинающих
- MLOps - решающее конкурентное преимущество?
- Что такое MLOps? Объяснение операций машинного обучения
Модуль 12 - Лучшие практики инженера данных
- Построение аналитических архитектур для приложений, работающих в режиме реального времени
- Типы архитектуры платформ данных
- Руководство по созданию платформы данных
- Чему я научился, создавая платформу данных с нуля в течение года
- Роли и обязанности членов команды по работе с продуктами данных
Модуль 13 - Data Vault
- Введение в Data Vault
- Основы Data Vault
- Все о Data Vault (часть 1 - Знакомство с Data Vault)
- Все о Data Vault (часть 2 - Компоненты Data Vault)
- Все о Data Vault (часть 3 - Даты окончания действия и основы соединений)
- Все о Data Vault (часть 4 - Таблицы Связей)
- Все о Data Vault (часть 5 - Методика загрузки)
- Data Vault 2.0. В каких случаях внедрять, разбор основных проблем применения методологии при построении DWH на Greenplum (конференция Smartdata 2024)
- Процесс миграции DWH из состояния AS IS (Greenplum) в целевое состояние TO BE (Trino, Iceberg REST Catalog, Object Storage) (конференция Smartdata 2024)
Модуль 14 - Дополнительные структуры
Дата инженерия не для дата инженеров
- Проект «Инженерия данных» для начинающих — Пакетная обработка данных
- Инжиниринг данных — упражнения
- Полное руководство по происхождению данных в 2022 году
- Как и зачем «Ашан» построил платформу для работы с Big Data в публичном облаке
- Продаем «Дом озера данных»
- Что такое область подготовки данных?
- Zero-ETL, ChatGPT и будущее Data Engineering
CI/CD для пайплайнов данных
Data-driven компания:
- Развитие грамотности в сфере данных, ориентированных на людей
- Становясь Data-Driven организацией: скрытые возможности и проблемы
- Как мы посчитали уровень Data Driven’ности в компании и вклад в него каждого аналитика?
- DataMart
- Тестирование
Модуль 15 - Data Mesh
Любая компания собирает и обрабатывает огромное количество данных, стараясь извлечь из них максимальную ценность, используя, в частности «озера данных». Вместе с тем, в классическом подходе к работе с Data Lake имеются принципиальные ограничения при централизованном развитии хранилища – чем больше интегрированных систем и данных, тем больше требуется ресурсов на их поддержку и развитие, а значит, возникает больше кросс-зависимостей, что означает лавинообразный рост ответственности для определенных групп сотрудников компании. В итоге, например команда работы с Data Lake, становится бутылочным горлышком процесса доставки данных от источников к потребителям. Решение – распределенная структура управления данными (Data Mesh), позволяющая разделить ответственность: владение данными (генерация, описание, контроль качества, публикация) сосредоточено в бизнес-функциях, а CDO выступает в роли провайдера инструментария хранения, обработки данных, а также методологии управления ими. Особое внимание уделено процессам Data Governance, обеспечивающим взаимодействие между узлами распределенной структуры: внедрение каталога данных, определение ландшафта данных, роли владельца данных, общие политики для всех узлов.
- Ценность виртуализации данных в Data Mesh
- Data Mesh: что это такое и для чего он нужен инженерам
- Введение в Data Mesh
Модуль 16 - Change Data Capture (CDC)
Эти системы позволяют наполнять централизованные хранилища/озера извлекая данные из источников по мере их изменения там. Вот хороший базовый обзор этой концепции и систем:
- Введение в систему CDC — эффективный способ репликации транзакционных данных в озеро данных
- Архитектура системы CDC
- Как выбрать для своего конвейера данных максимально эффективную архитектуру
- Исторический обзор: как CDC-инструменты и подходы развивались на практике
- Обработка данных в режиме реального времени с помощью CDC и использование Change Data Capture архитектуры, управляемой событиями
Модуль 17 - Каталог данных (Data Catalog)
- Каталог данных на примере DataHub. Часть I
- Архитектура Data Hub: новый тренд в области интеграции данных?
- Каталог данных — почему без него непросто и как всё организовать с максимальной пользой
Дополнительно
- Учебный курс по dbt (Data Build Tool)
- Глоссарий по управлению данными (Data Governance), хранилищам данных (DWH) и бизнес-аналитике (BI)
- Паттерны архитектуры ПО в инженерии данных
- Мой первый Data Lake (презентация, .pdf)
- Как устроена платформа управления данными в Яндекс.Маркет (презентация, .pdf)
- Kappa и Lambda. Обзор баззвордов архитектур (презентация, .pdf)
- Новые виды архитектур для организации современной инфраструктуры данных
- Прошлое, настоящее и будущее Архитектуры данных
- Десять красных флажков, указывающих на то, что Ваша аналитическая программа обречена на провал
- CAP теорема
- Оптимальный способ обработки чрезвычайно больших массивов данных (> 100 ТБ)
- 25 вопросов и ответов по терминам REST API на собеседовании по вакансии системного аналитика
- Сводные таблицы Greenplum
Компоненты аналтитического решения сгруппированы по типам и назначению.