Arquitetura Descentralizada
Introdução
Em geral
Data mesh é um método sociotécnico para construir uma arquitetura de dados descentralizada, aproveitando um design orientado a domínio de autoatendimento (em uma perspectiva de desenvolvimento de software) e toma emprestada a teoria do design orientado a domínio de Eric Evans[1] e a teoria das topologias de equipe de Manuel Pais e Matthew Skelton.[2] A malha de dados tem tudo a ver com os dados em si, tendo o data lake e os pipelines como uma preocupação. secundário.[3] A proposta principal é dimensionar os dados analíticos por meio da descentralização orientada ao domínio.[4] Com a malha de dados, a responsabilidade pelos dados analíticos é transferida da equipe central de dados para as equipes de domínio, apoiadas por uma equipe de plataforma de dados que fornece uma plataforma de dados independente de domínio.[5] Isso ajuda a organizar melhor os dados e evita ter áreas de dados isoladas e separadas. Isso se deve à presença de um sistema central que garante que todos sigam as mesmas regras básicas dentro da rede de dados, permitindo o compartilhamento de dados em diferentes locais.
História
O termo malha de dados foi definido pela primeira vez por Zhamak Dehghani em 2019[6] enquanto trabalhava como consultor principal na empresa de tecnologia Thoughtworks.[7][8] Dehghani introduziu o termo em 2019 e depois forneceu mais detalhes sobre os princípios e a arquitetura lógica ao longo de 2020. O processo foi previsto para ser um "grande concorrente" para empresas em 2022.[9][10] Algumas das empresas que o implementaram malhas de dados são Zalando,[11] Netflix,[12] Intuit,[13] VistaPrint, JPMorgan Chase,[14] PayPal[15] e outros.
Em 2022, Dehghani deixou a Thoughtworks para fundar a Nextdata Technologies e se concentrar em dados descentralizados.[16].
Começo
A malha de dados é baseada em quatro princípios fundamentais:[5].
Além desses princípios, Dehghani escreve que os produtos de dados criados por cada equipe de domínio devem ser detectáveis, endereçáveis, confiáveis, possuir semântica e sintaxe autodescritivas, ser interoperáveis, seguros e governados por padrões globais e controles de acesso.[18] Em outras palavras, os dados devem ser tratados como um produto confiável e pronto para uso.[9].