Наткнулся на аккаунт 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
Building reliable, cost effective and elegant Data Solutions - kzzzr
🔥8
SmartData2024_Data_Vault_2.0.pdf
1.9 MB
Презентация со SmartData 2024: Data Vault 2.0
В каких случаях внедрять, разбор основных проблем применения методологии при построении DWH на Greenplum.
Денис Лукьянов
Руководитель направления архитектуры данных
В каких случаях внедрять, разбор основных проблем применения методологии при построении DWH на Greenplum.
Денис Лукьянов
Руководитель направления архитектуры данных
👍8❤1
SmartData_2024_dbt_data_mesh_airflow.pdf
8.4 MB
Презентация со SmartData 2024: Data Mesh / dbt / Airflow
От хайпа до продакшена: DataMesh на Airflow + dbt.
От хайпа до продакшена: DataMesh на Airflow + dbt.
👍3
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…
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…
👍3
Физический JOIN в SQL: Как это работает?
В процессе выполнения запросов SQL важным моментом является физическое соединение (Physical Join) таблиц. Это фундаментальная операция, когда данные из двух источников объединяются на уровне строк.
В этом посте обсудим три основных алгоритма физического JOIN таблиц в SQL.
В статье по первой ссылке очень хорошие gif, отлично поясняющие работу каждого JOIN.
Nested Loop Join:
Используется, когда одна таблица небольшая, а вторая более крупная. SQL Server пробегает по каждой строке одной таблицы и ищет соответствующие строки во второй. Эффективно при небольших наборах данных и наличии индексов.
✓ Сложность O(NlogM)
✓ Обычно используется, когда одна таблица значительно мала.
✓ Большая таблица имеет индекс, который позволяет искать ее с помощью ключа соединения.
Merge Join:
Этот метод требует предварительной сортировки обеих таблиц по полю соединения. Если данные уже отсортированы, такой join работает очень быстро, так как просто последовательно проходит по строкам обеих таблиц. Отлично подходит для больших таблиц с отсортированными данными.
✓ Сложность O(N+M)
✓ Обе таблицы данных отсортированы по ключу соединения.
✓ Используется оператор равенства.
✓ Отлично подходит для очень больших таблиц.
Hash Join:
Подходит для ситуаций, когда таблицы не отсортированы и содержат большой объем данных. SQL Server создает хэш-таблицу для одной из таблиц, затем сравнивает строки другой таблицы с хэш-таблицей. Это один из самых мощных методов для работы с большими объемами данных.
✓ Сложность O(N+M), если игнорировать затраты на потребление ресурсов. Требует подготовительных действий надо построить хэш-таблицу.
✓ При соединении хешированием строки одного набора помещаются в хеш-таблицу, содержащуюся в памяти, а строки из второго набора перебираются, и для каждой из них проверяется наличие соответствующих строк в хеш-таблице.
✓ Ключом хеш-таблицы является тот столбец, по которому выполняется соединение наборов строк.
✓ Как правило, число строк в том наборе, на основе которого строится хеш-таблица, меньше, чем во втором наборе.
✓ Более высокая стоимость в плане потребления памяти и использования дискового ввода-вывода.
Подборка статей и видео по теме физического JOIN:
📌 Статья: Типы физического соединения таблиц в Microsoft SQL Server. Описание Nested Loops, Merge и Hash Match
📌 YouTube: 30.1. Планы выполнения запросов. Физические соединения: nested loop, merge join, hash join. Индексы
📌 YouTube: 30.2. Планы выполнения запросов. Физические соединения: nested loop, merge join, hash join. Индексы
📌 YouTube: #mergejoin #hashjoin #nestedloopjoin Алгоритмы объединения таблиц
📌 YouTube: Физические операторы соединений SQL Server. Разработчик MS SQL ч.5
📌 Статья ENG: Python & Data Engineering: Under the Hood of Join Operators
💡Правильный выбор физического оператора соединения — ключ к оптимизации производительности запросов!
#SQLServer #DataEngineering #PhysicalJoin #NestedLoop #MergeJoin #HashJoin
В процессе выполнения запросов SQL важным моментом является физическое соединение (Physical Join) таблиц. Это фундаментальная операция, когда данные из двух источников объединяются на уровне строк.
В этом посте обсудим три основных алгоритма физического JOIN таблиц в SQL.
Nested Loop Join:
Используется, когда одна таблица небольшая, а вторая более крупная. SQL Server пробегает по каждой строке одной таблицы и ищет соответствующие строки во второй. Эффективно при небольших наборах данных и наличии индексов.
✓ Сложность O(NlogM)
✓ Обычно используется, когда одна таблица значительно мала.
✓ Большая таблица имеет индекс, который позволяет искать ее с помощью ключа соединения.
Merge Join:
Этот метод требует предварительной сортировки обеих таблиц по полю соединения. Если данные уже отсортированы, такой join работает очень быстро, так как просто последовательно проходит по строкам обеих таблиц. Отлично подходит для больших таблиц с отсортированными данными.
✓ Сложность O(N+M)
✓ Обе таблицы данных отсортированы по ключу соединения.
✓ Используется оператор равенства.
✓ Отлично подходит для очень больших таблиц.
Hash Join:
Подходит для ситуаций, когда таблицы не отсортированы и содержат большой объем данных. SQL Server создает хэш-таблицу для одной из таблиц, затем сравнивает строки другой таблицы с хэш-таблицей. Это один из самых мощных методов для работы с большими объемами данных.
✓ Сложность O(N+M), если игнорировать затраты на потребление ресурсов. Требует подготовительных действий надо построить хэш-таблицу.
✓ При соединении хешированием строки одного набора помещаются в хеш-таблицу, содержащуюся в памяти, а строки из второго набора перебираются, и для каждой из них проверяется наличие соответствующих строк в хеш-таблице.
✓ Ключом хеш-таблицы является тот столбец, по которому выполняется соединение наборов строк.
✓ Как правило, число строк в том наборе, на основе которого строится хеш-таблица, меньше, чем во втором наборе.
✓ Более высокая стоимость в плане потребления памяти и использования дискового ввода-вывода.
Подборка статей и видео по теме физического JOIN:
📌 Статья: Типы физического соединения таблиц в Microsoft SQL Server. Описание Nested Loops, Merge и Hash Match
📌 YouTube: 30.1. Планы выполнения запросов. Физические соединения: nested loop, merge join, hash join. Индексы
📌 YouTube: 30.2. Планы выполнения запросов. Физические соединения: nested loop, merge join, hash join. Индексы
📌 YouTube: #mergejoin #hashjoin #nestedloopjoin Алгоритмы объединения таблиц
📌 YouTube: Физические операторы соединений SQL Server. Разработчик MS SQL ч.5
📌 Статья ENG: Python & Data Engineering: Under the Hood of Join Operators
💡Правильный выбор физического оператора соединения — ключ к оптимизации производительности запросов!
#SQLServer #DataEngineering #PhysicalJoin #NestedLoop #MergeJoin #HashJoin
Заметки IT специалиста
Типы физического соединения таблиц в Microsoft SQL Server. Описание Nested Loops, Merge и Hash Match | Info-Comp.ru - IT-блог для…
Из данного материала Вы узнаете, как происходит соединение таблиц в Microsoft SQL Server на физическом уровне, т.е. с помощью каких алгоритмов. Мы рассмотрим такие типы соединения как: Nested Loops, Merge и Hash Match
🔥8❤1👍1
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
🔥8❤1
Yandex Cup - регистрация до 20 октября
https://yandex.ru/cup/
Есть направления по Алгоритмам и Аналитике.
https://yandex.ru/cup/
Есть направления по Алгоритмам и Аналитике.
Yandex Cup — чемпионат по программированию
Попробуйте свои силы в решении нестандартных задач
🚀 Изучаем SQL индексы!
Индексы в базах данных — это структуры, которые помогают ускорить поиск и извлечение данных.
Вот основные типы индексов:
✓ B-Tree индексы: Наиболее распространённый тип индексов. Используется для диапазонного поиска и поддерживает сортировку данных. Работает по принципу сбалансированного дерева.
✓ Hash индексы: Используются для быстрого поиска по точному совпадению. Не поддерживают диапазонные запросы, но могут быть очень быстрыми для конкретных значений.
✓ GiST (Generalized Search Tree): Позволяет создавать индексы для сложных типов данных, таких как географические данные. Поддерживает множество операций поиска.
✓ GIN (Generalized Inverted Index): Эффективен для индексации массивов и полнотекстового поиска. Использует инвертированный индекс, что делает его подходящим для текстовых данных.
✓ Кластеризованные индексы: Определяют физический порядок хранения данных в таблице. То есть физически сортирует строки таблицы в соответствии с индексом. Обычно создаются на первичном ключе и позволяют значительно ускорить чтение данных.
✓ Некластеризованный индекс (Nonclustered): Создаются отдельно от основной таблицы и содержат указатели на строки данных. Позволяют создавать несколько индексов для одной таблицы.
✓ Составные индексы: Индексы, которые включают несколько колонок таблицы. Полезны для запросов, которые фильтруют данные по нескольким полям.
В этом посте собраны полезные статьи и видео на YouTube о SQL индексах, которые помогут вам разобраться в этой важной теме:
📌 Статья: Влияние индексов БД на производительность выборки данных
📌 Статья: Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
📌 YouTube: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
📌 YouTube: ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
📌 YouTube: Как устроен B-TREE индекс в базах данных
📌 YouTube: EXPLAIN в базах данных за 10 минут
📌 YouTube: Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
📌 YouTube: Оптимизация запросов с помощью индексов
📌 Статья: 14 вопросов об индексах в SQL Server, которые вы стеснялись задать
#Индексы #btree #hashindex #index
Индексы в базах данных — это структуры, которые помогают ускорить поиск и извлечение данных.
Вот основные типы индексов:
✓ B-Tree индексы: Наиболее распространённый тип индексов. Используется для диапазонного поиска и поддерживает сортировку данных. Работает по принципу сбалансированного дерева.
✓ Hash индексы: Используются для быстрого поиска по точному совпадению. Не поддерживают диапазонные запросы, но могут быть очень быстрыми для конкретных значений.
✓ GiST (Generalized Search Tree): Позволяет создавать индексы для сложных типов данных, таких как географические данные. Поддерживает множество операций поиска.
✓ GIN (Generalized Inverted Index): Эффективен для индексации массивов и полнотекстового поиска. Использует инвертированный индекс, что делает его подходящим для текстовых данных.
✓ Кластеризованные индексы: Определяют физический порядок хранения данных в таблице. То есть физически сортирует строки таблицы в соответствии с индексом. Обычно создаются на первичном ключе и позволяют значительно ускорить чтение данных.
✓ Некластеризованный индекс (Nonclustered): Создаются отдельно от основной таблицы и содержат указатели на строки данных. Позволяют создавать несколько индексов для одной таблицы.
✓ Составные индексы: Индексы, которые включают несколько колонок таблицы. Полезны для запросов, которые фильтруют данные по нескольким полям.
В этом посте собраны полезные статьи и видео на YouTube о SQL индексах, которые помогут вам разобраться в этой важной теме:
📌 Статья: Влияние индексов БД на производительность выборки данных
📌 Статья: Обслуживание индексов MS SQL Server: как, когда и, главное, зачем?
📌 YouTube: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами
📌 YouTube: ИНДЕКСЫ В БАЗАХ ДАННЫХ. СОБЕС В OZON.
📌 YouTube: Как устроен B-TREE индекс в базах данных
📌 YouTube: EXPLAIN в базах данных за 10 минут
📌 YouTube: Андрей Сальников — Индексы в PostgreSQL. Как понять, что создавать
📌 YouTube: Оптимизация запросов с помощью индексов
📌 Статья: 14 вопросов об индексах в SQL Server, которые вы стеснялись задать
#Индексы #btree #hashindex #index
Work Solutions
Влияние индексов БД на производительность выборки данных
Зачем нужны индексы в таблицах БД — Блог Work Solutions
🔥3👍1
How Uber Manages Petabytes of Real-Time Data (en)
В статье описывается, как Uber эффективно обрабатывает телеметрию с миллионов устройств, используя Apache Kafka и Flink для потоковой обработки, и как она поддерживает низкие задержки при высоких объемах данных.
Отдельно описан механизм репликации данных.
https://blog.bytebytego.com/p/how-uber-manages-petabytes-of-real
В статье описывается, как Uber эффективно обрабатывает телеметрию с миллионов устройств, используя Apache Kafka и Flink для потоковой обработки, и как она поддерживает низкие задержки при высоких объемах данных.
Отдельно описан механизм репликации данных.
https://blog.bytebytego.com/p/how-uber-manages-petabytes-of-real
Bytebytego
How Uber Manages Petabytes of Real-Time Data
Stop renting auth.
Гайд по логированию за 12 минут
▫️Вы узнаете, что такое логи, зачем они нужны и как правильно их использовать.
▫️Как настроить логи с помощью библиотек, вместо простого вывода на консоль, чтобы не потерять данные.
▫️Уровни логирования (INFO, DEBUG, ERROR).
▫️Как интегрировать логи с ElasticSearch и использовать их в Spring проектах.
https://youtu.be/KHS8hPh8mtU?si=IIBATXhg3KhsOn4u
▫️Вы узнаете, что такое логи, зачем они нужны и как правильно их использовать.
▫️Как настроить логи с помощью библиотек, вместо простого вывода на консоль, чтобы не потерять данные.
▫️Уровни логирования (INFO, DEBUG, ERROR).
▫️Как интегрировать логи с ElasticSearch и использовать их в Spring проектах.
https://youtu.be/KHS8hPh8mtU?si=IIBATXhg3KhsOn4u
YouTube
Лучший Гайд по Логированию За 12 Минут
ШПАРГАЛКА ПО ЛОГИРОВАНИЮ УЖЕ ДОСТУПНА В БИБЛИОТЕКЕ JAVA JUNIOR: https://www.faang.school/community?utm_source=youtube_video&utm_medium=organic&utm_campaign=library-java-junior&utm_content=video-65
Вы узнаете, что такое логи, зачем они нужны и как правильно…
Вы узнаете, что такое логи, зачем они нужны и как правильно…
👍2
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…
👍4
OReillys Data Quality Fundamentals 2022.pdf
9.7 MB
OReillys Data Quality Fundamentals 2022.pdf
📌 Build more trustworthy and reliable data pipelines
📌 Write scripts to make data checks and identify broken pipelines with data observability
📌 Learn how to set and maintain data SLAs, SLIs, and SLOs
📌 Develop and lead data quality initiatives at your company
📌 Learn how to treat data services and systems with the diligence of production software
📌 Automate data lineage graphs across your data ecosystem
📌 Build anomaly detectors for your critical data assets
#DataQuality #SLA #SLI #SLO #DataAssets #DataLineage
📌 Build more trustworthy and reliable data pipelines
📌 Write scripts to make data checks and identify broken pipelines with data observability
📌 Learn how to set and maintain data SLAs, SLIs, and SLOs
📌 Develop and lead data quality initiatives at your company
📌 Learn how to treat data services and systems with the diligence of production software
📌 Automate data lineage graphs across your data ecosystem
📌 Build anomaly detectors for your critical data assets
#DataQuality #SLA #SLI #SLO #DataAssets #DataLineage
👍4
Spark_v_deystvii.pdf
14.5 MB
Spark в действии.pdf
О книге👇
Анализ корпоративных данных начинается с чтения, фильтрации и объединения файлов и потоков из многих источников. Механизм обработки данных Spark способен обрабатывать эти разнообразные объемы информации как признанный лидер в этой области, обеспечивая в 100 раз большую скорость, чем например Hadoop. Благодаря поддержке SQL, интуитивно понятному интерфейсу и простому и ясному многоязыковому API вы можете использовать Spark без глубокого изучения новой сложной экосистемы. Эта книга научит вас создавать полноценные и завершенные аналитические приложения. В качестве примера используется полный конвейер обработки данных, поступающих со спутников NASA.
Для чтения этой книги не требуется какой-либо предварительный опыт работы со Spark, Scala или Hadoop.
#spark #scala #hadoop
О книге👇
Анализ корпоративных данных начинается с чтения, фильтрации и объединения файлов и потоков из многих источников. Механизм обработки данных Spark способен обрабатывать эти разнообразные объемы информации как признанный лидер в этой области, обеспечивая в 100 раз большую скорость, чем например Hadoop. Благодаря поддержке SQL, интуитивно понятному интерфейсу и простому и ясному многоязыковому API вы можете использовать Spark без глубокого изучения новой сложной экосистемы. Эта книга научит вас создавать полноценные и завершенные аналитические приложения. В качестве примера используется полный конвейер обработки данных, поступающих со спутников NASA.
Для чтения этой книги не требуется какой-либо предварительный опыт работы со Spark, Scala или Hadoop.
#spark #scala #hadoop
👍9
Алгоритмы_и_структуры_для_массивных_наборов_данных_2023_Меджедович.pdf
63.3 MB
Алгоритмы и структуры для массивных наборов данных [2023] Меджедович Дж., Тахирович Э.pdf
Стандартные алгоритмы и структуры при применении к крупным распределенным наборам данных могут становиться медленными — или вообще не работать. Правильный подбор алгоритмов, предназначенных для работы с большими данными, экономит время, повышает точность и снижает стоимость обработки.
Книга знакомит с методами обработки и анализа больших распределенных данных. Насыщенное отраслевыми историями и занимательными иллюстрациями, это удобное руководство позволяет легко понять даже сложные концепции. Вы научитесь применять на реальных примерах такие мощные алгоритмы, как фильтры Блума, набросок count-min, HyperLogLog и LSM-деревья, в своих собственных проектах.
Стандартные алгоритмы и структуры при применении к крупным распределенным наборам данных могут становиться медленными — или вообще не работать. Правильный подбор алгоритмов, предназначенных для работы с большими данными, экономит время, повышает точность и снижает стоимость обработки.
Книга знакомит с методами обработки и анализа больших распределенных данных. Насыщенное отраслевыми историями и занимательными иллюстрациями, это удобное руководство позволяет легко понять даже сложные концепции. Вы научитесь применять на реальных примерах такие мощные алгоритмы, как фильтры Блума, набросок count-min, HyperLogLog и LSM-деревья, в своих собственных проектах.
GitHub - TheAlgorithms/Python: All Algorithms implemented in Python
https://github.com/TheAlgorithms/Python
https://github.com/TheAlgorithms/Python
GitHub
GitHub - TheAlgorithms/Python: All Algorithms implemented in Python
All Algorithms implemented in Python. Contribute to TheAlgorithms/Python development by creating an account on GitHub.
👍2