Канал для аналитиков, инженеров и архов. Говорим про инструменты и подходы.
👍1
Спасибо всем посетившим вебинар!
Обсудили как построить легковесную платформу данных на основе GreenPlum PaaS + Airflow + DBT.
https://www.youtube.com/watch?v=1m9qqa9jGGE
Обсудили как построить легковесную платформу данных на основе GreenPlum PaaS + Airflow + DBT.
https://www.youtube.com/watch?v=1m9qqa9jGGE
👍2
Forwarded from VK Team
Нам есть что обсудить!
VK JT — это не только доклады, но и мнения, ожидания и личные истории. Мы готовим много интерактивных форматов, чтобы познакомить вас с самыми разными проектами VK.
Мастер-классы и воркшопы:
🔹 ОК — строим процессы для дизайнеров, продактов и разработчиков;
🔹 VK Tech — проектируем и запускаем систему аналитики за 40 минут;
🔹 VK Play — используем игровые механики в своём проекте.
🔧 ML-хакатон — задача бинарной классификации с необычными условиями.
Дискуссии и круглые столы:
🔹 VK Education — чему, зачем и как учить разработчиков-джунов;
🔹 Учи.ру — как геймифицировать продукт, чтобы школьники проводили с ним больше времени;
🔹 RuStore — какие метрики помогут без слёз команды оценить продуктовую разработку;
🔹 VK Mini Apps — открытые платформы: кому они нужны и как бустят отрасль.
До встречи 6 марта в Доме культуры «ГЭС-2» и онлайн: vkjt.ru
VK JT — это не только доклады, но и мнения, ожидания и личные истории. Мы готовим много интерактивных форматов, чтобы познакомить вас с самыми разными проектами VK.
Мастер-классы и воркшопы:
🔹 ОК — строим процессы для дизайнеров, продактов и разработчиков;
🔹 VK Tech — проектируем и запускаем систему аналитики за 40 минут;
🔹 VK Play — используем игровые механики в своём проекте.
🔧 ML-хакатон — задача бинарной классификации с необычными условиями.
Дискуссии и круглые столы:
🔹 VK Education — чему, зачем и как учить разработчиков-джунов;
🔹 Учи.ру — как геймифицировать продукт, чтобы школьники проводили с ним больше времени;
🔹 RuStore — какие метрики помогут без слёз команды оценить продуктовую разработку;
🔹 VK Mini Apps — открытые платформы: кому они нужны и как бустят отрасль.
До встречи 6 марта в Доме культуры «ГЭС-2» и онлайн: vkjt.ru
👍1
❤2
Инструменты - гринплам
#Инструменты #Хранилище #БазыДанных #Greenplum
🍈🍈🍈🍈🍈
База greenplum - отличный выбор для построения хранилищ данных. Это относительно старая и проверенная технология. В текущих реалиях в России сейчас практически безальтернативна для он-прем инсталляций и для облака.
База обладает большим коммьюнити и достаточной энтерпрайзностью, чтобы быть уверенным в том что внезапно возникающие функциональные и нефункциональные требования будут удовлетворены.
✅✅✅✅✅
К основным достоинствам можно отнести
⁃ Колоночнае хранение данных. Строковое хранение данных также возможно для небольших часто изменяемых данных, например, етл таблиц со статусами загрузок.
⁃ MPP Shared Nothing архитектура. Можно использовать всю мощь кластера для обработки запросов.
⁃ Горизонтальная масштабируемость кластера
⁃ Внутренний механизм распределения ресурсов между группами пользователей - ресурсные группы. В gp v.7 можно квотировать не только цпу и память, но и чтение диска.
⁃ Совместимость с прикладным ПО по протоколу postgresql. Снаружи бд выглядит как постгрес.
⁃ Наличие сервисов для распределенной загрузки данных: PXF, gpfdist. В случае работы из скейлящихся источников данных (s3, hdfs, hive, kafka) чтение и запись данных происходит с ноды на ноду минуя мастер.
⁃ ANSI SQL
⁃ ACID, транзакции
⁃ Отказоустойчивость на уровне шардов и мастера.
👎👎👎👎👎
Недостатки
⁃ Трудный скейл кластера вверх с перераспределением данных
⁃ Трудности с бекапом. Частично решено в вендорских сборках.
⁃ Хотя система и умеет переключаться на шарды зеркала но в случае восстановления доступа к шардам обратного переключения нет. Нет самопочинки и самобалансировки.
⁃ Кластер требователен к сети, требует mtu 9000, который не всегда доступен.
⁃ Не Cloud Ready. Очень плохо контейниризуется.
⁃ В работе под тяжелыми запросами может дать 100% нагрузку одновременно на цпу, память, диск, сеть. Что крайне негативно влияет на любой контейнерный и виртуализированный деплоймент. В облаках для Managed решается выделением специальных сегментов и агрегатов гипервизоров.
🛠🛠🛠🛠🛠
Сборки
⁃ ванильная
⁃ Аренадата в версии коммьюнити и энтерпрайз.
⁃ Яндекс. Только как managed в облаке
⁃ Ростелеком
⁃ Глоубайт
Есть свои карманные сборки у сбербанка, тинькова и в других крупных организациях.
Самая популярная в России сборка - ArenadataDB. Есть в бесплатном варианте коммьюнити (до 20тб дисков) и энтерпрайз. Предлагает графический инструмент развертывания и администрирования Arenadata Cluster Manager
В платную Arenadata Enterprise дополнительно входят
⁃ Параллельные коннекторы clickhouse, kafka, adb-to-adb
⁃ Дополнительные инструментарий администрирования
⁃ Неблокирующий бекап на основе pgbackrest
⁃ Инструменты для офлайн развертывания в закрытом контуре без доступа в интернет.
⁃ Поддержка российских ОС: Alt, Astra, RedOS.
Managed ArenadataDB Enterprise предлагают облака VK, cloud.ru (sber cloud), mts
🔧🔧🔧🔧🔧
Деплоймент
Базовый - на онпрем. Есть варианты в облаке managed в Яндексе, Вк, Сбер и других.
Облачная инсталляция требует специального приспособленного сегмента с отключенной переподпиской, улучшенным схд, высокочастотными цпу (intel platinum), mtu-9000 сетью.
Система будет плохо себя чувствовать на обычных виртуальных машинах с переподпиской и сетевыми дисками под прод нагрузкой.
⚖️⚖️⚖️⚖️⚖️
В целом
В целом greenplum предлагает надежное решение для реализации и развития КХД. В нем не будет сюрпризов по части ИБ, интеграций с другими сервисами. За деньги можно легко найти решение с вендорской поддержкой. К тому же в 2024 году уже не так сложно найти DBA со знанием GreenPlum или попросту купить поддержку на рынке.
Также хорошим вариантом будет покупка облачного managed решения, где проблемы с падением сегментов и бекапами будет решать за вас команда эксплуатации облака. Благо выбрать уже есть из чего.
Если у вас есть деньги на покупку этого относительно недешевого решения и экспертизы для его поддержки - берите “Зеленую Сливу” и не прогадаете.
#Инструменты #Хранилище #БазыДанных #Greenplum
🍈🍈🍈🍈🍈
База greenplum - отличный выбор для построения хранилищ данных. Это относительно старая и проверенная технология. В текущих реалиях в России сейчас практически безальтернативна для он-прем инсталляций и для облака.
База обладает большим коммьюнити и достаточной энтерпрайзностью, чтобы быть уверенным в том что внезапно возникающие функциональные и нефункциональные требования будут удовлетворены.
✅✅✅✅✅
К основным достоинствам можно отнести
⁃ Колоночнае хранение данных. Строковое хранение данных также возможно для небольших часто изменяемых данных, например, етл таблиц со статусами загрузок.
⁃ MPP Shared Nothing архитектура. Можно использовать всю мощь кластера для обработки запросов.
⁃ Горизонтальная масштабируемость кластера
⁃ Внутренний механизм распределения ресурсов между группами пользователей - ресурсные группы. В gp v.7 можно квотировать не только цпу и память, но и чтение диска.
⁃ Совместимость с прикладным ПО по протоколу postgresql. Снаружи бд выглядит как постгрес.
⁃ Наличие сервисов для распределенной загрузки данных: PXF, gpfdist. В случае работы из скейлящихся источников данных (s3, hdfs, hive, kafka) чтение и запись данных происходит с ноды на ноду минуя мастер.
⁃ ANSI SQL
⁃ ACID, транзакции
⁃ Отказоустойчивость на уровне шардов и мастера.
👎👎👎👎👎
Недостатки
⁃ Трудный скейл кластера вверх с перераспределением данных
⁃ Трудности с бекапом. Частично решено в вендорских сборках.
⁃ Хотя система и умеет переключаться на шарды зеркала но в случае восстановления доступа к шардам обратного переключения нет. Нет самопочинки и самобалансировки.
⁃ Кластер требователен к сети, требует mtu 9000, который не всегда доступен.
⁃ Не Cloud Ready. Очень плохо контейниризуется.
⁃ В работе под тяжелыми запросами может дать 100% нагрузку одновременно на цпу, память, диск, сеть. Что крайне негативно влияет на любой контейнерный и виртуализированный деплоймент. В облаках для Managed решается выделением специальных сегментов и агрегатов гипервизоров.
🛠🛠🛠🛠🛠
Сборки
⁃ ванильная
⁃ Аренадата в версии коммьюнити и энтерпрайз.
⁃ Яндекс. Только как managed в облаке
⁃ Ростелеком
⁃ Глоубайт
Есть свои карманные сборки у сбербанка, тинькова и в других крупных организациях.
Самая популярная в России сборка - ArenadataDB. Есть в бесплатном варианте коммьюнити (до 20тб дисков) и энтерпрайз. Предлагает графический инструмент развертывания и администрирования Arenadata Cluster Manager
В платную Arenadata Enterprise дополнительно входят
⁃ Параллельные коннекторы clickhouse, kafka, adb-to-adb
⁃ Дополнительные инструментарий администрирования
⁃ Неблокирующий бекап на основе pgbackrest
⁃ Инструменты для офлайн развертывания в закрытом контуре без доступа в интернет.
⁃ Поддержка российских ОС: Alt, Astra, RedOS.
Managed ArenadataDB Enterprise предлагают облака VK, cloud.ru (sber cloud), mts
🔧🔧🔧🔧🔧
Деплоймент
Базовый - на онпрем. Есть варианты в облаке managed в Яндексе, Вк, Сбер и других.
Облачная инсталляция требует специального приспособленного сегмента с отключенной переподпиской, улучшенным схд, высокочастотными цпу (intel platinum), mtu-9000 сетью.
Система будет плохо себя чувствовать на обычных виртуальных машинах с переподпиской и сетевыми дисками под прод нагрузкой.
⚖️⚖️⚖️⚖️⚖️
В целом
В целом greenplum предлагает надежное решение для реализации и развития КХД. В нем не будет сюрпризов по части ИБ, интеграций с другими сервисами. За деньги можно легко найти решение с вендорской поддержкой. К тому же в 2024 году уже не так сложно найти DBA со знанием GreenPlum или попросту купить поддержку на рынке.
Также хорошим вариантом будет покупка облачного managed решения, где проблемы с падением сегментов и бекапами будет решать за вас команда эксплуатации облака. Благо выбрать уже есть из чего.
Если у вас есть деньги на покупку этого относительно недешевого решения и экспертизы для его поддержки - берите “Зеленую Сливу” и не прогадаете.
👍3
Обзор DBT
#Инструменты #ETL #DBT
DBT - инструмент для трансформации данных, уже загруженных в хранилище данных.
Отлично подходит для создания и поддержания витрин данных. Также полезен при формировании детального слоя, особенно если мы не работаем в сложных архитектурах, таких как Anchor Modeling, Data Vault.
Какие задачи можно решать с помощью DBT в разных областях работы с данными.
Преобразования данных на основе SQL
✅ Сделать CREATE TABLE … AS SELECT … (DBT Model)
✅ Указать БД особенности физического хранения таблицы в БД. Партиционирование, Engine, sort_by для Clickhouse; distribute_by для Greenplum. (DBT CONFIG)
✅ Создать инкрементальную Model и запускать CREATE TABLE или INSERT/MERGE при разных настройках запуска. (DBT materialize=incremental)
✅ Добавить любое количество технических запросов до расчета Model, например SET param = value, запрос у БД ресурсов, настройки и хинты планировщика в рамках сессии (DBT pre-hook).
✅Добавить любое количество технических запросов после расчета Model, например GRANT, ANALYSE, OPTIMISE, заархивировать в S3 для Redshift, передать в PXF External Table для Greenplum (DBT post-hook)
Разработка моделей
🛠 Шаблонизировать запрос через jinja
🛠 Написать макрос и сделать модель как вызов макроса с параметрами. Полезно при обработке большого количества однотипных схем. Или разбора полей JSON с большим количеством параметров таким, как каталог событий приложения.
Тестирование данных
👍 Задавать тесты данных методом простого редактирования YAML (DBT Tests)
👍 Написать свой generic test и вызывать его через YAML
👍 Скачать библиотеку тестов и использовать более сложные тесты (dbt-utils)
Сохранять снепшоты данных (DBT Snapshot)
👍 Интегрироваться и отслеживать тесты данных с помощью Great Expectations.
Data Governance
🪧 Отслеживать зависимости моделей от источников и моделей друг от друга
🪧 Просматривать зависимости и тесты в DBT Docs
🪧 Документировать описание схем, таблиц, колонок, тестов через YAML
🪧 Размечать источники данных через YAML
🪧 Разметить потребителей данных через YAML. Например, дашборды (для этого дашборда нужны такие-то витрины) или ML модели.
Аналитика
📊 Сохранять запросы в Git и уметь отслеживать целостность витрин данных для него
📊 Легко создавать и тестировать свои витрины данных, просто сохраняя в Git запросы в файле
📊 Не сохранять огромные SQL запросы для целей дашбординга или доступа к типовым данным, а делать витрины для них
ETL
⚡️ Интегрироваться с AIrflow, Dagster, запускать заадчи с CLI
⚡Запускать сложные комбинации взаимосвязанных задач. Запустить все что зависит от источника А. Обновить все необходимое для отчета/модели В, включая перерквизиты
⚡Запустить (или протестировать) все модели из папки Х, кроме тега Y в не более чем 4 потока с учетом зависимостей источников и моделей друг от друга.
⚡ Сохранять справочники в репозитории и управлять ими прямо из Git (DBT Seed)
Разработка
🪲 Разрабатывать DWH-as-Code. Хранить и изменять всю информацию в Git.
🪲 Легко создавать и управлять Dev, Test окружениями. Разделять на уровне инсталляций БД, логическими БД, наборами схем.
🪲 Создать CI контур DWH для end-to-end тестов честного итогового результата в виде витрин на семплах данных.
🪲 Делать blue-green deployment (DBT Clone)
Команда
🕶 Создавать для каждой команды песочницу в виде набора схем.
😎Управлять песочницей команды с помощью одного Airflow DBT Operator (DBT Run + DBT Test) с учетом изменяющихся внутренних зависимостей.
#Инструменты #ETL #DBT
DBT - инструмент для трансформации данных, уже загруженных в хранилище данных.
Отлично подходит для создания и поддержания витрин данных. Также полезен при формировании детального слоя, особенно если мы не работаем в сложных архитектурах, таких как Anchor Modeling, Data Vault.
Какие задачи можно решать с помощью DBT в разных областях работы с данными.
Преобразования данных на основе SQL
✅ Сделать CREATE TABLE … AS SELECT … (DBT Model)
✅ Указать БД особенности физического хранения таблицы в БД. Партиционирование, Engine, sort_by для Clickhouse; distribute_by для Greenplum. (DBT CONFIG)
✅ Создать инкрементальную Model и запускать CREATE TABLE или INSERT/MERGE при разных настройках запуска. (DBT materialize=incremental)
✅ Добавить любое количество технических запросов до расчета Model, например SET param = value, запрос у БД ресурсов, настройки и хинты планировщика в рамках сессии (DBT pre-hook).
✅Добавить любое количество технических запросов после расчета Model, например GRANT, ANALYSE, OPTIMISE, заархивировать в S3 для Redshift, передать в PXF External Table для Greenplum (DBT post-hook)
Разработка моделей
🛠 Шаблонизировать запрос через jinja
🛠 Написать макрос и сделать модель как вызов макроса с параметрами. Полезно при обработке большого количества однотипных схем. Или разбора полей JSON с большим количеством параметров таким, как каталог событий приложения.
Тестирование данных
👍 Задавать тесты данных методом простого редактирования YAML (DBT Tests)
👍 Написать свой generic test и вызывать его через YAML
👍 Скачать библиотеку тестов и использовать более сложные тесты (dbt-utils)
Сохранять снепшоты данных (DBT Snapshot)
👍 Интегрироваться и отслеживать тесты данных с помощью Great Expectations.
Data Governance
🪧 Отслеживать зависимости моделей от источников и моделей друг от друга
🪧 Просматривать зависимости и тесты в DBT Docs
🪧 Документировать описание схем, таблиц, колонок, тестов через YAML
🪧 Размечать источники данных через YAML
🪧 Разметить потребителей данных через YAML. Например, дашборды (для этого дашборда нужны такие-то витрины) или ML модели.
Аналитика
📊 Сохранять запросы в Git и уметь отслеживать целостность витрин данных для него
📊 Легко создавать и тестировать свои витрины данных, просто сохраняя в Git запросы в файле
📊 Не сохранять огромные SQL запросы для целей дашбординга или доступа к типовым данным, а делать витрины для них
ETL
⚡️ Интегрироваться с AIrflow, Dagster, запускать заадчи с CLI
⚡Запускать сложные комбинации взаимосвязанных задач. Запустить все что зависит от источника А. Обновить все необходимое для отчета/модели В, включая перерквизиты
⚡Запустить (или протестировать) все модели из папки Х, кроме тега Y в не более чем 4 потока с учетом зависимостей источников и моделей друг от друга.
⚡ Сохранять справочники в репозитории и управлять ими прямо из Git (DBT Seed)
Разработка
🪲 Разрабатывать DWH-as-Code. Хранить и изменять всю информацию в Git.
🪲 Легко создавать и управлять Dev, Test окружениями. Разделять на уровне инсталляций БД, логическими БД, наборами схем.
🪲 Создать CI контур DWH для end-to-end тестов честного итогового результата в виде витрин на семплах данных.
🪲 Делать blue-green deployment (DBT Clone)
Команда
🕶 Создавать для каждой команды песочницу в виде набора схем.
😎Управлять песочницей команды с помощью одного Airflow DBT Operator (DBT Run + DBT Test) с учетом изменяющихся внутренних зависимостей.
👍4
Forwarded from Data & IT Career (Николай Крупий)
Что у вас на работе используется для окрестрации ETL’ек?
#опросы
#опросы
Anonymous Poll
62%
AirFlow 😎
5%
Prefect / Dagster / Mage и пр хипстота 🤓
4%
Oozie / Luigi / Azkaban etc. 😴
6%
SSIS + MSS jobs 😁
7%
Какой-нибудь олдовый тяжеловес типа Informatica, ODI, что там бывает… 🫠
9%
cron 🙈
5%
Что-то облачное проприетарное 🧐
13%
Свой велосипед 😅
5%
Другое 😏
7%
Не используется ничего такого 🙉
👍4
Forwarded from Клуб анонимных аналитиков
Вчера ночью не мог обновить гребанный экстракт 2 часа, глаза слипаются, хочется разбить ноут ап стену. Давайте похоливарим.
😈 Кто, забери его рыба полосатая, придумал занести ETL и экстракты внутрь BI-тулов. DAX'ы, шмаксы, экстракторы. Есть еще одна точка откзаа, которая постоянно отказывает и учит делать тяп-ляп, а не нормальный код, пайпллайны и готовить базы. Такой ETL заберите и никогда больше не приносите, пожалуйста. Лучше dbt, GitHub и airflow ничего нет.
😇 Да нет, на самом деле это супер фича. Кто придумал экстракты - просто умнички! Главное, что это ускоряет time to insight для бизнеса. Дашборды и так живут всего по погода максимум, зачем заморачиваться, тяп-ляп и экстракт. Все эти ваши пайпланы оставьте DE, чтобы они свои джейсоны перекладывали и отвечали за важное. ETL в BI - это вещь!
P.S. Спасибо за картинку Тиму
P.P.S. Кто назовёт книгу, к которой есть отсылка, тем от Алексея респект :-)
😈 Кто, забери его рыба полосатая, придумал занести ETL и экстракты внутрь BI-тулов. DAX'ы, шмаксы, экстракторы. Есть еще одна точка откзаа, которая постоянно отказывает и учит делать тяп-ляп, а не нормальный код, пайпллайны и готовить базы. Такой ETL заберите и никогда больше не приносите, пожалуйста. Лучше dbt, GitHub и airflow ничего нет.
😇 Да нет, на самом деле это супер фича. Кто придумал экстракты - просто умнички! Главное, что это ускоряет time to insight для бизнеса. Дашборды и так живут всего по погода максимум, зачем заморачиваться, тяп-ляп и экстракт. Все эти ваши пайпланы оставьте DE, чтобы они свои джейсоны перекладывали и отвечали за важное. ETL в BI - это вещь!
P.S. Спасибо за картинку Тиму
P.P.S. Кто назовёт книгу, к которой есть отсылка, тем от Алексея респект :-)
👎1
Forwarded from Клуб анонимных аналитиков
Всем доброй пятницы!
Запись доклада по ml ops
https://vk.com/video/@vk__cloud?list=ln-ZFr5MMxsvZUazxdFLl&preview=&screen=&webcast=&z=video-164978780_456239392%2Fln-ZFr5MMxsvZUazxdFLl
Запись доклада по ml ops
https://vk.com/video/@vk__cloud?list=ln-ZFr5MMxsvZUazxdFLl&preview=&screen=&webcast=&z=video-164978780_456239392%2Fln-ZFr5MMxsvZUazxdFLl
Vk
VK | Welcome!
VK is the largest European social network with more than 100 million active users. Our goal is to keep old friends, ex-classmates, neighbors and colleagues in touch.
👍1
Здравствуйте, уважаемые!
На днях, завершая очередной облет вокруг Солнца, пообещал себе чаще писать содержательные мысли, а не только лишь в дни больших конференций и вебинаров.
Апдейтов будет больше, поэтому хотел бы запустить небольшой опрос - какие темы будут вам интересны?
Прошу поделиться в комментариях и щелкнуть на опрос.
На днях, завершая очередной облет вокруг Солнца, пообещал себе чаще писать содержательные мысли, а не только лишь в дни больших конференций и вебинаров.
Апдейтов будет больше, поэтому хотел бы запустить небольшой опрос - какие темы будут вам интересны?
Прошу поделиться в комментариях и щелкнуть на опрос.
👍2
Какие темы по работе с данными наиболее интересны?
Anonymous Poll
82%
Лучшие практики и хаки
47%
Кейсы и внедрения
76%
Обзоры ПО и продуктов
53%
Примеры архитектур
29%
Рынок систем по работе с данными
👍1
Перспективные инструменты
Делюсь инструментами под-разбор, которые мы с командой наметили для тестов.
#NewTech
Apache SeaTunnel
Инструмент потоковой обработки данных. Работает on-top Spark, Flink или собственного движка Zeta. Заявлен no-code.
Пока воспринимаем как более крутую и технологичную альтернативу AIrbyte.
Лицензия
Apache 2.0
Ресурсы
Документация - https://seatunnel.apache.org/docs/2.3.8/about/
GitHub - https://github.com/apache/seatunnel
Поделитесь в комментах, кто тестировал или использовал
#ETL #Streaming #Apache #NewTech
Делюсь инструментами под-разбор, которые мы с командой наметили для тестов.
#NewTech
Apache SeaTunnel
Инструмент потоковой обработки данных. Работает on-top Spark, Flink или собственного движка Zeta. Заявлен no-code.
Пока воспринимаем как более крутую и технологичную альтернативу AIrbyte.
Лицензия
Apache 2.0
Ресурсы
Документация - https://seatunnel.apache.org/docs/2.3.8/about/
GitHub - https://github.com/apache/seatunnel
Поделитесь в комментах, кто тестировал или использовал
#ETL #Streaming #Apache #NewTech
seatunnel.apache.org
About SeaTunnel | Apache SeaTunnel
Slack
🔥5
