Вопрос подписчика про моделирование данных
Всем привет!
Среди бонусов на Бусти уровня “Сеньор” есть такой перк - задать вопрос. Автор задает очень интересующий его вопрос и получает на него мое развернутое мнение-ответ. Итак, вот тут появился первый такой вот вопрос:
Среди бонусов на Бусти уровня “Сеньор” есть такой перк - задать вопрос. Автор задает очень интересующий его вопрос и получает на него мое развернутое мнение-ответ. Итак, вот тут появился первый такой вот вопрос:
На чьи плечи ложится процесс моделирования данных при построении хранилища в европейских\американских компаниях? Аналитик, инженер или дата архитектор? Кто обычно этим занимается?
Начнем с общего: а что сейчас происходит с моделированием данных? По моим наблюдениям, тут картина на рынках отличается: в РФ моделированию данных уделяют заметно больше внимания, чем на Европейских / Американских рынках. Например, можно часто заметить вот такие вот комментарии о том, что OBT (”One Big Table”) - это в целом неплохо и приносит много выгоды). Ну или вот хороший пример о том, что на европейских рынках “моделирование данных - это заброшенный навык” Или вот еще свежак прям.
(Вообще, Гигачад оч прикольный чел, его полезно послушать / почитывать, он булшит не несет и не занимается инфоцыганством.)
Случилось это недоразумение по 3 причинам:
- Облака
- Agile
- Modern Data Stack
Появление облаков и удешевление storage / compute позволило компаниям и специалистам игнорировать архитектуру, просто забрасывая проблему ресурсами.
Agile (а точнее, скорость разработки и поставки фичей) - бизнесу всегда нужно будет быстрей быстрей быстрей получить результат, поэтому у них нет желания ждать, пока там придумают новую схему, поймут как данные положить и вот это все. Сейчас, короч, бросаем JSON, там потом распарсим.
MDS - на эту тему у меня будет отдельный бубнеж, но MDS и вот этот миллиард приложений для работы с данными, перекладыватели JSONов и все остальное - не готовы работать со сложными схемами и архитектурами, дайте нам большие таблички и мы погнали (в этом и проблема всех no-code и low-code тулзов, как только надо шаг влево шаг вправо - проблема).
А еще демократизация данных (это когда всем вокруг позволили создавать датасеты для прода) привела к тому, что аналитики могут создать какой-то свой датасет, кривой/косой, и подсунуть его в прод. Какая проблема, Сноуфлейк переварит! А потом ты с этим мучаешься.
Сверху к этому добавляем мое любимое “Приходит последний на вечеринку, получает по щщам первый” - это про Data Engineers. DE не появляется, когда фигачат MVP, поэтому на начальных этапах там что-то сделают аналитики и что-то разрабы. А нам потом переделывай =)
Что касается в целом про навык моделлирования: он очень важный и полезный, и даже не смотря на то, что на иностранных рынках этому уделяют мало времени, в реальности, когда вы наводите порядок в моделях (или делаете хранилище изначально хорошо), это заметно по количеству времени, которое аналитики тратят на работу с вашими моделями, на то, как их просто найти и насколько они понятны.
Мое личное мнение, что книги Кимбалла и Инмона будет достаточно, чтобы заложить хорошую базу. А сверху можно почитать что-нибудь базовое про Vault / Anchor (не то, чтобы это супер часто встречается).
Мое личное мнение, что книги Кимбалла и Инмона будет достаточно, чтобы заложить хорошую базу. А сверху можно почитать что-нибудь базовое про Vault / Anchor (не то, чтобы это супер часто встречается).
Теперь что касается кто и где этим занимается:
- В крупных РФ компаниях есть свои отделы архитекторов, архитектурных коммитетов, с десяток слоев хранилища. Тут это отдано на откуп этим ребятам и крайне редко что-то получится менять
- В средних РФ компаниях, если нет отдельного архитектора данных, то такое ложится обычно на плечи тим/тех лида DE или платформы, либо его волевое решение, либо его команды. Сильно реже - аналитики что-то проектируют. Именно в таких компаниях можно и самому попроектировать и получить фидбека от опытных коллег
- В мелких - полный кавардак и как таковых, “ХРАНИЛИЩ” там нет, как что лежит - так и бери себе и грузи =). Тут ты сам можешь поделать как хочешь, но врядли получишь много конструктивной критики.
Что касается европейско / американских компаний, тут выглядит это примерно так
- У технологического крупняка и ФААНГ - десятки платформ и хранилищ данных, но позиция дата архитектора все еще встречается очень редко. Поэтому здесь это отдается на откуп как раз техлидам платформ.
- У классического крупняка (банков) ситуация похоже на РФ - есть классические архитекторы, которые что-то там рисуют в powerpoint, а потом спускают инженерам. Правда происходит, как мне кажется, это быстрей =)
А вот в средних компаниях зависит от их подхода и текущей организационной структуры
- если в компании рулит аналитика и у них есть деньги на SaaS - скорее всего, именно аналитики решают, что и как где разложено, а DE тут на подхвате. Хороший пример - когда у вас овердофига всего зашито в DBT
- если в компании рулит аналитика, но детяк не так много - тут уже роли пополам, DE в целом имеют вес и возможности определять, как и что где будет лежать, но при всем при этом имеют давление со стороны аналитиков
- если компания tech-first и есть деньги чтобы пожечь, то чаще всего тут DE будут вести себя как продвинутые аналитики, вроде бы что-то делая хорошее, но чаще всего просто забрасывая ресурсами не оч оптимальные модельки. Хороший пример, когда деньги будут хранится в decimal, в одной таблице id будет интом, в другой - varchar
- если компания tech-first и она аккуратно относится к бюджетам, вот тут как раз моделирование данных выходит на первые роли, потому что инженеры понимают, что грамотно разложенные данные упрощают поиск и compute
Как определить, какая компания перед вами? Пообщаться, поспрашивать про стек, задачи, пообщаться с менеджером / хедом. Только опытным путем, после очередного собеса понимаешь по тому, как и о чем говорит собеседующий, о том, что же у них происходит с хранилищем.
data engineering
data engineer