Учебный курс Современная архитектура хранилища данных
Модуль 1 - Роль Аналитики и Инженера данных в организации
Познакомимся с предметом изучения, узнаем кто такой Data Engineer и что он делает, и как его еще называют. Главное, поймем, как он помогает бизнесу быть эффективней и зарабатывать деньги. Рассмотрим типовые архитектуры аналитических решений.
- Введение в Data Engineering. ETL, схема «звезды» и Airflow
- Data Engineer и Data Scientist: какая вообще разница?
- Почему data scientist — это не data engineer?
- Data Analyst vs. Data Scientist - в чем различие?
- Мои первые три недели на должности менеджера инженерии данных
- Эра DataOps
- Как пройти собеседование по проектированию систем в области инженерии данных
- Введение в инженерию данных
- Сложности в области инженерии данных
- Введение в паттерны проектирования в инженерии данных (DEDP)
- Bash-скрипт vs. хранимые процедуры vs. Традиционные инструменты ETL vs. Python-скрипт
Модуль 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 в двух словах
- Парсинг данных: определение, преимущества и связанные процессы
Конвейеры данных. Карманный справочник 2024 (книга .pdf)
Книга посвящена передовым методам построения конвейеров данных, сбору данных из множества разнообразных источников и преобразованию их для аналитики. Дано введение в конвейеры данных, раскрыта их работа в современном стеке данных. Описаны стандартные шаблоны конвейеров данных. Показан процесс сбора данных от их извлечения до загрузки в хранилище. Затронуты вопросы преобразования и проверки данных, оркестровки конвейеров, методов их обслуживания и мониторинга производительности. Примеры программ написаны на Python и SQL и задействуют множество библиотек с открытым исходным кодом
Продукты:
- Коммерческий 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тратегия выбора инструмента
- Я потратил 5 часов на то, чтобы понять как компания ClickHouse создала свое внутреннее хранилище данных
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 ML
Spark в действии (книга .pdf)
Анализ корпоративных данных начинается с чтения, фильтрации и объединения файлов и потоков из многих источников. Механизм обработки данных Spark способен обрабатывать эти разнообразные объемы информации как признанный лидер в этой области, обеспечивая в 100 раз большую скорость, чем например Hadoop. Благодаря поддержке SQL, интуитивно понятному интерфейсу и простому и ясному многоязыковому API вы можете использовать Spark без глубокого изучения новой сложной экосистемы. Эта книга научит вас создавать полноценные и завершенные аналитические приложения. В качестве примера используется полный конвейер обработки данных, поступающих со спутников NASA. Для чтения этой книги не требуется какой-либо предварительный опыт работы со Spark, Scala или Hadoop.
Модуль 8 - Создание решения для Big Data с использованием Hadoop и Spark
Алгоритмы и структуры для массивных наборов данных (книга .pdf) [2023] Меджедович Дж., Тахирович Э
Стандартные алгоритмы и структуры при применении к крупным распределенным наборам данных могут становиться медленными — или вообще не работать. Правильный подбор алгоритмов, предназначенных для работы с большими данными, экономит время, повышает точность и снижает стоимость обработки. Книга знакомит с методами обработки и анализа больших распределенных данных. Насыщенное отраслевыми историями и занимательными иллюстрациями, это удобное руководство позволяет легко понять даже сложные концепции. Вы научитесь применять на реальных примерах такие мощные алгоритмы, как фильтры Блума, набросок count-min, HyperLogLog и LSM-деревья, в своих собственных проектах.
Модуль 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
- Почему стоит выбрать функции Apache Iceberg
- Что такое Apache Iceberg? Ключевые характеристики и основные преимущества
- Что такое Apache Iceberg
- Введение в Apache Iceberg
- Покойтесь с миром, каталоги Iceberg … или нет?
- Понимание модели согласованности Apache Iceberg, часть 1
- Понимание модели согласованности Apache Iceberg, часть 2
- Выборочное удаление столбцов для повышения эффективности хранения в озерах данных (Apache Parquet)
- Apache Parquet
- Что такое Parquet? Обзор основных преимуществ и случаев использования
Модуль 10 - Решение задачи по стримингу данных.
Apache Flink
Apache Kafka
- Apache Kafka: что это и как работает
- Apache Kafka: обзор
- Kafka vs RabbitMQ: что нужно знать аналитику про брокеры сообщений
- Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid
- Архитектура конвейера потоковых данных
- 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)
Building a Scalable Data Warehouse with Data Vault 2.0 (книга .pdf)
Data Vault был изобретен Дэном Линстедтом в Министерстве обороны США, и этот стандарт успешно применялся к проектам по хранению данных в организациях разных размеров, от малых до крупных корпораций. Благодаря своей упрощенной конструкции, стандарт Data Vault 2.0 помогает предотвратить типичные сбои в хранении данных. Книга «Building a Scalable Data Warehouse with Data Vault 2.0» охватывает все, что нужно знать для создания масштабируемого хранилища данных от начала до конца, включая презентацию метода моделирования Data Vault, который обеспечивает основу для создания технического уровня хранилища данных. В книге обсуждается, как построить хранилище данных постепенно, используя гибкую методологию Data Vault 2.0. Кроме того, читатели узнают, как создать входной уровень (stage layer) и уровень представления (presentation layer - data mart) архитектуры Data Vault 2.0, включая лучшие практики внедрения. Опираясь на многолетний практический опыт и используя многочисленные примеры и простую для понимания структуру, Дэн Линстедт и Майкл
Модуль 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: новый тренд в области интеграции данных?
- Каталог данных — почему без него непросто и как всё организовать с максимальной пользой
Модуль 18 - Мониторинг данных
- Prometheus + Grafana. Настраиваем 4 golden signals
Дополнительно
- Учебный курс по dbt (Data Build Tool)
- Глоссарий по управлению данными (Data Governance), хранилищам данных (DWH) и бизнес-аналитике (BI)
- Паттерны архитектуры ПО в инженерии данных
- Мой первый Data Lake (презентация, .pdf)
- Как устроена платформа управления данными в Яндекс.Маркет (презентация, .pdf)
- Kappa и Lambda. Обзор баззвордов архитектур (презентация, .pdf)
- Новые виды архитектур для организации современной инфраструктуры данных
- Прошлое, настоящее и будущее Архитектуры данных
- Десять красных флажков, указывающих на то, что Ваша аналитическая программа обречена на провал
- CAP теорема
- Оптимальный способ обработки чрезвычайно больших массивов данных (> 100 ТБ)
- 25 вопросов и ответов по терминам REST API на собеседовании по вакансии системного аналитика
- Полезные команды Git, которые стоит взять на вооружение
- Сводные таблицы Greenplum
Компоненты аналтитического решения сгруппированы по типам и назначению.