[Отказ от ответственности: я работаю в Steadforce, однако все мнения, размещенные здесь, являются моими собственными.]

Мы живем в мире хрупких и сложных конвейеров, передающих данные от А к Б. Команды Data Lake делают все, чтобы оправдать ожидания бизнеса, для платформы, поддержки новых интеграций, устранения ошибок.

У нас есть много источников данных, преобразований, различных представлений одних и тех же данных, которые в какой-то момент дополнительно «подготавливаются» для слоев отчетности.

Если нам повезет и у нас будут очень хорошие инженеры-программисты, мы доберемся до уровня отчетов и отчетов (где мы, наконец, сможем получить ценную информацию)…

… но это не всегда работает, по крайней мере, не так, как мы хотим.​

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

Вот мои 6 выводов после изучения темы Data Mesh:

1. Data Mesh — это не то, что мы можем купить, это набор принципов, которым мы следуем.​

Data Mesh представляет собой децентрализованный подход к доступу к данным в масштабе, он многое берет от Domain-Driven-Design​​.

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

Эта ориентация на домен немного похожа на микросервисы для системной архитектуры, но применяется к архитектуре данных.

Многие современные архитектуры данных развиваются вокруг процессов ETL. Текущая ситуация с озерами данных и специализированными командами может выглядеть так:

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

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

Эти команды часто являются узким местом в работе всего озера данных. Мы не можем свободно увеличивать их, потому что это просто не работает.

Знаем ли мы, о чем мы говорим в ежедневных газетах, где так много тем и работает много разработчиков? Хорошо, давайте разделим команду.Но тогда… у нас есть еще более сложная структура, которая должна взаимодействовать друг с другом.

Это одна из проблем, которую может решить Data Mesh.

Ориентация на домен и децентрализованный подход.

2. Data Mesh предполагает переход компании и технологии.

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

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

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

  • При следовании принципам Data Mesh узкоспециализированные группы узких мест исчезают

Владельцы доменов должны стать настоящими владельцами данных и того, как эти данные выглядят для всех, кто хочет их использовать.

Доступны ли все данные домена для всех?

Доступны ли только некоторые его части (для ограниченного числа пользователей)?

Технология должна позволять иметь некоторые унифицированные (соединяемые) модели с другими владельцами доменов.

3. Сетка данных не для всех.

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

Предназначен для сложных сред.

Если у нас есть хорошо функционирующее озеро данных с двумя продуктами и относительно небольшим объемом данных, у нас может быть все в порядке без внедрения принципов Data Mesh.

Когда сложность растет, появляется больше источников данных, больше масштаб, потенциал Data Mesh становится больше.

4. Data Mesh не принимается сразу

Начните с малого и совершенствуйтесь. Стройте итеративно. Ориентируйтесь на прецеденты.

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

Избегайте большого взрыва​​, предотвращайте недоверие пользователя («Я все равно буду использовать текущее решение, потому что оно работает, а с новым слишком сложно работать”)​​

Нет волшебной кнопки, когда мы говорим «применить сетку данных»… нажмите, и все готово. Из-за технологических проблем, а также проблемы изменения культуры компании.

5. Принципы Data Mesh взаимодействуют друг с другом.

Первый и самый важный принцип — Владение доменом.

Все остальные фактически являются следствием первого. Сами по себе домены не позволят регистрировать информационные продукты, получать к ним доступ, определять политики доступа. Вот почему у нас есть следующие 3 принципа:

Данные как продукт

Если мы создаем домены, мы должны как-то сделать их доступными для внешнего мира, относиться к ним как к продукту, которым может пользоваться кто-то другой.

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

…и эти продукты должны быть зарегистрированы и поддерживаться на:

Платформа самообслуживания

что в основном является техническим исполнением всего того, что представляет собой Data Mesh.

Федеративное управление вычислениями

  • Федерация означает, что у нас есть объединенная группа экспертов из каждой отдельной области, они обсуждают и решают друг с другом: как данные доступны, что именно доступно и для кого, для каких пользователей сетки данных/ группы.
  • Вычислительный означает, что мы можем вычислить некоторые результаты на основе различных моделей предметной области. ​
  • Управление означает, как выглядят политики, должны ли мы маскировать какой-либо столбец, потому что просто не должно быть возможности для некоторых данных выйти за пределы домена, возможно, данные не могут выйти из некоторых область, край.

6. Самая большая техническая задача — создать действительно платформу самообслуживания.

Платформа самообслуживания позволит не только зарегистрироваться и найти товары. Связывание модели (продуктов) между доменами также важно. Эти модельные соединения могут быть реализованы с помощью распределенных механизмов запросов (таких как Trino или Spark SQL).

При внедрении платформы возникают некоторые вопросы и соображения:

  • Как обосновать увеличение стоимости создания этих доменов?
  • Нужны ли нам новые базы данных?

Возможно, нет, это то же объектное хранилище, что и у нас сейчас (мы просто подключаемся к нему напрямую в источнике)

  • Нужно ли вводить новые роли в организации? Что со стоимостью этого?

Не обязательно новые роли, нужные люди должны быть наделены полномочиями, чтобы иметь возможность использовать платформу самообслуживания (речь идет о том, чтобы взять на себя ответственность за заботу о домене).​​

  • Большие инвестиции в разработку

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

  • Производственные данные доступны всем остальным? Это не сработает…

Не всегда должно быть так. Домен может предоставить наиболее релевантную копию этих данных, но это все равно должно происходить внутри самого домена, то же самое с конвейерами, если они все равно нужны, они остаются внутри домена.

Заключение

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

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

Дополнительный балл до конечных читателей:

2x сетка данных?

Есть ли другой термин Data Mesh, отличный от описанного здесь?

Да, это. Источник: Netflix (средняя статья от 1 августа 2022 г.; 26 июля 2021 г.). Описывает платформу перемещения данных. Предположительно, он был запущен примерно в то же время, когда Жамак Дехгани впервые определил термин Сетка данных в 2018 году.

В этой статье я говорил только об определении Data Mesh, определенном Zamak.

Использованная литература:

[1] «Сетка данных и владение доменом» — вебинар



[2] «Основные принципы Data Mesh» — веб-сайт Thoughtworks.

https://www.thoughtworks.com/about-us/events/webinars/core-principles-of-data-mesh

Используемый контент:

https://pixabay.com/vectors/care-fragile-packaging-handle-43938/

https://pixabay.com/vectors/cyber-connection-network-6998811/