Инжиниринг Данных
23.5K subscribers
1.98K photos
56 videos
192 files
3.2K links
Делюсь новостями из мира аналитики и карьерными советами.

15 лет в Аналитике и Инжиниринге Данных, 10 лет в MAANG

🛠️ dataengineer.ru | 🏄‍♂️ Surfalytics.com

№5017813306

Реклама:
https://almond-rule-130.notion.site/1199f595f76a8030ba1be1e607c9a8ce
Download Telegram
Так это выглядит на практике. Осталось в Twitch стримить. Заодно практика английского.
❤‍🔥332🐳2🍾2
В интересное время живем🔫🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
62😭15🙉8🙊6🍾3❤‍🔥1🌚1🌭1🗿1🦄1
Точно интересное время☀️
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚20🦄7❤‍🔥3🐳3😭21💯1
Amazon Hybrid work policy 😛
57🙈2311😭4🐳1
Реально работа с датами и часовыми поясами всегда боль. Кто как решает для себя эту проблему?

А какой стандарт по timestamp?
💯63🙈24❤‍🔥98🗿2
Как у вас получается бороться с tech debt?

Замечательная статья - Paying down tech debt
И еще одна - Tech Debt and the Pragmatic Middle Ground

What is tech debt?

I define tech debt as any problem in the codebase that affects programmers by making it harder to make necessary changes. As a programmer, I wanted to fix such issues because they slowed me down. But as a manager, I had to ensure the team delivered value to stakeholders.


Я определяю технический долг как любую проблему в кодовой базе, которая мешает программистам вносить необходимые изменения. Как программист, я хотел исправить такие проблемы, потому что они замедляли мою работу. Но будучи менеджером, я должен был убедиться, что команда приносит ценность заинтересованным сторонам.
❤‍🔥71
В маленьких компаниях (командах) все просто, если что-то сломалось - взяли и починили. Авось никто и не заметит.

А вот в больших командах и организациях все по-другому.

Как правило, аналитическое решение (хранилище данных) это не business critical и может не работать целый день, пользователи потерпят.

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

Обычно используют уже готовое решение от back-end/devops, такие как PagerDuty и другие, сразу появляется новая обязанность - on-call, нужно писать сообщение бизнес пользователям о поломках и обещать, что однажды все будет лучше.

Можно все автоматизировать, и примерно будет так работать:
1. Alert о падение data pipelines или отклонении показателя (качество данных)
2. Заводится новый инцидент, создается Slack канал с номер инцидента и туда добавляются инженеры
3. Обсуждается проблема и решение
4. Ответственный пишет в другой slack канал пользователям (бизнес) о проблеме и estimation когда ее починят
5. Команда все чинит, деплоит фикс, перезапускает data pipelines и вроде к обеду уже можно открывать BI дашборды.

Это уже зрелая организация. У всех компаний есть с этим проблемы, кто-то раньше, кто-то позже к этому приходит, а потом еще SLA внедрят для надежности (спокойствия бизнес пользователей).

Главное отличие от backend/devops - вы все это делаете в рабочие часы, а не ночью (хотя помню в Lamoda мне в 4 утра могли звонить, что отчет поверх backend Postgres для склада в SAP BO не показывает свежие данные).

Одна из причин, почему DevOps, SRE позиции не очень полезны для здоровья long term, и обычно никто не компенсирует ночные часы.



Картинку взял из The Madness of Data Incident Management

А как в РФ с этим? Какие сервисы используются для коммуникации, инцидентов и тп?
23❤‍🔥12💯7
Data Engineering tool box выходного дня.

Сегодня будет выступление - Richard Dawkins, чтобы лучше информация воспринималась))
🍾15💯10❤‍🔥4
Новая книга - Building Medallion Architectures

In today's data-driven world, organizations must manage and analyze vast amounts of information to deliver the insights that give them a competitive advantage. Many turn to the medallion architecture because it's a proven and well-known design. Yet implementing a robust data pipeline can be difficult, particularly when it comes to using the medallion architecture's bronze, silver, and gold layers—done wrong, it can hamper your ability to make data-driven decisions. This practical guide helps you build a medallion architecture the right way with Azure Databricks and Microsoft Fabric.

Drawing on hands-on experience from the field, Piethein Strengholt demystifies common assumptions and complex problems you'll face when embarking on a new data architecture. Architects and engineers of all stripes will find answers to the most typical questions along with insights from real organizations about what's worked, what hasn't, and why.


Согласно описанию, книга будет посвящена примерам на базе Azure Databricks и Microsoft Fabric.

Я могу сказать, как это работает в Databricks. По факту, если вы строите озеро данных (data lake) или его улучшенную версию lake house (используете формат таблиц Delta, Iceberg), то вы разделяете хранение по уровням хранения данных:

- raw/bronze - может быть просто папка с blob storage, в которую вы грузите/копируете сырые данные и создаете таблицы, то есть абстракции в каталоге (Hive, Unity).

В случае dbt, это будет dbt source. Но dbt и databricks это какое-то modern data извращение.

- staging/silver - вы используете уже таблички из bronze, и делаете трансформации, но все еще данные raw (без агрегации), можете еще добавить joins.

- business/fact/dw/gold слой - там где у вас уже таблицы фактов/витрины/метрики, вы агрегируете данные и используете аналитические функции.

На второй картинке я привел свое решение на основе Microsoft Gaming. Я еще делал решение на Trino/dbt/Iceberg.

То есть medallion architecture просто подразумевает, что у вас есть несколько слоев в хранилище данных, и 30 лет назад когда делали хранилище даже и не догадывались, что они использовали архитектуру миньенчиков.
14💯9🍾4
Должна быть интересная дискуссия - Beyond Lakehouse Table Formats
The original creators of Delta Lake and Apache Iceberg take on interoperability formats


Хоть посмотрите на людей, кто придумал новый формат таблиц для озера данных и теперь они оба работают в Databricks и мечтают о прекрасном будущем для lakehouse.
11🫡8
Кто такой CDO и что он делает?

Chief Data Officer (CDO) — это руководитель, который отвечает за управление и использование данных в организации. Основная роль CDO заключается в том, чтобы создавать и реализовывать стратегию работы с данными, помогая компании эффективно собирать, анализировать, хранить и использовать данные для принятия бизнес-решений.

Основные обязанности CDO:

Разработка стратегии данных: CDO определяет, как данные будут использоваться в организации для поддержки бизнес-целей. Это включает выбор инструментов, технологий и методов для работы с данными.

Управление данными: CDO отвечает за качество, безопасность и управление данными, включая защиту данных и обеспечение соответствия регуляторным требованиям.

Инновации с данными: CDO исследует, как организация может использовать данные для создания новых продуктов или услуг, улучшения процессов или получения конкурентного преимущества.

Аналитика данных: CDO управляет процессами анализа данных для извлечения ценности из них, включая машинное обучение и искусственный интеллект.

Координация с другими отделами: CDO тесно сотрудничает с IT, маркетингом, финансами и другими департаментами, чтобы обеспечить единое понимание и использование данных.

Обеспечение соблюдения законов: CDO следит за соблюдением требований в области конфиденциальности данных и защиты персональной информации.

CDO помогает трансформировать данные в активы компании, которые могут увеличить её ценность и помочь поставленных стратегических целей.

Одно время CDO было очень популярно, потом сошло на нет.

В каждой компании свой подход. Где-то можно встретить CDO (обычно в более традиционных индустриях как финансы), а где-то их нет. Вместо них VP по аналитике, директора по инжинирингу (Software Engineering), CPO (chief product officer).

Мне нравится, что картинка передает суть, что есть два мира и их нужно кем-то соединить, а как роль называется не важно. Главное, чтобы к данным и аналитике был продуктовый подход, и цели для команд аналитики ставились в зависимости от целей организации. В этом плане отлично работают OKR (Objective Key Results).

Как лучше наладить согласованность и сотрудничество между бизнесом и миром данных? И решение не в покупке новых инструментов или программного обеспечения. Необходимо сочетать 50% технических навыков и 50% навыков донесения информации на уровне C-suite.

У кого есть в компании CDO? А если нет, то кто рулит данными?
27🌚3🌭1
Forwarded from System Design World (Vladimir)
⚙️ От Postgres к Data Lake

Интересная статья с верхнеуровневым описанием эволюции внутренностей сервиса.

Notions - крутой органайзер с разнообразным функционалом.
Текстовые заметки, картинки, страницы, ... - представлены в виде "блока" в Postgres.

📶 До 2021 - все блоки хранились в 1 инстансе Postgres.
В 2021 стало 20 млн блоков.
Сейчас их 200 млрд. Как они хранятся?

🔡 Данные разбиты на 480 логических шардов, распределенных на 96 инстанцев Postgres.
БД обслуживала разнообразные запросы:
1) пользовательский траффик онлайн
2) оффлайн аналитику
3) машинное обучение

Было решено вынести от Postgres нагрузку 2), 3).

🔀 Воспользовались ETL:
Postgres -> connector -> Debezium -> Kafka -> S3 <- ...аналитика

Проффит:
1) Сэкономленный бюджет
2) Быстрая обработка
3) Новые возможности. Решение помогло быстрее внедрять AI функционал.

Подробности в статье:
https://blog.det.life/how-does-notion-handle-200-billion-data-entities-919b238c2846

Мой перевод на хабре:
https://habr.com/ru/articles/845446/

▶️ А у Вас есть проект с ETL? Какие видите в нём преимущества?
❤‍🔥219
У меня давно была идея скопировать Data Learn из YouTube (или правильней запрещенная сеть?) в RUTUBE или VK Video.

Оказывается RUTUBE сделал космическую фичу - полностью копировать канал из YouTube, все видео и описания. Жалко, что обложки не копирует =/

Поэтому, чтобы посмотреть видео Data Learn или просто узнать, что такое аналитика и понять нужно вам это или нет совершенно бесплатно, теперь вам не нужен VPN, можете посмотреть на Rutube https://rutube.ru/channel/46386964/ (обязательно подпишитесь!)

В планах добавлять обзоры вакансий РФ по аналитическим профессиям и продолжать Data Learn. Может еще надо GitHub импорто заменить?

PS вопрос к знатокам, какой VPN самый лучший в РФ и какой аналог GitHub используется?
❤‍🔥115🗿5221🙊18🍌7💯3🐳2🌭1
Как это знакомо…

Все больше встречаю постов от опытных инженеров, что Co-Pilot/ChatGPT не очень то уж и помогают, а часто даже вредят работе.

Как у вас?
💯72🤷‍♂208😈3👨‍💻3🗿1
Для меня последние несколько лет использование CI/CD в аналитических проектах это must have, хотя до этого во всех компаниях в РФ мы никогда не использовали.

5 лет в Амазоне тоже обходился без CI/CD. В целом можно было использовать внутренний framework для этого, но совсем было непонятно с чего начинать.

А теперь на всех проектах, где я работаю, обычно первые 2 месяца уходят на создание правильного CI/CD framework или улучшения существующего.

С чего начать, если никогда не работали?

1. Понять GitHub на уровне создания branch, Pull request, Code review, Merge. (Module 0 Surfalytics)

2. Понять для каких задач это подойдет, а для каких нет. Например хранить XLS или Tableau Workbooks не самый лучший способ.

3. Внедрить pre-commit, linting для локальной разработки.

4. Добавить автоматические проверки в CI, начиная с linting/pre-commit и заканчиваю unit tests. Вы можете запускать в CI dbt, spark, pytest и использовать dummy данные или реальные.

У разных продуктов, есть разные способы проверки, например у Looker популярен Spectacles, у AWS Glue есть возможность использовать Glue Spark в контейнере, контейнер с Databricks.

5. Если код деплоится, добавить шаг CD и tags/releases.

Так же можно и для инфраструктуры с использованием Terraform, Helm Values и тп. Например, для Terraform часто используется Atlantis.

И все эти истории всегда killer features для собеседования на дата инженера!
❤‍🔥46💯7🦄6🙉21
Мы тут обсуждали, что chatGPT не всегда помогает с кодом, зато мне вот помог с пельменями!
5212🫡7😈3🐳2💯1
Друзья, у нас на DataLearn вебинар!
Тема: Как эффективно выстраивать ETL процессы с помощью low-code платформы


📅 Дата: [17 октября в 20:00 по МСК]

📍 Ссылка: [https://youtube.com/live/lLZ7jhsfflE?feature=share]

📌 Спикер: Алексей Арустамов

📊 О чем поговорим:
На предстоящем вебинаре мы расскажем, как с помощью платформы Loginom можно автоматизировать работу с данными без программирования и упростить сложные ETL процессы. Участники узнают, как объединять данные из различных источников, таких как Excel, 1С и Яндекс.Метрика, для полноценного анализа. В процессе будут рассчитаны дополнительные показатели, которые помогут более точно оценивать эффективность рекламных кампаний.

📌 Мы также поделимся практическими кейсами компаний и покажем, как они используют Loginom для решения задач в сфере аналитики.

🔍 Вебинар включает живую демонстрацию работы платформы — на примере вы сможете увидеть, как происходит автоматизация сбора и анализа данных.


🔗Ссылка на платформу: https://loginom.ru/

Также платформа проводит бесплатную конференцию по аналитике данных, где приглашает: аналитиков, IT-специалистов, руководителей и директоров (для тех кто хочет обогатить свой опыт в анализе данных и завести новые знакомства
РЕГИСТРАЦИЯ НА МЕРОПРИЯТИЕ


💼 Присоединяйтесь, чтобы узнать больше о современных подходах к аналитике и оптимизации бизнес-стратегий!

#вебинар #datalearn
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳12🙈8👨‍💻3❤‍🔥2🫡2
Недавно мы тут говорил о качестве Co-Pilot, ChatGPT и других инструментов. Из комментариев я понял, что более менее это Cursor + Claude AI.

Я сам ни разу не использовал Cursor и даже не понял, что это такое. Я посмотрел, что это и расскажу в вкратце.

Cursor - это IDE наподобие VSCode, он сразу может все настройки импортировать из существующего VSCode. Дальше, открываем чат и выбираем AI модель, с которой будем работать, как на картинке. По идее он должен понимать ваш code base и ему не надо все copy-paste для контекста.

Мне еще предстоит понять все преимущества и недостатки, но начало хорошее. Возможно придется купить платный Cursor и Claude для максимальной эффективности.

Ссылки:
- Cursor AI IDE
- Claude AI 3.5
- статья Claude vs. Cursor AI: Creating an Intuitive To-Do Web App to See Which Works Better

Поделитесь вашим опытом с IDE + AI ⬇️
🙈10💯41