Forwarded from Starrocks and modern data stack
А как выглядит ваша репа dbt?
В начале внедрения мы несколько раз меняли подходы к размещению и именованию объектов в dbt и в итоге со временем выработали свой подход и обоснование, почему всё так. А потом года через 2 к нам пришел очень классный человек Антон и вполне обосновано не согласился - у него был свой опыт и свое обоснование.
DBT - чистой воды конструктор под себя и сделать удобно можно по всякому. Варианты с размещением по слоям, по потребителям, по доменам - все идет в ход.
Но каждый раз когда аналитики открывают репу их встречает вот такая пугающая картина, и она мало связана с sql :)
Тащу все наши проекты dbt (сейчас их 6) в новый гитлаб с новым ci, с новыми окружениями и тестированием. Опять же переход с тестирования на баше в обвязку на питоне смотрится приятно.
В начале внедрения мы несколько раз меняли подходы к размещению и именованию объектов в dbt и в итоге со временем выработали свой подход и обоснование, почему всё так. А потом года через 2 к нам пришел очень классный человек Антон и вполне обосновано не согласился - у него был свой опыт и свое обоснование.
DBT - чистой воды конструктор под себя и сделать удобно можно по всякому. Варианты с размещением по слоям, по потребителям, по доменам - все идет в ход.
Но каждый раз когда аналитики открывают репу их встречает вот такая пугающая картина, и она мало связана с sql :)
Тащу все наши проекты dbt (сейчас их 6) в новый гитлаб с новым ci, с новыми окружениями и тестированием. Опять же переход с тестирования на баше в обвязку на питоне смотрится приятно.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Системный дизайн — это основа для создания надежных, масштабируемых и производительных систем обработки данных. Он помогает выбирать подходящие инструменты для ETL/ELT, проектировать хранилища, оптимизировать запросы и ресурсы. Без него сложно обеспечить отказоустойчивость, безопасность и интеграцию потоков данных.
Подборка с YouTube по Системному дизайну
▫️PlayList System Design (Interview Pen) - English
▫️Data Engineer тренирует System Design секцию. Собеседует @halltape | rzv_de | Aug 2024
▫️System Design - теория шардирования | Как масштабировать базы данных
▫️Как кэшировать данные | Теория кэширования - System Design
▫️Проектирование баз данных за 40 минут. Практика
▫️PlayList Системный дизайн (Eugene Suleimanov)
▫️PlayList System Design Fundamentals (ByteByteGo)
▫️Как подготовиться и пройти System Design Interview. Александр Поломодов
▫️Владимир Маслов — System Design. Как построить распределенную систему и пройти собеседование
Подборка с YouTube по Системному дизайну
▫️PlayList System Design (Interview Pen) - English
▫️Data Engineer тренирует System Design секцию. Собеседует @halltape | rzv_de | Aug 2024
▫️System Design - теория шардирования | Как масштабировать базы данных
▫️Как кэшировать данные | Теория кэширования - System Design
▫️Проектирование баз данных за 40 минут. Практика
▫️PlayList Системный дизайн (Eugene Suleimanov)
▫️PlayList System Design Fundamentals (ByteByteGo)
▫️Как подготовиться и пройти System Design Interview. Александр Поломодов
▫️Владимир Маслов — System Design. Как построить распределенную систему и пройти собеседование
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
System Design. База. Разбор книги "Высоконагруженные приложения". Глава 1
Давно приметил эту книжечку, а теперь можно посмотреть обзор🔥
https://youtu.be/owjrIB_5go8?si=DecnwBn9YycV3Jxc
Давно приметил эту книжечку, а теперь можно посмотреть обзор🔥
https://youtu.be/owjrIB_5go8?si=DecnwBn9YycV3Jxc
YouTube
System Design. База. Разбор книги "Высоконагруженные приложения". Глава 1
HighLoad, отказоустойчивость, высокодоступность, паттерны проектирования, NoSQL, CAP, распределенность...! Сколько всего интересного скрывают современные IT сервисы!
Как же в этом не потонуть? Как систематизировать то, что известно?
Представляю вашему вниманию…
Как же в этом не потонуть? Как систематизировать то, что известно?
Представляю вашему вниманию…
Forwarded from Оптимизация хранилищ
Iceberg - набирающий популярность формат данных поддерживающий конкурентное обновление, DML, эволюцию схемы, скрытое партицирование и другое.
Расширил статью по типам хранения данных orc, parquet еще и на iceberg:
https://blog.skahin.ru/2019/08/orc.html#iceberg
- Схема формата данных
- Конкурентный доступ
- Улучшение партицирования
- Версионирование
- Компакция и распределение
Расширил статью по типам хранения данных orc, parquet еще и на iceberg:
https://blog.skahin.ru/2019/08/orc.html#iceberg
- Схема формата данных
- Конкурентный доступ
- Улучшение партицирования
- Версионирование
- Компакция и распределение
blog.skahin.ru
Оптимизация хранения данных в bigdata
ORC: формат файла Параметры по умолчанию Максимальная доля уникальных значений для создания справочника ...
Чтобы что-то в каталоге нашлось, нужно что-то в каталог добавить! ☝️
Что же мешает данным оказаться в нём? «Метаинформационное налогообложение». Это оплата усилий, необходимых для документирования и ввода метаданных. А так как эффективный дата-каталог критически важен для успеха бизнеса, платить этот «налог» придётся.
🔍 Как найти тех, кто будет его (и данные) собирать, и как оптимизировать «налог» — то есть снизить затраты? Читайте в нашей статье про киллер фичи дата-каталогов.
https://t.iss.one/avito_data_tech/134?comment=303 #DataCatalog
Что же мешает данным оказаться в нём? «Метаинформационное налогообложение». Это оплата усилий, необходимых для документирования и ввода метаданных. А так как эффективный дата-каталог критически важен для успеха бизнеса, платить этот «налог» придётся.
https://t.iss.one/avito_data_tech/134?comment=303 #DataCatalog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Школа Больших Данных
#Trino #dbt #Сходства #отличия
Trino vs dbt: что и когда использовать
Что общего между Trino и dbt, чем они отличаются и в каких случаях выбирать тот или иной инструмент для инженерии и анализа данных. Краткий ликбез для начинающего дата-инженера и аналитика.
Сходства и отличия Trino и dbt
Trino и dbt (Data Build Tool) — это два популярных инструмента с открытым исходным кодом для задач инженерии и анализа данных. Несмотря на некоторые сходства, они применяются в разных сценариях. В частности, Trino — это распределённый движок с массово-параллельной архитектурой для выполнения SQL-запросов к разным, в. т.ч. нереляционным, источникам.
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Trino vs dbt: что и когда использовать
Что общего между Trino и dbt, чем они отличаются и в каких случаях выбирать тот или иной инструмент для инженерии и анализа данных. Краткий ликбез для начинающего дата-инженера и аналитика.
Сходства и отличия Trino и dbt
Trino и dbt (Data Build Tool) — это два популярных инструмента с открытым исходным кодом для задач инженерии и анализа данных. Несмотря на некоторые сходства, они применяются в разных сценариях. В частности, Trino — это распределённый движок с массово-параллельной архитектурой для выполнения SQL-запросов к разным, в. т.ч. нереляционным, источникам.
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Проекции #ClickHouse #СУБД
Проекции в ClickHouse
Зачем создавать разные проекции таблиц в базе данных и как это работает в Clickhouse: практический пример с агрегатным запросом. Возможности и ограничения механизма проекций в колоночной аналитической СУБД.
Что такое проекции и как они реализованы в ClickHouse
Поскольку основное назначение ClickHouse – аналитика больших объемов данных в реальном времени, это колоночное хранилище поддерживает различные механизмы оптимизации аналитических запросов. Одним из них является механизм проекций. Проекция – это простая операция реляционной алгебры для выбора определенных столбцов из таблицы при получении данных, исключая другие.
Статья
Курсы: CLICH
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Проекции в ClickHouse
Зачем создавать разные проекции таблиц в базе данных и как это работает в Clickhouse: практический пример с агрегатным запросом. Возможности и ограничения механизма проекций в колоночной аналитической СУБД.
Что такое проекции и как они реализованы в ClickHouse
Поскольку основное назначение ClickHouse – аналитика больших объемов данных в реальном времени, это колоночное хранилище поддерживает различные механизмы оптимизации аналитических запросов. Одним из них является механизм проекций. Проекция – это простая операция реляционной алгебры для выбора определенных столбцов из таблицы при получении данных, исключая другие.
Статья
Курсы: CLICH
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Trino #объектные #хранилища
Как Trino работает с удаленными объектными хранилищами
Зачем Trino использует внешние таблицы при запросах к данным в объектных хранилищам и удаленных файловых системах, чем они отличаются от внутренних и как повысить производительность таких SQL-запросов с помощью кэширования.
Доступ из Trino к данным в объектных хранилищах
Помимо реляционных и нереляционных баз данных, Trino позволяет делать распределенные запросы и к файлам, хранящимся в объектных хранилищам AWS S3, Google Cloud Storage, Azure Storage, а также в распределенных файловых системах HDFS и Alluxio.
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Как Trino работает с удаленными объектными хранилищами
Зачем Trino использует внешние таблицы при запросах к данным в объектных хранилищам и удаленных файловых системах, чем они отличаются от внутренних и как повысить производительность таких SQL-запросов с помощью кэширования.
Доступ из Trino к данным в объектных хранилищах
Помимо реляционных и нереляционных баз данных, Trino позволяет делать распределенные запросы и к файлам, хранящимся в объектных хранилищам AWS S3, Google Cloud Storage, Azure Storage, а также в распределенных файловых системах HDFS и Alluxio.
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Celery #AirFlow #исполнитель
Очереди задач исполнителя Celery в Apache AirFlow
Как работает исполнитель Celery в Apache AirFlow, зачем ему очередь сообщений и каким образом это помогает масштабировать параллельное выполнение задач.
Как работает исполнитель Celery в Apache AirFlow
Именно исполнитель (Executor) в Apache Airflow отвечает за выполнение задач в рабочих процессах, определяя их локацию и последовательность, а также использование ресурсов. Хотя вариантов исполнителей есть несколько, на практике для запуска удаленных задач наиболее часто используются Celery и Kubernetes. Подробно об этом мы писали здесь.
Статья
Курсы: AIRF
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Очереди задач исполнителя Celery в Apache AirFlow
Как работает исполнитель Celery в Apache AirFlow, зачем ему очередь сообщений и каким образом это помогает масштабировать параллельное выполнение задач.
Как работает исполнитель Celery в Apache AirFlow
Именно исполнитель (Executor) в Apache Airflow отвечает за выполнение задач в рабочих процессах, определяя их локацию и последовательность, а также использование ресурсов. Хотя вариантов исполнителей есть несколько, на практике для запуска удаленных задач наиболее часто используются Celery и Kubernetes. Подробно об этом мы писали здесь.
Статья
Курсы: AIRF
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Citus #PostgreSQL #расширение
Почему расширение Citus для PostgreSQL не превратит его в Greenplum?
Как расширение Citus повышает производительность PostgreSQL, организуя распределенный кластер с помощью шардирования и почему этого недостаточно для эффективных OLAP-запросов как в Greenplum.
Что такое Citus для PostgreSQL
Поскольку Greenplum представляет собой массив отдельных баз данных PostgreSQL 12, работающих вместе для представления единого образа базы данных, у тех, кто знакомится с Greenplum впервые, возникает вопрос, в чем отличие этих СУБД.
Статья
Курсы: GPDE GRAD
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Почему расширение Citus для PostgreSQL не превратит его в Greenplum?
Как расширение Citus повышает производительность PostgreSQL, организуя распределенный кластер с помощью шардирования и почему этого недостаточно для эффективных OLAP-запросов как в Greenplum.
Что такое Citus для PostgreSQL
Поскольку Greenplum представляет собой массив отдельных баз данных PostgreSQL 12, работающих вместе для представления единого образа базы данных, у тех, кто знакомится с Greenplum впервые, возникает вопрос, в чем отличие этих СУБД.
Статья
Курсы: GPDE GRAD
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#ETL #конвейер #Flink #CDC #пример #YAML
ETL-конвейер с Flink CDC: пример YAML-конфигурации
Как описать ETL-конвейер захвата, преобразования и передачи изменения данных в YAML-файле: пример конфигурации Flink CDC из PostgreSQL в Elasticsearch.
ETL-конвейер Flink CDC в YAML-файле
Apache Flink позволяет строить надежные конвейеры обработки данных, используя не только с внутренние API, но и с помощью дополнительных компонентов. Одним из таких компонентов является Flink CDC – инструмент интеграции потоковых данных, который позволяет пользователям описывать логику ETL-конвейера в YAML-файле, автоматически генерировать настраиваемые операторы фреймворка и отправлять задания на исполнение.
Статья
Курсы: FLINK
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
ETL-конвейер с Flink CDC: пример YAML-конфигурации
Как описать ETL-конвейер захвата, преобразования и передачи изменения данных в YAML-файле: пример конфигурации Flink CDC из PostgreSQL в Elasticsearch.
ETL-конвейер Flink CDC в YAML-файле
Apache Flink позволяет строить надежные конвейеры обработки данных, используя не только с внутренние API, но и с помощью дополнительных компонентов. Одним из таких компонентов является Flink CDC – инструмент интеграции потоковых данных, который позволяет пользователям описывать логику ETL-конвейера в YAML-файле, автоматически генерировать настраиваемые операторы фреймворка и отправлять задания на исполнение.
Статья
Курсы: FLINK
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Trino #кластер #настройка #конфигурации
Безопасность в кластере Trino: настройка конфигураций на примерах
Где и как задавать настройки безопасного доступа клиента к кластеру Trino, каким образом обеспечить безопасность внутри кластера и защитить доступ к внешним источникам данных: примеры конфигураций.
Как настроить безопасную работу кластера Trino
По умолчанию в Trino не включены функции обеспечения безопасности. Однако, это можно настроить для различных частей архитектуры фреймворка:
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Безопасность в кластере Trino: настройка конфигураций на примерах
Где и как задавать настройки безопасного доступа клиента к кластеру Trino, каким образом обеспечить безопасность внутри кластера и защитить доступ к внешним источникам данных: примеры конфигураций.
Как настроить безопасную работу кластера Trino
По умолчанию в Trino не включены функции обеспечения безопасности. Однако, это можно настроить для различных частей архитектуры фреймворка:
Статья
Курсы: TRINO
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Kubernetes #Argo #Rollouts
Управление развертыванием контейнерных приложений в Kubernetes с Argo Rollouts
Сложности развертывания контейнерных stateful-приложений и как их решить с Argo Rollouts и Kubernetes Downward API: примеры YAML-конфигураций канареечного развертывания Spark-приложения.
Расширение стратегий развертывания в Kubernetes с Argo Rollouts
Мы уже писали, в чем сложности оркестрации параллельных заданий на платформе Kubernetes и как их можно решить с помощью Argo Workflows — контейнерного движка рабочих процессов с открытым исходным кодом. Однако, помимо Argo Workflows, в экосистеме Argo есть еще один полезный инструмент, который пригодится для управления контейнерными распределенными приложениями — Argo Rollouts.
Статья
Курсы: MK-K8S
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Управление развертыванием контейнерных приложений в Kubernetes с Argo Rollouts
Сложности развертывания контейнерных stateful-приложений и как их решить с Argo Rollouts и Kubernetes Downward API: примеры YAML-конфигураций канареечного развертывания Spark-приложения.
Расширение стратегий развертывания в Kubernetes с Argo Rollouts
Мы уже писали, в чем сложности оркестрации параллельных заданий на платформе Kubernetes и как их можно решить с помощью Argo Workflows — контейнерного движка рабочих процессов с открытым исходным кодом. Однако, помимо Argo Workflows, в экосистеме Argo есть еще один полезный инструмент, который пригодится для управления контейнерными распределенными приложениями — Argo Rollouts.
Статья
Курсы: MK-K8S
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Medallion #ClickHouse #Реализация
Реализация архитектуры Medallion в ClickHouse
Почему ClickHouse подходит для архитектуры данных Medallion и как реализовать это слоистое хранилище средствами колоночной СУБД без сторонних инструментов: лучшие практики и примеры использования.
3 слоя архитектуры данных Medallion
Слоистая архитектура, предложенная компанией Databricks, сегодня считается классикой для построения озер и хранилищ данных. Она предполагает реализацию 3-х уровней (слоев):
Бронза, где хранятся необработанные (сырые) данные из исходных систем. По сути, это staging-зона, куда загружаются исходные данные из систем-источников с минимальными преобразованиями и дополнительными метаданными.
Курсы: CLICH
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Реализация архитектуры Medallion в ClickHouse
Почему ClickHouse подходит для архитектуры данных Medallion и как реализовать это слоистое хранилище средствами колоночной СУБД без сторонних инструментов: лучшие практики и примеры использования.
3 слоя архитектуры данных Medallion
Слоистая архитектура, предложенная компанией Databricks, сегодня считается классикой для построения озер и хранилищ данных. Она предполагает реализацию 3-х уровней (слоев):
Бронза, где хранятся необработанные (сырые) данные из исходных систем. По сути, это staging-зона, куда загружаются исходные данные из систем-источников с минимальными преобразованиями и дополнительными метаданными.
Курсы: CLICH
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#Prometheus #IoT #Flink
Новый Flink-коннектор к Prometheus для IoT
Почему репортеры мониторинга системных метрик Flink, отправляющие данные в Prometheus, не решают проблемы предварительной обработки измерений с IoT-устройств, и как новый коннектор расширяет сферу применения фреймворка потоковой обработки.
Встроенные средства мониторинга системных метрик Flink
В декабре 2024 года вышел новый коннектор Apache Flink к Prometheus – популярной базе данных временных рядов, часто используемой для мониторинга системных метрик.
Статья
Курсы: FLINK
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Новый Flink-коннектор к Prometheus для IoT
Почему репортеры мониторинга системных метрик Flink, отправляющие данные в Prometheus, не решают проблемы предварительной обработки измерений с IoT-устройств, и как новый коннектор расширяет сферу применения фреймворка потоковой обработки.
Встроенные средства мониторинга системных метрик Flink
В декабре 2024 года вышел новый коннектор Apache Flink к Prometheus – популярной базе данных временных рядов, часто используемой для мониторинга системных метрик.
Статья
Курсы: FLINK
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Forwarded from Школа Больших Данных
#AirFlow #примеры #Переменные #советы
Переменные в Apache AirFlow: примеры и советы
Зачем нужны переменные в Apache AirFlow, какие они бывают, как создать переменную и использовать ее: примеры и рекомендации для эффективной дата-инженерии.
Зачем нужны переменные в Apache AirFlow, и какие они бывают
Чтобы хранить информацию, которая редко меняется, например, ключи API, пути к конфигурационным файлам, в Apache Airflow используются переменные. Переменные являются глобальной концепцией конфигурации среды выполнения Airflow и определяются с помощью объекта airflow.model.variable.
Статья
Курсы: AIRF
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"
Переменные в Apache AirFlow: примеры и советы
Зачем нужны переменные в Apache AirFlow, какие они бывают, как создать переменную и использовать ее: примеры и рекомендации для эффективной дата-инженерии.
Зачем нужны переменные в Apache AirFlow, и какие они бывают
Чтобы хранить информацию, которая редко меняется, например, ключи API, пути к конфигурационным файлам, в Apache Airflow используются переменные. Переменные являются глобальной концепцией конфигурации среды выполнения Airflow и определяются с помощью объекта airflow.model.variable.
Статья
Курсы: AIRF
Наш сайт
Копирование, размножение, распространение, перепечатка (целиком или частично), или иное использование материала допускается только с письменного разрешения правообладателя ООО "УЦ Коммерсант"