Архитектор Данных
1.12K subscribers
154 photos
9 videos
2 files
119 links
Алексей, архитектор данных из ВК.

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

Для связи @alexbelozersky
Download Telegram
Channel name was changed to «Analyst Joe»
Channel name was changed to «Data Tavern»
Спасибо всем посетившим вебинар!

Обсудили как построить легковесную платформу данных на основе 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
👍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 решения, где проблемы с падением сегментов и бекапами будет решать за вас команда эксплуатации облака. Благо выбрать уже есть из чего.

Если у вас есть деньги на покупку этого относительно недешевого решения и экспертизы для его поддержки - берите “Зеленую Сливу” и не прогадаете.
👍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) с учетом изменяющихся внутренних зависимостей.
👍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