Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Data Engineer: учебное пособие для прохождения собеседования
https://tproger.ru/curriculum/data-engineer-interview-guide
📖 In Russian: cписок русскоязычных публикаций matyushkin и блокноты Jupyter для различных образовательных ресурсов.
https://github.com/matyushkin/lessons
A complete computer science study plan to become a software engineer.
https://github.com/matyushkin/lessons
Как проходит интервью по SRE T-Bank (aka Tinkoff)
https://www.tbank.ru/career/it/interview/sre/
https://tproger.ru/curriculum/data-engineer-interview-guide
📖 In Russian: cписок русскоязычных публикаций matyushkin и блокноты Jupyter для различных образовательных ресурсов.
https://github.com/matyushkin/lessons
A complete computer science study plan to become a software engineer.
https://github.com/matyushkin/lessons
Как проходит интервью по SRE T-Bank (aka Tinkoff)
https://www.tbank.ru/career/it/interview/sre/
Tproger
Data Engineer: учебное пособие для прохождения собеседования
Детальный план по обучению профессии Data Engineer. В нём вы найдёте задачи разного уровня сложности, видеоуроки и курсы.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Streaming_Data_Mesh.pdf
6.3 MB
Озера и хранилища данных становятся все более хрупкими, дорогостоящими и сложными в обслуживании по мере увеличения объема данных и ускорения их движения. Сетки данных могут помочь вашей организации децентрализовать данные, вернув право собственности на них инженерам, которые их создали. В этой книге представлен краткий, но исчерпывающий обзор моделей ячеек данных для служб потоковых данных и данных реального времени.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
CDC и Debezium
Debezium — это платформа с открытым исходным кодом, которая отслеживает изменения в базах данных в режиме реального времени (CDC, Change Data Capture).
Она позволяет захватывать изменения (вставки, обновления, удаления) из транзакционных журналов баз данных, таких как MySQL, PostgreSQL, SQL Server и других, и передавать их в системы обработки данных, например Apache Kafka.
Debezium используется для синхронизации данных между различными системами, построения real-time аналитики и миграции данных.
~ Статьи по теме ~
Знакомство с Debezium — CDC для Apache Kafka / Habr
CDC на примитивах
Change Data Capture (CDC) в Yandex Data Transfer: гид по технологии с примерами
Особенности проекта Debezium для решения задачи миграции баз данных
Change Data Capture, with Debezium
Change Data Capture (CDC) with PostgreSQL and ClickHouse - Part 1
Change Data Capture (CDC) with PostgreSQL and ClickHouse - Part 2
~~~
#cdc #debezium
Debezium — это платформа с открытым исходным кодом, которая отслеживает изменения в базах данных в режиме реального времени (CDC, Change Data Capture).
Она позволяет захватывать изменения (вставки, обновления, удаления) из транзакционных журналов баз данных, таких как MySQL, PostgreSQL, SQL Server и других, и передавать их в системы обработки данных, например Apache Kafka.
Debezium используется для синхронизации данных между различными системами, построения real-time аналитики и миграции данных.
~ Статьи по теме ~
Знакомство с Debezium — CDC для Apache Kafka / Habr
CDC на примитивах
Change Data Capture (CDC) в Yandex Data Transfer: гид по технологии с примерами
Особенности проекта Debezium для решения задачи миграции баз данных
Change Data Capture, with Debezium
Change Data Capture (CDC) with PostgreSQL and ClickHouse - Part 1
Change Data Capture (CDC) with PostgreSQL and ClickHouse - Part 2
~~~
#cdc #debezium
Хабр
Знакомство с Debezium — CDC для Apache Kafka
В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой...
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Debezium Engine (3).pdf
24 MB
Презентация со SmartData 2024
DebeziumEngine: практическое руководство по использованию
Анастасия Сашина | Java/Kotlin разработчик Т-Банка
DebeziumEngine: практическое руководство по использованию
Анастасия Сашина | Java/Kotlin разработчик Т-Банка
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Обзор работы Debezium с PG в режиме логической репликации
https://youtu.be/NlBUSGSFtMQ?si=WySzda3IKAxAYK8I
https://youtu.be/NlBUSGSFtMQ?si=WySzda3IKAxAYK8I
YouTube
Обзор работы Debezium с PG в режиме логической репликации
В данном мы разберем как настраивается коннекторы debezium для PG для работы в режиме логической репликации.
Ссылка на git репозитарий https://github.com/biwed/dp--review
00:00 Вступление
02:35 Обзор Docker compose файла
04:27 Настройка потоковой репликации…
Ссылка на git репозитарий https://github.com/biwed/dp--review
00:00 Вступление
02:35 Обзор Docker compose файла
04:27 Настройка потоковой репликации…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Linux: настройка мониторинга за 15 минут с помощью Grafana и Prometheus
https://www.youtube.com/watch?v=X_g-eJqiiLo
https://www.youtube.com/watch?v=X_g-eJqiiLo
YouTube
Linux: настройка мониторинга за 15 минут с помощью Grafana и Prometheus
В этом видео показывается, как организовать мониторинг сервера/компьютера на операционной системе Linux с помощью Grafana, Prometheus и Node Exporter
Репозиторий: https://github.com/digitalstudium/grafana-docker-stack
Этот же мониторинг + настройка уведомлений…
Репозиторий: https://github.com/digitalstudium/grafana-docker-stack
Этот же мониторинг + настройка уведомлений…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
YouTube
Prometheus + Grafana. Настраиваем 4 golden signals
1 поток курса Мониторинг в Grafana: старт 19 февраля
Посмотреть программу и стоимость: https://to.slurm.io/s7T7BQ
Видео для тех, кто хочет получить базовое понимание подходов к мониторингу (RED, USE, 4 golden signals) и реализовать один из подходов (4 golden…
Посмотреть программу и стоимость: https://to.slurm.io/s7T7BQ
Видео для тех, кто хочет получить базовое понимание подходов к мониторингу (RED, USE, 4 golden signals) и реализовать один из подходов (4 golden…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Наткнулся на аккаунт https://github.com/kzzzr. Советую глянуть все репозитории. Выделю некоторые:
DWH powered by Clickhouse and dbt
Курс Analytics Engineer
Data Vault powered by dbtVault and Greenplum
Data Vault 2.0: Code generation, Vertica, Airflow
Статья на Habr "Строим Data Vault на данных TPC-H – Greenplum + dbtVault"
DWH powered by Clickhouse and dbt
Курс Analytics Engineer
Data Vault powered by dbtVault and Greenplum
Data Vault 2.0: Code generation, Vertica, Airflow
Статья на Habr "Строим Data Vault на данных TPC-H – Greenplum + dbtVault"
GitHub
kzzzr - Overview
Snowflake, Clickhouse, Kafka, Debezium, Snowplow, dbt champion - kzzzr
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
SmartData2024_Data_Vault_2.0.pdf
1.9 MB
Презентация со SmartData 2024: Data Vault 2.0
В каких случаях внедрять, разбор основных проблем применения методологии при построении DWH на Greenplum.
Денис Лукьянов
Руководитель направления архитектуры данных
В каких случаях внедрять, разбор основных проблем применения методологии при построении DWH на Greenplum.
Денис Лукьянов
Руководитель направления архитектуры данных
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
SmartData_2024_dbt_data_mesh_airflow.pdf
8.4 MB
Презентация со SmartData 2024: Data Mesh / dbt / Airflow
От хайпа до продакшена: DataMesh на Airflow + dbt.
От хайпа до продакшена: DataMesh на Airflow + dbt.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
SmartData 2023: dbt — ядро современной платформы данных
https://youtu.be/u8LkCBVKKus?si=AOebDOfm28T2n3AF
https://youtu.be/u8LkCBVKKus?si=AOebDOfm28T2n3AF
YouTube
Евгений Ермаков — dbt — ядро современной платформы данных
Подробнее о конференции SmartData: https://jrg.su/aTWU2K
— —
dbt — один из самых быстро набирающих популярность инструментов в сфере построения платформ и хранилищ данных. Сочетание простоты и функциональности этого инструмента подкупила и команду Toloka.ai…
— —
dbt — один из самых быстро набирающих популярность инструментов в сфере построения платформ и хранилищ данных. Сочетание простоты и функциональности этого инструмента подкупила и команду Toloka.ai…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
smartdata_2023_dbt.pdf
20.3 MB
Презентация к видео 👆
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
dbt Mesh: Powering Data Mesh — The Ultimate Guide | by Alice Bui | Joon Solutions Global | Medium
https://medium.com/refined-and-refactored/dbt-mesh-powering-the-data-mesh-the-ultimate-guide-a721ab78d008
https://medium.com/refined-and-refactored/dbt-mesh-powering-the-data-mesh-the-ultimate-guide-a721ab78d008
Medium
dbt Mesh: Powering Data Mesh — The Ultimate Guide
While dbt is a powerful tool for data transformation, dbt Mesh unlocks its full potential within the Data Mesh architecture. This…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Trino - The Definitive Guide 2023.pdf
4.8 MB
Trino - The Definitive Guide 2023 Second Edition.pdf
SQL at Any Scale, on Any Storage, in Any Environment
Trino — это распределённый SQL-движок для выполнения аналитических запросов на больших объёмах данных. Он позволяет выполнять запросы к данным, хранящимся в различных источниках, таких как базы данных, хранилища данных и файловые системы, без необходимости перемещать данные. Trino поддерживает стандарты ANSI SQL и широко используется для высокопроизводительной аналитики, позволяя объединять данные из различных систем в одном запросе.
#trino
SQL at Any Scale, on Any Storage, in Any Environment
Trino — это распределённый SQL-движок для выполнения аналитических запросов на больших объёмах данных. Он позволяет выполнять запросы к данным, хранящимся в различных источниках, таких как базы данных, хранилища данных и файловые системы, без необходимости перемещать данные. Trino поддерживает стандарты ANSI SQL и широко используется для высокопроизводительной аналитики, позволяя объединять данные из различных систем в одном запросе.
#trino
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Monitor Apache Airflow with Airbyte, Snowflake and Apache Superset
https://youtu.be/x7oRfH4ig54?si=NgUKI9BklYSUbaaM
#Airflow #Airbyte #Superset
https://youtu.be/x7oRfH4ig54?si=NgUKI9BklYSUbaaM
#Airflow #Airbyte #Superset
YouTube
Mini Data Engineering Project: Monitor Apache Airflow with Airbyte, Snowflake, and Superset
Mini Data Engineering Project: Monitor Apache Airflow with Airbyte, Snowflake, and Superset
Notion Page: https://robust-dinosaur-2ef.notion.site/PUBLIC-Mini-Data-Engineering-Project-Monitoring-Airflow-DAGs-and-Tasks-with-Airbyte-and-Snowflake-1159e45d4d…
Notion Page: https://robust-dinosaur-2ef.notion.site/PUBLIC-Mini-Data-Engineering-Project-Monitoring-Airflow-DAGs-and-Tasks-with-Airbyte-and-Snowflake-1159e45d4d…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Нормальные формы базы данных (YouTube)
00:00 - О чём пойдёт речь в статье
00:45 - Коротко о реляционных БД
01:20 - Что такое нормализация
01:46 - Зачем нужна нормализация БД
02:08 - Что такое избыточность данных с примерами
04:51 - Какие бывают нормальные формы БД и о процессе нормалиции в целом
08:00 - Ненормализованная форма или нулевая нормальная форма с примером
09:37 - Первая нормальная форма с примером нормализации
11:24 - Вторая нормальная форма с примером нормализации
15:29 - Что такое декомпозиция
16:18 - Третья нормальная форма с примером нормализации
18:54 - Нормальная форма Бойса-Кодда с примером нормализации
21:54 - Четвертая нормальная форма с примером нормализации
27:45 - Почему обычно никто не нормализует БД до 5 или 6 нормальной формы
29:14 - Пятая нормальная форма с примером нормализации
34:23 - Доменно-ключевая нормальная форма
35:39 - Шестая нормальная форма
38:02 - Выводы и заключение
https://youtu.be/zqQxWdTpSIA?si=9WUJIZbQ8Qu7QWjO
00:00 - О чём пойдёт речь в статье
00:45 - Коротко о реляционных БД
01:20 - Что такое нормализация
01:46 - Зачем нужна нормализация БД
02:08 - Что такое избыточность данных с примерами
04:51 - Какие бывают нормальные формы БД и о процессе нормалиции в целом
08:00 - Ненормализованная форма или нулевая нормальная форма с примером
09:37 - Первая нормальная форма с примером нормализации
11:24 - Вторая нормальная форма с примером нормализации
15:29 - Что такое декомпозиция
16:18 - Третья нормальная форма с примером нормализации
18:54 - Нормальная форма Бойса-Кодда с примером нормализации
21:54 - Четвертая нормальная форма с примером нормализации
27:45 - Почему обычно никто не нормализует БД до 5 или 6 нормальной формы
29:14 - Пятая нормальная форма с примером нормализации
34:23 - Доменно-ключевая нормальная форма
35:39 - Шестая нормальная форма
38:02 - Выводы и заключение
https://youtu.be/zqQxWdTpSIA?si=9WUJIZbQ8Qu7QWjO
YouTube
Нормальные формы баз данных: Объясняем на пальцах
Пройти бесплатный тест по теме для закрепления - https://qomp.club/quiz/21?topicId=5
00:00 - О чём пойдёт речь в статье
00:45 - Коротко о реляционных БД
01:20 - Что такое нормализация
01:46 - Зачем нужна нормализация БД
02:08 - Что такое избыточность данных…
00:00 - О чём пойдёт речь в статье
00:45 - Коротко о реляционных БД
01:20 - Что такое нормализация
01:46 - Зачем нужна нормализация БД
02:08 - Что такое избыточность данных…
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Оконные функции.pdf
2.6 MB
Небольшая шпаргалка по оконным функциям.
Делал при подготовке к собесам
Делал при подготовке к собесам
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
The Bitnami Containers Library
Popular applications, provided by Bitnami, containerized and ready to launch.
Здесь можно найти примеры docker compose и других настроек для таких приложений как:
airflow, spark, vault, nginx, minio, clickhouse, kafka и многое другое
https://github.com/bitnami/containers/
Popular applications, provided by Bitnami, containerized and ready to launch.
Здесь можно найти примеры docker compose и других настроек для таких приложений как:
airflow, spark, vault, nginx, minio, clickhouse, kafka и многое другое
https://github.com/bitnami/containers/
GitHub
GitHub - bitnami/containers: Bitnami container images
Bitnami container images. Contribute to bitnami/containers development by creating an account on GitHub.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Apache Iceberg Won the Future — What’s Next for 2025? | by Yingjun Wu | Nov, 2024 | Data Engineer Things
https://blog.det.life/apache-iceberg-won-the-future-whats-next-for-2025-731635bfcb7a
https://blog.det.life/apache-iceberg-won-the-future-whats-next-for-2025-731635bfcb7a
Data Engineer Things
Things learned in our data engineering journey and ideas on data and engineering.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Anchor Modeling and GP - презентация Yandex Go.pdf
4.4 MB
Евгений Ермаков, Николай Гребенщиков — Greenplum и Anchor modeling: Мечты разбиваются о реальность
Видео YouTube:
https://www.youtube.com/watch?v=iCZ1HUbGSdw
Еще есть статья про Anchor Modeling на Habr: Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие
Также есть туториал на английском с видео:
https://www.anchormodeling.com/tutorials/
DataLearn: DataVault / Anchor Modeling / Николай Голов
https://www.youtube.com/watch?v=-ZgzpQXsxi0
Habr: Как эволюционировала платформа управления данными в Яндекс Go. Доклад Яндекса - статья из 2024 🙃
Пример с github (нагуглил) hNhM(highly Normalized hybrid Model)
#Anchor
Видео YouTube:
https://www.youtube.com/watch?v=iCZ1HUbGSdw
Еще есть статья про Anchor Modeling на Habr: Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие
Также есть туториал на английском с видео:
https://www.anchormodeling.com/tutorials/
DataLearn: DataVault / Anchor Modeling / Николай Голов
https://www.youtube.com/watch?v=-ZgzpQXsxi0
Habr: Как эволюционировала платформа управления данными в Яндекс Go. Доклад Яндекса - статья из 2024 🙃
Пример с github (нагуглил) hNhM(highly Normalized hybrid Model)
#Anchor
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
⚓️ Anchor Modeling (AM) — это подход к моделированию хранилищ данных, который ориентирован на максимальную гибкость и адаптивность, чтобы справляться с изменениями в данных и бизнес-логике.
Основные понятия и термины
Anchor (Якорь):
▫️Представляет сущность реального мира.
▫️Содержит суррогатный ключ и временную метку загрузки.
▫️У каждой сущности есть своя таблица Anchor.
Attribute (Атрибут):
▫️Представляет свойство сущности.
▫️Каждое свойство хранится в отдельной таблице Attribute, что обеспечивает ультра-нормализацию (до 6НФ).
▫️Таблица атрибутов содержит суррогатный ключ, временную метку и значение атрибута.
Tie (Связь):
▫️Моделирует отношения между сущностями.
▫️Таблица связи содержит только ключи связанных сущностей.
Surrogate Key (Суррогатный ключ):
▫️Искусственный ключ для идентификации сущности, атрибута или связи.
Принципы построения хранилища:
▫️Хранилище структурируется в виде множества небольших таблиц, где каждая хранит однотипные данные (якоря, атрибуты или связи).
▫️Вся информация нормализована, чтобы избежать дублирования.
▫️Данные устойчивы к изменениям структуры — добавление нового атрибута или связи требует создания новых таблиц, без модификации существующих.
➕ Преимущества:
▫️Адаптивность к изменениям: Расширение модели не нарушает её текущую работу.
▫️Минимизация дублирования данных: Уменьшается объем SCD2 (историзации данных).
▫️Гибкость: Возможность быстрого внесения изменений.
➖ Ограничения:
▫️Количество таблиц: Высокая степень нормализации увеличивает их количество, что может усложнять работу с моделью.
▫️Высокая стоимость запросов: За счет множества объединений (JOIN) между таблицами, что требует оптимизации запросов.
Технические аспекты:
Важными оптимизациями для AM являются:
▫️Join Elimination: Исключение ненужных таблиц из плана запроса.
▫️Merge Join: Эффективное соединение таблиц.
▫️Cluster Index: Использование кластерных индексов для ускорения операций.
Практический опыт:
▫️В рамках проекта использовалась Greenplum, однако подход сталкивался с ограничениями:
▫️Не все оптимизации (Join Elimination, Merge Join) были доступны «из коробки».
▫️Пришлось адаптировать физическое проектирование и использовать гибридную модель (hNhM), сочетая принципы Data Vault и Anchor Modeling.
Anchor Modeling предлагает мощный и гибкий способ организации хранилищ данных, но требует высоких требований к инфраструктуре и оптимизации для достижения производительности.
———
Knot (Узел) — это отдельный элемент модели, предназначенный для хранения неизменяемых данных, которые часто повторяются и используются в качестве ссылок или классификаторов. Это важный концепт, который позволяет минимизировать дублирование данных и упрощать их управление.
Основные характеристики Knot:
▫️Неизменяемость: Узлы хранят данные, которые не меняются со временем, например, коды валют, статусы, типы продуктов.
▫️Компактность: Значения хранятся в одной таблице узла, что позволяет избежать их дублирования в других таблицах.
▫️Оптимизация ссылок: Узлы используются для хранения небольших наборов данных, которые ссылаются на другие таблицы через свои ключи.
▫️Ключи узлов: Узел может содержать как суррогатный ключ (для внутреннего использования), так и бизнес-ключ, представляющий реальное значение (например, "USD" для доллара США).
▫️Декомпозиция: Вместо того, чтобы повторять значение во многих местах, узел предоставляет ссылку, что делает модель более нормализованной.
———
Data Vault и Anchor Modeling отличаются степенью нормализации и подходом к изменениям:
▫️Data Vault использует строгую нормализацию для разделения бизнес-ключей, связей и исторических атрибутов, минимизируя дублирование, но оставляя некоторую гибкость в модели.
▫️Anchor Modeling идет дальше, достигая ультра-нормализации (до 6НФ), полностью исключая дублирование, и ориентируется на постоянное расширение модели без изменений существующих структур.
———
Про сам доклад также можно почитать на Habr: Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса
Основные понятия и термины
Anchor (Якорь):
▫️Представляет сущность реального мира.
▫️Содержит суррогатный ключ и временную метку загрузки.
▫️У каждой сущности есть своя таблица Anchor.
Attribute (Атрибут):
▫️Представляет свойство сущности.
▫️Каждое свойство хранится в отдельной таблице Attribute, что обеспечивает ультра-нормализацию (до 6НФ).
▫️Таблица атрибутов содержит суррогатный ключ, временную метку и значение атрибута.
Tie (Связь):
▫️Моделирует отношения между сущностями.
▫️Таблица связи содержит только ключи связанных сущностей.
Surrogate Key (Суррогатный ключ):
▫️Искусственный ключ для идентификации сущности, атрибута или связи.
Принципы построения хранилища:
▫️Хранилище структурируется в виде множества небольших таблиц, где каждая хранит однотипные данные (якоря, атрибуты или связи).
▫️Вся информация нормализована, чтобы избежать дублирования.
▫️Данные устойчивы к изменениям структуры — добавление нового атрибута или связи требует создания новых таблиц, без модификации существующих.
➕ Преимущества:
▫️Адаптивность к изменениям: Расширение модели не нарушает её текущую работу.
▫️Минимизация дублирования данных: Уменьшается объем SCD2 (историзации данных).
▫️Гибкость: Возможность быстрого внесения изменений.
➖ Ограничения:
▫️Количество таблиц: Высокая степень нормализации увеличивает их количество, что может усложнять работу с моделью.
▫️Высокая стоимость запросов: За счет множества объединений (JOIN) между таблицами, что требует оптимизации запросов.
Технические аспекты:
Важными оптимизациями для AM являются:
▫️Join Elimination: Исключение ненужных таблиц из плана запроса.
▫️Merge Join: Эффективное соединение таблиц.
▫️Cluster Index: Использование кластерных индексов для ускорения операций.
Практический опыт:
▫️В рамках проекта использовалась Greenplum, однако подход сталкивался с ограничениями:
▫️Не все оптимизации (Join Elimination, Merge Join) были доступны «из коробки».
▫️Пришлось адаптировать физическое проектирование и использовать гибридную модель (hNhM), сочетая принципы Data Vault и Anchor Modeling.
Anchor Modeling предлагает мощный и гибкий способ организации хранилищ данных, но требует высоких требований к инфраструктуре и оптимизации для достижения производительности.
———
Knot (Узел) — это отдельный элемент модели, предназначенный для хранения неизменяемых данных, которые часто повторяются и используются в качестве ссылок или классификаторов. Это важный концепт, который позволяет минимизировать дублирование данных и упрощать их управление.
Основные характеристики Knot:
▫️Неизменяемость: Узлы хранят данные, которые не меняются со временем, например, коды валют, статусы, типы продуктов.
▫️Компактность: Значения хранятся в одной таблице узла, что позволяет избежать их дублирования в других таблицах.
▫️Оптимизация ссылок: Узлы используются для хранения небольших наборов данных, которые ссылаются на другие таблицы через свои ключи.
▫️Ключи узлов: Узел может содержать как суррогатный ключ (для внутреннего использования), так и бизнес-ключ, представляющий реальное значение (например, "USD" для доллара США).
▫️Декомпозиция: Вместо того, чтобы повторять значение во многих местах, узел предоставляет ссылку, что делает модель более нормализованной.
———
Data Vault и Anchor Modeling отличаются степенью нормализации и подходом к изменениям:
▫️Data Vault использует строгую нормализацию для разделения бизнес-ключей, связей и исторических атрибутов, минимизируя дублирование, но оставляя некоторую гибкость в модели.
▫️Anchor Modeling идет дальше, достигая ультра-нормализации (до 6НФ), полностью исключая дублирование, и ориентируется на постоянное расширение модели без изменений существующих структур.
———
Про сам доклад также можно почитать на Habr: Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса
Хабр
Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса
Общепринятый и проверенный временем подход к построению Data Warehouse (DWH) — это схема «Звезда» или «Снежинка». Такой подход каноничен, фундаментален, вотрфоллен и совсем не отвечает той гибкости, к...