es
Feedback
Data Engineering / Инженерия данных / Data Engineer / DWH

Data Engineering / Инженерия данных / Data Engineer / DWH

Ir al canal en Telegram

Data Engineering: ETL / DWH / Data Pipelines based on Open-Source software. Инженерия данных. ✔ DWH / SQL ✔ Airflow / Python / ETL / dbt / Spark ✔ AI Agents Рекламу не размещаю Вопросы: @iv_shamaev | datatalks.ru

Mostrar más
2 689
Suscriptores
Sin datos24 horas
+27 días
+2130 días
Archivo de publicaciones
Data Engineering Zoomcamp 2025 Cohort _ _ _ Б Е С П Л А Т Н О _ _ _ Start: 13 January 2025 Registration link: https://airtable.com/shr6oVXeQvSI5HuWD Materials specific to the cohort: cohorts/2025/ https://github.com/DataTalksClub/data-engineering-zoomcamp

Что такое GreenPlum и как он работает? https://youtu.be/rLG9Z_HcKPY?si=R9HAJ7kGB5xa_7VU #greenplum

SQL & Hibernate (лекции JavaRush) Неплохой набор лекций по работе с базами данных. Что относится к Java разработке можно пролистать. https://javarush.com/quests/QUEST_SQL_HIBERNATE_PUBLIC

Запись митапа про GreenPlum https://www.youtube.com/live/LuZoarjNF0w #greenplum

💡 7 стратегий для масштабирования базы данных 1️⃣ Индексация Анализируйте запросы вашего приложения и создавайте подходящие индексы для ускорения работы. 2️⃣ Материализованные представления Предварительно вычисляйте сложные запросы и сохраняйте результаты для быстрого доступа. 3️⃣ Денормализация Сократите сложные соединения таблиц, чтобы повысить производительность запросов. 4️⃣ Вертикальное масштабирование Увеличьте мощность сервера базы данных, добавив больше CPU, оперативной памяти или хранилища. 5️⃣ Кэширование Сохраняйте часто используемые данные в более быстром слое хранения, чтобы снизить нагрузку на базу данных. 6️⃣ Репликация Создавайте копии основной базы данных на других серверах для распределения нагрузки на чтение. 7️⃣ Шардинг Разделяйте таблицы на небольшие части и распределяйте их по разным серверам. Это поможет масштабировать как чтение, так и запись. YouTube: 7 must-know strategies to scale your database #scaling #масштабирование_базы_данных

Apache Kafka Изначально созданная для обработки логов, Kafka теперь является основой для множества приложений. Её устойчивое хранилище сообщений и гибкий доступ к данным позволяют потребителям извлекать записи в удобное для них время. Вот несколько популярных сценариев использования Kafka: ▫️Обработка и анализ логов: Эффективно справляется с огромными объёмами данных логов для их анализа и генерации инсайтов. ▫️Стриминг данных для рекомендаций: Обеспечивает потоковую обработку данных в реальном времени для предоставления персонализированных рекомендаций. ▫️Мониторинг и оповещения систем: Ускоряет мониторинг метрик и отправку уведомлений для своевременного реагирования на события в системе. ▫️Change Data Capture (CDC): Фиксирует и обрабатывает изменения в базах данных, чтобы поддерживать синхронизацию данных между системами. ▫️Миграция систем: Поддерживает бесшовную миграцию данных, обеспечивая их консистентность и доступность. YouTube: Top Kafka use cases you should know YouTube: Что такое кафка #kafka

Введение в dbt: основы моделирования данных Тайм-коды: 00:00 Начинаем 02:04 Рассказываем об ИнженеркаТех 03:54 В чем практическая ценность dbt? 05:51 Начало Data Lake 08:35 Большие SQL скрипты 10:12 Glue Spark ETL 13:00 Решение через Data Builder 17:40 Как продать команде свое решение? 19:18 Преимущества data build tool 28:33 Анатомия проекта на дбт 30:00 Создаем проект 01:10:15 Моделирование данных с dbt 01:21:41 Проблемы с аналитикой в БД 01:27:50 Оркестрация data build tool 01:30:00 Преимущества на dbt 01:31:10 Подводные камни ди би ти https://www.youtube.com/watch?v=BSge0lPJeHk #dbt

Data Cleaning - DEV Community Список задач по очистке данных https://dev.to/nozibul_islam_113b1d5334f/data-cleaning-1c68

Гибкие методологии проектирования Data Vault и Anchor Modeling | Евгений Ермаков Еще есть вебинарчик на karpov.courses Смена методологии — это всегда долгий и крайне сложный процесс. Особенно когда речь идёт о чём-то фундаментальном — например, о хранилищах данных. При проектировании детального слоя аналитического DWH [Data Warehouse] сейчас модно применять «гибкие методологии» — Data Vault и Anchor Modeling. Но всегда ли в них есть потребность или это просто мода, которая пройдёт со временем? https://www.youtube.com/watch?v=fNGIOb8SJvU

GitHub - yandex/ch-tools: ClickHouse administration and diagnostics tools https://github.com/yandex/ch-tools

Secret To Optimizing SQL Queries - Understand The SQL Execution Order https://www.youtube.com/watch?v=BHwzDmr6d7s

Pytest — это мощный инструмент для автоматизации тестирования Python-кода, который data engineer может использовать для тести
Pytest — это мощный инструмент для автоматизации тестирования Python-кода, который data engineer может использовать для тестирования ETL-скриптов, DAG'ов в Airflow и проверки корректности обработки данных.
Python Testing with pytest. Перевод книги - статьи на Хабр Предисловие и Ведение 1. Начало работы с pytest, Глава 1 2. Глава 2, Написание тестовых функций 3. ГЛАВА 3 pytest Fixtures 4. Builtin Fixtures, Глава 4 5. Плагины, ГЛАВА 5 6. Конфигурация, ГЛАВА 6 7. Использование pytest с другими инструментами, ГЛАВА 7 Дополнение (English статьи): ▫️Effective Python Testing With Pytest ▫️Pytest in PyCharm #pytest

⚓️ 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. Доклад Яндекса

Евгений Ермаков, Николай Гребенщиков — 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)

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

Книга "SQL Server. Наладка и оптимизация для профессионалов. — СПб.: Питер, 2023.pdf" + доп.материалы: Статья "Hands-On with Columnstore Indexes" в 4х частях: Part 1 Architecture Part 2 Best Practices and Guidelines Part 3 Maintenance and Additional Options Part 4 Query Patterns