Архитектор Данных – Telegram
Архитектор Данных
1.09K subscribers
144 photos
8 videos
2 files
116 links
Алексей, архитектор данных из ВК.

Большие данные и облака.

Для связи @alexbelozersky
Download Telegram
Обзор 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) с учетом изменяющихся внутренних зависимостей.
👍4
Вчера ночью не мог обновить гребанный экстракт 2 часа, глаза слипаются, хочется разбить ноут ап стену. Давайте похоливарим.

😈 Кто, забери его рыба полосатая, придумал занести ETL и экстракты внутрь BI-тулов. DAX'ы, шмаксы, экстракторы. Есть еще одна точка откзаа, которая постоянно отказывает и учит делать тяп-ляп, а не нормальный код, пайпллайны и готовить базы. Такой ETL заберите и никогда больше не приносите, пожалуйста. Лучше dbt, GitHub и airflow ничего нет.

😇 Да нет, на самом деле это супер фича. Кто придумал экстракты - просто умнички! Главное, что это ускоряет time to insight для бизнеса. Дашборды и так живут всего по погода максимум, зачем заморачиваться, тяп-ляп и экстракт. Все эти ваши пайпланы оставьте DE, чтобы они свои джейсоны перекладывали и отвечали за важное. ETL в BI - это вещь!

P.S. Спасибо за картинку Тиму
P.P.S. Кто назовёт книгу, к которой есть отсылка, тем от Алексея респект :-)
👎1
Channel name was changed to «Архитектор Данных»
Здравствуйте, уважаемые!

На днях, завершая очередной облет вокруг Солнца, пообещал себе чаще писать содержательные мысли, а не только лишь в дни больших конференций и вебинаров.

Апдейтов будет больше, поэтому хотел бы запустить небольшой опрос - какие темы будут вам интересны?

Прошу поделиться в комментариях и щелкнуть на опрос.
👍2
Перспективные инструменты

Делюсь инструментами под-разбор, которые мы с командой наметили для тестов.
#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
🔥5
Первая - моя.

Откликайтесь, приводите знакомых. 5000 баз данных ждут вас.
Forwarded from VK Team
Сеньоры, всё для вас — рассветы и туманы вакансии ниже 🌅

🌟 Администратор баз данных в VK Cloud, Москва или удалённо
Знатоки-архитекторы БД, это для вас! Предстоит следить за бесперебойной работой СУБД, продумывать сервисы резервного копирования по требованиям заказчика и разбираться в сложных проектах по миграции инфраструктуры в облако. Берётесь?

🌟 Технический менеджер проектов в команду информационной безопасности, Москва или удалённо
Тут ребята разрабатывают внутреннее решение для хранения и поиска данных — в их хранилище горячих поисковых запросов около 800 терабайт данных. Сейчас они ищут того, кто линейно и функционально возглавит команду: будет развивать внутренние процессы, управлять разработкой интеграций и ставить задачи подрядчикам.

🌟 Продуктовый аналитик в ОК, Москва или удалённо
Вакансия классная! Из задач: разрабатывать метрики продукта, на основе анализа данных искать точки роста, проводить А/В-тесты и сопровождать запуски новых фич. Интересно? Тогда переходите по ссылке и откликайтесь!

🌟 Ведущий менеджер по развитию бизнеса в Tarantool, Москва
Продавали технически сложные продукты крупным enterprise-клиентам? Не раз вели переговоры и убеждали других в своей правоте? Тогда это то, что нужно. Надо будет строить доверительные отношения с заказчиками, продавать Tarantool и участвовать в тематических конференциях и выставках. Ну что?

🌟 Инженер DevOps в VK Tech, Москва или удалённо
Давайте сразу к делу. Занимались администрированием Linux, знаете Docker или Kubernetes, разбираетесь в физических и виртуальных сетях? А ещё хотите поддерживать циклы разработки ПО и создавать инфраструктурную архитектуру? Тогда офер почти ваш, осталось пройти собеседования!

Ничего не нашли, но хотите работать у нас? Переходите на карьерный сайт, там вакансии на любой вкус и навык!

#Senior
4
10 октября был день четырех (!) конференций. Из них удалось посетить две: selectel tech day и партнерский форум VK Tech.

Не знаю как так вышло, что в один непримечательный будний день, четверг, организовались сразу 4 больших форума.

В кулуарах обсуждали с коллегами как сегодня на все успеть.

Дорогие организаторы, давайте все же разносить мероприятия по дням 😆
👍4
Виды Greenplum

Ранее
О Greenplum - Часть 1 - Почему Greenplum популярен [В России]


🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪
24 Мая 2024 года новый владелец платформы Tanzu - компания Broadcom - заархивировала публичные репозитории Greenplum. В списке архивированных теперь
https://github.com/greenplum-db/gpdb-archive
https://github.com/greenplum-db/gporca-archive
https://github.com/greenplum-db/pxf-archive
и другие. Код доступн только для чтения, о чем нас предупреждает GitHub.

За последние годы Greenplum и его производные стал фактически российской СУБД для больших данных по умолчанию. Альтернатив ему на нашем рынке в сегменте больших транзакцонных MPP СУБД практически нет.

К сожалению, за последние 5 месяцев российские вендоры Greenplum не смогли договориться о совместной работе по дальнейшему развитию всем так нужной платформы. Сказываются различные интересы: одним интересен он-прем в его российских реалиях, другим - публичное облако.

Давайте соберем краткую подборку, какие виды GP есть и поддерживаются разными компаниями.


Vanilla Greenplum

Никуда не ушел. По-прежнему можно скачать код-базу и собрать последнюю версию СУБД или воспользоваться собранными бинарниками. Продукт (пока что) застрял на версии 6.27 и нестабильной 7.2
Основная проблема в морально и физически устаревшем PostgreSQL 9.4

Ресурсы
Сайт - https://greenplum.org/
Github - https://github.com/greenplum-db/gpdb-archive
Документация с некоторых пор закрыта от российский IP.

Проприетарная версия доступна в составе VMware Tanzu Data Suite.


Arenadata Greenplum - Greengage

Родился как проект по развитию кодовой базы Greenplum в поставке Arenadata DB. В будущем версии Arenadata DB в редакциях Community и Enterprise перейдут на GreenGage. Заявлено, что для пользователей сборок Аренадаты переход произойдет бесшовно - просто с очередным обновлением ADB «под капотом» перейдет на Greengage.

Новые утилиты в поставке Arenadata будут называться по-другому, например, ggshrink вместо gpshrink. Возможно, со временем мы увидит ggconfig, ggperfcheck и другие внутренние утилиты.

Заявлен поэтапный переход на Postgres v.16 и такие фичи как авто-фейловер.

Ресурсы
Сайт - https://greengagedb.org/
GitHub - https://github.com/arenadata/gpdb
Telegram (анонс) -

Полезные ссылки - видео

Круглый стол (Тиньков)
https://vk.com/video-151223562_456239528

Анонс GreenGage (Аренадата)
https://vk.com/video-211969254_456239091

Круглый стол (Аренадата)
https://vk.com/video-211969254_456239092


CloudBerry Database

Наследник Greenplum 7 от конгломерата китайских разработчиков. В основе - Postgres 14. Популярен по ту сторону Великого Фаерволла, в наших краях редок

Сайт
https://cloudberrydb.org/

GitHub
https://github.com/cloudberrydb/cloudberrydb



Yandex Greenplum

Облачная версия Greenplum-6 от Яндекса. Имеет несколько значимых доработок, к примеру, драйвер Yezzey, который позволяет хранить данные БД на S3.

Документация облака.
https://yandex.cloud/ru/services/managed-greenplum

GitHub
https://github.com/open-gpdb/yezzey

Разделение Compute-Storage
https://www.youtube.com/watch?v=D22bZCLZOjQ


#Greenplum #Инструменты #DB
👏3🤔3
Коротко о потреблении памяти в #Greenplum.

Greenplum очень "жадно" выделяет оперативу для запросов. Главный параметр, на который он ориентируется, это concurrency в ресурсной группе. Если в дефолт группе стоит concurrency=10 и прилетает 2-3 тяжелых запроса, он не выделит много памяти, так как ждет еще 10 подключений.

На картинке иллюстрация прогона пака запросов из репозитория.

Прогон в 3 вариантах.

1. 32 GB памяти на сегмент concurrency=10. Выделено ок. 3 ГБ

2. 32 GB памяти на сегмент, concurrency=4. Выделено ок. 6 ГБ

3. 64 GB памяти на сегмент, concurrency=4. Выделено ок. 21 ГБ.

Пак запросов с транзакциями эфира - до 4 млрд строк.

Простое уменьшение параллелизма приводит к увеличению эффективной памяти в 2 раза. Хотя казалось бы, других запросов нет и 80% shared_quota.

Увеличение памяти ВМ в 2 раза ведет к увеличению эффективной памяти в 3,5 раза. Эффект нелинейный. Хотя казалось бы, свободной памяти более 50%

Какие выводы

Если есть тяжелые запросы, обязательно выделите ресурсную группу с малым concurrency и отдавайте их туда.
Это актуально для ELT и для Ad-Hoc.

Также полезно научиться переносить запросы внутри сессии между рес. группами.
👍3🔥21
когда отправил себе подборку облигаций от Т-Инвестиций и получил предложение закодироваться от программирования.

Писала "креатив" явно нейронка.

Пример как не надо делать. Не там и не то в попытках заработать 2 копейки.
🤮32🔥2
Всем привет

Канал постепенно утрачивает статус шпаргалки к вебинарам. Пришло время представиться (и где были мои манеры раньше!).

Меня зовут Алексей, и я аналитик и архитектор данных. Работаю с большими БД, Greenplum, Clickhouse, Spark, Kafka, Trino. Строю хранилища и озера данных.

Сейчас тружусь в b2b ВК облаке, ex-Arenadata, ex -Uchiru, ex-Мвидео-Эльдорадо. Сделал порядка 10-ка проектов в AWS, Google Cloud.

Здесь делюсь бестпрактисами, лайфхаками, хинтами. Иногда записываем с командой вебинары на студии Skillbox.

Спасибо всем, кто читает и ставит реакции!
17👍2🔥2