Понятие Data Mesh
Data Mesh (сетка данных) — это относительно новый подход к управлению данными, направленный на решение проблем традиционных систем управления данными: недостаточная масштабируемость, гибкость, скорость реакции команды на изменения и другие. Ключевая идея концепции заключается в децентрализации управления данными — ответственность за них распределяется между командами, каждая из которых работает в своем бизнес-домене.
История появления Data Mesh
Впервые концепцию представила Жамак Дегани в 2019 году, тогда она была консультантом технологической компании ThoughtWorks, но позже основала собственную организацию Nextdata Technologies. Ее основным направлением деятельности является разработка платформы, благодаря которой архитектуру можно будет внедрять в различные организации. Также Nextdata будет консультировать предприятия и сопровождать их в процессе внедрения. Сама идея создания Data Mesh возникла на фоне затрудненного масштабирования традиционных систем данных — объем данных со временем стремительно растет, и традиционные системы становятся узким местом для многих предприятий. Уже сейчас новую архитектуру внедрили некоторые крупные корпорации, например, Netflix.
Преимущества использования Data Mesh
Внедрение Data Mesh в организацию имеет множество преимуществ, некоторые представлены ниже:
- Повышение качества данных. Так как каждая команда владеет своим доменом, глубже понимает контекст своих данных и заинтересована в обеспечении их точности и ценности, можно избежать определенных проблем: ошибок при обработке, неактуальности данных и так далее.
- Возможность взаимодействия между командами. Во многом это преимущество обусловлено принципом «данные как продукт», который подразумевает обмен данными между командами, что, например, позволяет избежать дублирования.
- Соблюдение нормативных требований. Концепция подразумевает формирование общих правил, которым должны следовать все команды, что обеспечивает контроль и соблюдение всех норм, например, политики безопасности.
- Масштабируемость. Благодаря распределению ответственности между командами рост объема данных и количества источников не вызывает резкого повышения нагрузки, как это происходит в традиционных системах управления данными, где вся ответственность лежит на централизованной команде.
Основные принципы Data Mesh
Принципы — это основа архитектуры. Существует четыре принципа: владение данными на основе домена, платформа самообслуживания, данные как продукт и федеративное управление. Рассмотрим каждый из них подробнее.
Владение данными на основе домена
Этот принцип предполагает, что данные должны управляться и организовываться вокруг бизнес-доменов, а не технологий, как это принято в традиционных системах. То есть любая организация может иметь домен для каждой сферы, которую она охватывает, например, маркетинг, логистика, консультирование и так далее. В рамках этого принципа каждый домен становится владельцем своих данных и несет ответственность за их сбор, управление, контроль и предоставление другим доменам. Часто этот принцип тяжело реализовать организациям, так как он кардинально меняет подход к данным в организации. Но его реализация несет за собой несколько преимуществ: четкое разграничение владельцев, повышение качества, гибкости управления и эффективности анализа данных.
Данные как продукт
Этот принцип предлагает применить к данным продуктовое мышление. Он предполагает, что компания должна рассматривать данные как полноценный продукт, а пользователей этих данных (например, другие команды) — как клиентов, для которых этот полноценный продукт и создается. Такая философия кардинально меняет подход к данным относительно традиционных систем и несет за собой определенные требования к тому, какими должны быть данные. К этим требованиям относятся качественная обработка, доступность, точность, актуальность данных и так далее. Также в организации должны быть реализованы стабильные механизмы для работы с данными, которые обеспечат надежность, удобство и предсказуемость их использования, так как сбои могут испортить пользовательский опыт клиентов.
Платформа самообслуживания
Этот принцип предполагает создание платформы самообслуживания данных, которая предоставит командам необходимые инструменты для управления, преобразования и обработки данных. Это позволяет снизить нагрузку на каждую команду, а также улучшить их взаимодействие, повысить эффективность управления данными, обеспечить соблюдение всех требований (например, требования к безопасности в корпорациях, которые работают с конфиденциальными данными). Также такой подход позволяет разделить ответственность: бизнес-команды сосредоточены на контроле над данными (с помощью удобных инструментов), а команды разработчиков — на создании и администрировании инфраструктуры для работы с данными.
Федеративное управление
Федеративное управление предполагает наличие общих формализованных стандартов и практик, которым должны следовать и соответствовать все команды, при этом автономность команд сохраняется. Это нужно для обеспечения контроля, согласованности, повышения ценности данных и решения проблемы дублирования данных.
Применение Data Mesh
Новую архитектуру постепенно внедряют многие крупные корпорации в различных сферах, среди которых Netflix, Disney, Adidas, BlaBlaCar, Lufthansa и другие. Рассмотрим два примера внедрения сетки данных в компании.
Пример использования в компании Netflix
Netflix — это крупный стриминговый сервис, на котором пользователи могут смотреть фильмы, сериалы и другие виды видеоконтента. Этот сервис взаимодействует с постоянно растущим числом данных, которые при этом необходимо анализировать в режиме реального времени. В какой-то момент традиционная система управления данными могла стать узким местом — скорость и эффективность обработки данных начала снижаться, что в том числе приводит к ухудшению пользовательского опыта.
Известно, например, что были расширены возможности обработки данных из разных систем (были добавлены коннекторы Cockroach DB и Cassandra). В качестве транспортного слоя для передачи данных между процессорами корпорация использует Kafka, а данные из одного конвейера могут быть использованы в другом, что позволяет максимально переиспользовать уже обработанные данные. Такой подход позволил Netflix улучшить качество данных и детализацию их происхождения, а также предоставил возможности масштабирования.
Пример использования в компании Adidas
Adidas — это организация, основным направлением деятельности которой является производство спортивной одежды, обуви и аксессуаров. Ранее предприятие придерживалось традиционного подхода к управлению данными: для хранения данных использовалось озеро на основе Amazon S3 и существовала централизованная команда, которая занималась загрузкой данных в озеро. Мотивацией для внедрения Data Mesh в Adidas стали затрудненная масштабируемость, перегруженная централизованная команда, и, конечно, постоянно растущий объем данных — на пути к решению этих проблем и было решено внедрить новую архитектуру. Так, компания реализовала стратегию потоковой передачи данных на основе Kafka, следуя всем принципам Data Mesh.
Распределенная аналитика и Data Mesh
Распределенная аналитика в контексте Data Mesh подразумевает, что задачи по обработке и анализу данных распределены между разными бизнес-доменами. То есть данные собираются и впоследствии обрабатываются внутри доменов, с которыми работают команды, обладающие наиболее глубоким пониманием их контекста. Такой подход повышает скорость и качество обработки данных и повышает гибкость: адаптация к изменениям улучшается.
Технические аспекты Data Mesh
Внедрение сетки данных в бизнес требует понимания технических деталей этой архитектуры. Ниже будут рассмотрены некоторые из них.
Протоколы обмена данными
Для организации бесперебойного обмена данными между доменами в корпорации могут быть выбраны стандартизированные форматы данных: parquet, avro, JSON, XML и другие. А также распределенные системы обработки информации: Apache Flink, Apache Spark и так далее. Данные предоставляются через API: используются RESTful, GraphQL, gRPC.
Безопасность и конфиденциальность данных
Децентрализация управления данными может привести к появлению проблем безопасности, а чтобы их избежать, в организации должны быть реализованы некоторые механизмы:
- инвентаризация, категоризация и отслеживание конфиденциальных данных;
- аутентификация и авторизация для контроля доступа к данным внутри домена и между ними;
- шифрование данных как при их передаче, так и при хранении: могут использоваться стандарты AES и TLS;
- система мониторинга, которая отслеживает доступ и использование данных.
Рекомендации по внедрению Data Mesh
Внедрение в бизнес новой концепции управления данными — это всегда непростой процесс, к которому следует подготовиться. Ниже представлено несколько рекомендаций, позволяющих сделать переход к сетке данных плавно и успешно:
- на ранних этапах внедрения стоит вносить изменения в операционную модель бизнеса — внедрение новой архитектуры только через изменения в технологиях, вероятнее всего, приведет к неудаче;
- платформа самообслуживания должна предоставлять все необходимые инструменты для самостоятельного управления данными, также ее лучше запустить на раннем этапе внедрения;
- для определения бизнес-доменов сначала лучше использовать уже существующие функциональные границы подразделений, а уже потом по мере необходимости вносить корректировки;
- не стоит сразу исключать все используемые технологии — если часть из них соответствует требованиям новой архитектуры, то можно продолжать их использовать, это ускорит процесс внедрения и снизит затраты;
- важно уделять время адаптации команд к новой архитектуре: обучать сотрудников, не пытаться масштабировать концепцию сразу на всю организацию, начинать с небольших кейсов, которые выполнимы на данном этапе внедрения концепции;
- организация должна быть готова к длительной адаптации и большим затратам на внедрение новой модели управления данными.
Перспективы развития Data Mesh
Учитывая все преимущества внедрения новой архитектуры данных, можно говорить о благоприятных перспективах в этой области. С ростом количества успешных внедрений в крупные корпорации все больше предприятий будут рассматривать сетку данных как наиболее правильную стратегию работы с данными. Вместе с этим на основе типичных ошибок при внедрении будет появляться больше информации о том, как правильнее внедрить сетку данных в бизнес.
Также, вероятно, все больше будут развиваться платформы самообслуживания — они будут содержать такие инструменты для работы с данными, которые позволят сделать эту работу максимально эффективной. В дополнение в будущем будет возможна интеграция с AI-моделями, благодаря чему обработку и анализ данных можно будет автоматизировать.
Заключительные мысли
Data Mesh — это перспективная архитектура, которая предполагает изменение подхода к управлению данными в организациях и имеет множество преимуществ, среди которых — повышение качества данных, возможность взаимодействия между командами, масштабируемость и гибкость.
Для успешного внедрения этой архитектуры в бизнес необходимо учитывать все особенности и рекомендации по внедрению, так как это сложная задача, требующая от предприятия готовности к крупным инвестициям и длительному процессу внедрения, а также к изменениям во всей операционной модели.