Привет, Хабр. Меня зовут Сергей Петриченко. Я продуктовый менеджер VK Data Platform, VK Tech.

Традиционно крупные компании использовали централизованную модель управления данными с единой командой Data-инженеров. Однако по мере роста объемов данных и повышения требований к скорости обработки возникает соблазн перейти на новую модель — Data Mesh, которая предлагает делегирование управления данными бизнес-доменам. Вместе с тем это не всегда оправданно, а иногда и рискованно, поскольку классическая централизованная модель и Data Mesh имеют свои особенности и ориентированы на разные сценарии применения.

В этой статье я попробую разобрать, чем отличается Data Mesh от централизованной модели управления данными, каковы ее преимущества и риски, и главное – когда такой подход действительно нужен.

Начнем с азов: что такое централизованная и децентрализованная модель управления данными

Централизованная модель управления данными предполагает, что все корпоративные данные стекаются в единое хранилище, которым управляет одна команда (Data-подразделение). То есть реализовывается концепция «данные как платформа», которая подразумевает, что сбор, хранение, преобразование и выдача данных происходят через одну платформу (Data Platform). 

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

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

Такой альтернативой является Data Mesh — архитектура управления данными, в которой каждое бизнес-направление (домен) само владеет своими наборами данных, отвечает за их качество, достоверность, достаточность и доступность.

У Data Mesh есть несколько базовых принципов:

  • доменное владение данными — каждый домен управляет своими данными;

  • «данные как продукт» — данные рассматриваются как продукт с качеством, SLA, «потребителями» и ответственными владельцами;

  • самообслуживание — дата-инженеры предоставляют общие инструменты, стандарты и инфраструктуру для работы с данными, настроенные таким образом, чтобы минимизировать зависимости и ускорить процессы;

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

При этом доменные команды сами публикуют data-продукты через общую платформу. То есть действует единая «сетка» для данных, на которой строятся продукты доменов. 

Основные параметры централизованного и децентрализованного подходов

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

Параметр

Централизованная модель

Data Mesh (децентрализованная)

Владельцы данных

Центральная data-команда или ИТ-департамент владеет всеми данными

Каждым набором данных владеет доменная (продуктовая) команда

Ответственность за качество

За качество, очистку, интеграцию данных отвечают инженеры платформенной команды

Доменные команды отвечают за качество «своих» data-продуктов (при общих стандартах)

Доменная экспертиза

Учет бизнес-контекста затруднен: платформенная команда не погружена в нюансы каждого домена

Глубокое знание данных в каждом домене (данными занимаются люди, понимающие бизнес-контекст)

Скорость получения инсайтов

Возможны задержки из-за очереди к платформенной команде и гонки приоритетов между продуктовыми командами 

Более быстрый доступ: домены сами готовят нужные данные, параллельно, без очередей

Масштабируемость

Плохо масштабируется организационно: рост нагрузки неизбежно приводит к росту нагрузки на платформенную команду и увеличению очередей

Масштабируется по доменам: добавление нового домена не перегружает другие (но требует новых ресурсов на него)

Гибкость изменений

Внедрение новых источников, метрик медленное, проходит через пайплайны платформенной команды

Быстрые эксперименты в доменах; новые данные добавляются локально, без глобальной бюрократии

Стандартизация и консистентность

Высокая: один источник правды, единые модели данных (при правильном governance)

Требует усилий для поддержания: необходимы федеративные стандарты, иначе возникает риск несогласованности

Инфраструктурная сложность

Проще управлять одной платформой, менее сложный стек

Сложнее: нужна платформа самообслуживания, множество инструментов для координации доменов

Затраты и ресурсы

Ниже порог внедрения: достаточно нанять или обучить единую платформенную команду

Выше затраты: нужны data-специалисты в каждую команду, инвестиции в платформу, обучение всех доменов

Безопасность и контроль

Централизованный контроль доступа, проще отслеживать соблюдение норм

Распределенный контроль: нужна централизованная политика безопасности и ее автоматизация (иначе возникают риски утечки или несоответствия)

Типовые сценарии применения

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

Крупные предприятия. Мультипродуктовые компании. Организации с развитой автономией команд (scale-up, enterprise)

Исходя из этого, можно сделать вывод, что в целом модели не могут заменить друг друга, а фактически просто ориентированы на разные сценарии и исходные условия применения. Соответственно, переход между моделями в «идеальных условиях» должен быть не революционным, а эволюционным — по мере повышения зрелости компании в части технологий, процессов и инфраструктуры. 

Преимущества и недостатки подходов

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

Data Mesh

Внедрение распределенной модели данных (Data Mesh) потенциально может предоставить компании ряд преимуществ. Выделю некоторые из них.

  • Масштабируемость без узких мест. Data Mesh решает проблему масштабирования, устраняя «бутылочное горлышко» в виде единственной команды дата-инженеров. При росте числа источников и запросов монолитное хранилище рано или поздно «захлебывается»: инженеры заняты очередью задач. В Mesh-модели же каждая доменная команда самостоятельно развивает свои data-пайплайны, работая параллельно.

  • Скорость получения аналитики и гибкость бизнеса. Когда данные «ближе» к бизнес-пользователю, цикл от возникновения потребности до получения инсайта сокращается. Бизнес становится более гибким и быстрым в реакции на изменения: домены могут свободно экспериментировать с данными в рамках своих продуктов. 

  • Доменная экспертность и ответственность на местах. В распределенной модели ответственность за качество данных несут те, кто лучше всех эти данные понимает, — бизнес-домен. Соответственно, перенеся подготовку данных к анализу на уровень доменов, компания получает более качественные, консистентные данные. К тому же децентрализация предполагает внедрение роли Data Product Owner в домене, ответственного за полный цикл данных (от источника до потребителя), что повышает уровень ответственности и доверия к данным.

  • Параллельная разработка и автономность команд. Data Mesh соответствует принципам Agile/DevOps: независимые кросс-функциональные команды могут самостоятельно разрабатывать и развивать data-сервисы, не блокируя друг друга. Команды не зависят от очереди задач дата-инженеров и могут гибко приоритизировать свои data-бэклоги под нужды бизнеса. Это ускоряет выпуск аналитических продуктов и изменений.

  • Изоляция отказов (Fault Isolation) и аллокация костов. Сбой в расчете витрин логистики не роняет отчетность финансового департамента. То есть риски локализуются на уровне конкретного продукта. При этом становится прозрачной аллокация затрат: бизнес-юнит оплачивает вычислительные мощности из своего P&L за свои тяжелые SQL-запросы.

Вместе с тем внедрение модели Data Mesh сопряжено с рядом сложностей, которые потенциально могут стать недостатком.

  • Высокая сложность и стоимость внедрения. Архитектура Data Mesh требует значительных инвестиций в новую платформу и перестройку процессов. Фактически компания должна построить у себя внутреннюю data-платформу, предоставляющую self-service инструменты доменам. При этом разработка и поддержка такой платформы — долгий и сложный проект. Кроме того, стоимость владения распределенной архитектурой может оказаться выше: вместо одной нужно содержать десятки систем, пусть и на общей платформе.

  • Усложнение координации и governance. Централизованная модель выигрышна тем, что одна команда может легко навязать единые стандарты. В Data Mesh некий вариант стандартизации обеспечивается единой платформой самообслуживания, но без сильного федеративного управления можно получить хаос. 

  • Изменение культуры и организационные трудности. Data Mesh — это во многом про людей и процессы, а не только про технологии. Поэтому одна из основных сложностей — организационная трансформация. Нужно убедить каждую доменную команду принять на себя новые обязанности по данным. Но на практике можно встретить сопротивление, поскольку люди, привыкшие просто кидать запросы в BI-отдел, вдруг должны сами отвечать за наборы данных. 

  • Требования к квалификации и ресурсам в доменах. Data Mesh предполагает, что в каждой команде появятся профильные специалисты: data-инженеры, аналитики, data product owner, которые способны создавать и поддерживать пайплайны, обеспечивать качество, безопасность данных и решать другие задачи. Но на практике может оказаться, что такой компетенции в командах нет, а ее развитие неоправданно ресурсоемко.

  • Игнорирование слоя интеграции и Master Data Management (MDM). Изолированное создание разными департаментами своих наборов данных подразумевает, что их нужно связывать на уровне общих мастер-данных. Это может стать проблемой, ведь без сильного централизованного MDM-ядра распределенная архитектура быстро превращается в несвязанные информационные кластеры.

  • Дублирование вычислений и кода. Несмотря на концепцию переиспользования дата-продуктов, на практике домены часто дублируют базовые трансформации одних и тех же сырых данных. Без жесткого платформенного мониторинга (Data Observability) компания начинает впустую сжигать серверные мощности.

Централизованная модель управления данными

Централизованный подход также имеет ряд преимуществ и недостатков. Начну с плюсов.

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

  • Качество и консистентность данных. За качество и чистоту данных отвечают профессиональные дата-инженеры и администраторы платформенной команды. Они следят за соответствием стандартам качества, проводят регулярную очистку и проверку данных, обеспечиваю�� высокую консистентность метрик и показателей внутри всей организации.

  • Экономия ресурсов и затрат на обслуживание. Единое хранилище снижает затраты на управление инфраструктурой данных благодаря централизации расходов на оборудование, лицензии и команду. Вместо десятков отдельных доменных хранилищ поддерживается одна общая система, что существенно экономит бюджет.

Среди недостатков могу выделить несколько наиболее значимых.

  • Ограниченность масштабирования. Монолитная архитектура единого хранилища создает потенциальные ограничения по скорости обработки большого объема поступающих запросов. В результате это может сказаться на оперативности получения аналитической информации и негативно влиять на скорость принятия бизнес-решений.

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

  • Отсутствие специализированного опыта на уровне подразделений. Децентрализованные решения позволяют каждому направлению иметь собственный экспертный опыт по специфическим вопросам анализа данных своего продукта. В централизованном подходе такая локальная специализация отсутствует, что затрудняет глубокое понимание особенностей конкретных направлений бизнеса.

  • Высокая зависимость от платформенной команды. В случае сбоев или проблем с доступностью единого хранилища (например, платформы данных) страдают сразу все направления бизнеса. Даже незначительные задержки или ошибки могут привести к значительным потерям производительности и дохода компании.

  • Накопление архитектурного долга. Центральная Data-команда становится заложником legacy. Миграция на новые инструменты или обновление версий движков превращается в многолетний проект, так как любое изменение аффектит пайплайны всей компании.

Рекомендации по выбору модели управления данными

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

  • Размер и сложность организации. Мелкие и простые структуры лучше обслуживаются централизованно, крупные — склоняются к децентрализации. Если у вас более 50 сотрудников и один продукт — Data Mesh явно не приоритет. Если тысячи сотрудников и десятки продуктов — внедрение распределенной архитектуры будет оправдано.

  • Болевые точки текущей модели. Если при работе с централизованной моделью управления не возникает проблем (запросы выполняются быстро, бизнес доволен, новые источники подключаются без задержек) — рациональнее оставить все без изменений. Но если боль очевидна — есть очереди задач, постоянные задержки, конфликтующие отчеты, — стоит рассмотреть переход на Data Mesh.

  • Ресурсы. На внедрение и поддержку распределенной архитектуры Data Mesh нужно много ресурсов, причем не только на старте, но и на протяжении всего периода работы с ней. Если таких ресурсов нет или их недостаточно, полноценно перейти на Data Mesh не получится. 

  • Четкость data-стратегии. Если в компании есть понимание, зачем ей распределенные данные, Data Mesh может стать инструментом достижения этих целей. Если же техническая команда и бизнес не понимают, что именно и в какие сроки им даст подобный переход, от него лучше отказаться. 

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

Более того, можно выстраивать гибридную архитектуру, при которой центральная платформенная команда продолжает хранить мастер-данные (контрагенты, справочники) и отвечает за ядро дата-платформы, а предметные данные (события, показатели продукта) отдаются доменам. Вместе с тем, реализовывая такую модель, важно сразу определить зоны ответственности и единые стандарты работы с данными — подобный «контракт» позволит избежать многих проблем. 

Что в итоге

Data Mesh — перспективная концепция, которая может упростить и ускорить работу с данными, а также распределить нагрузку между профильными командами. При этом данный подход не панацея, поскольку подразумевает построение сложной инфраструктуры и глобальное изменение паттернов работы с данными, но для отдельных сценариев не подходит или просто избыточен. 

К тому же лучшая практика — применение Data Mesh не в качестве альтернативы централизованной модели управления, а вместе с ней, что позволяет комбинировать преимущества централизованных «данных как платформы» и децентрализованных «данных как продукт».

А какую модель используете вы в своих проектах и почему?