Data Mesh: Delivering Data-Driven Value at Scale
Недавно я ходил в книжный клуб моих коллег из data platform для обсуждения этой книги Zhamak Dehghani . Мы должны были обсудить девятую главу "The Logical Architecture", которую я и успел прочитать к записи выпуска, пропустив остальные главы, отчасти из-за того, что я эту концепцию помню с момента основания, а также видел ее разбор в разных книгах
- В 2019 году Zhamak Dehghani выступала про data mesh на многих конференциях, например, на QCon или на Software Architecture Conference в Берлине, которую я посетил лично
- В 2022 году вышла эта книга и Zhamak Dehghani приходила в книжный клуб goto обсудить эту книгу
- В книге "Learning DDD" Влада Хононова в одной из глав разбиралась на пальцах связь domain driven design и data mesh (и у меня есть краткий разбор тезисов)
Собственно, глава про логическую архитектуру начинается с воспоминаний о концепциях data mesh, а дальше идет попытка разобраться как их реализовать
- Domain ownership extends domains with analytical data sharing interfaces
- Data as a product introduces a new architecture quantum, aka data quantum
- The self-serve data platform drives a multiplane platform architecture
- Federated computational governance embeds computational policies into each data product
Дальше авторы много говорят про контракты по данным от доменов, а также про кросс-зависимости между доменами. Во втором авторы используют неоднозначное понятие архитектурного кванта, введенное в книге "Software Architecture: The Hard Parts", которую мы разбирали в подкасте "Code of Architecture". Это же понятие активно использовалось в книге "Building Evolutionary Architecture", которую мы тоже разбирали
An architectural quantum, defined in Building Evolutionary Architectures (O’Reilly), is the smallest unit of architecture that can be independently deployed, has high func‐ tional cohesion, and includes all the “structural elements required for its function.”
Из этого понятия архитектурного кванта у ребят рождается понятие data quantum, где ETL как бы внутри и абстрагирован от внешнего окружения. А сам квант представлен API: input data API, output data API, Discovery and observability API. Дальше идет интересное обсуждение платформы и ее отдельных planes:
- Mesh experience plane
- Data product experience plane
- Infrastructure utility plane Где самым интересным является первый уровень, так как именно он позволяет совместно использовать разные дата продукты, опубликованные командами отдельно. Отдельно отмечается, что вся эта платформа должна быть перевязана policies и standards для того, чтобы общая концепция не развалилась из-за децентрализованного подхода.
В общем и целом, подход интересный, но достаточно сложно реализуемый. Можно глянуть доклад про платформу данных Евгения Ермакова из toloka.ai, где они на практике шли в сторону data mesh целенаправленно, правда там фокус все-таки на dbt как ядре их платформы данных. Я делал краткое саммари этого доклада.
#Data #Datamesh #DWH #Processes #Management