A malha de dados é uma abordagem organizacional e técnica descentralizada de compartilhamento, acesso e gerenciamento de dados para análise e ML. Seu objetivo é criar uma abordagem sociotécnica que expanda a obtenção de valor dos dados à medida que a complexidade da organização cresce e à medida que os casos de uso de dados se multiplicam e as fontes de dados se diversificam. Essencialmente, a abordagem cria um modelo de compartilhamento de dados responsável que acompanha o crescimento organizacional e mudança contínua. Em nossa experiência, o interesse na aplicação de malha de dados cresceu imensamente, inspirando muitas organizações a adotá-la e muitas fornecedoras de tecnologia a repensar suas ofertas existentes para incluir uma implantação de malha. Apesar do interesse e da experiência crescente em malha de dados, suas implementações enfrentam alto custo de integração. Além disso, sua adoção permanece limitada a determinadas partes de grandes organizações, e fornecedoras de tecnologia estão desviando a atenção das organizações em relação aos aspectos sociais inegociáveis da malha de dados – descentralização de dados e um modelo operacional de governança federada.
Essas ideias são exploradas no livro Data Mesh, Delivering Data-Driven Value at Scale, que orienta profissionais de arquitetura, lideranças técnicas e responsáveis pela tomada de decisões em suas jornadas de transição da arquitetura tradicional de big data para a malha de dados. O material fornece uma introdução completa aos princípios da malha de dados e suas constituintes e aborda como projetar uma arquitetura de malha de dados, como orientar e executar uma estratégia de malha de dados e como navegar pelo design organizacional em um modelo de propriedade de dados descentralizado. O objetivo do livro é criar um novo framework para conversas mais profundas e levar a malha de dados ao próximo estágio de maturidade.
Cada vez mais, observamos uma incompatibilidade entre o que as organizações orientadas por dados desejam alcançar e o que as atuais arquiteturas de dados e estruturas organizacionais permitem. As organizações desejam incorporar tomada de decisão baseada em dados, aprendizado de máquina e análise de dados em muitos aspectos de seus produtos e serviços e operações internas, essencialmente, buscando aumentar cada aspecto de seu cenário operacional com inteligência orientada por dados. No entanto, ainda temos um longo caminho a percorrer antes de incorporar dados analíticos, incluindo definições de acesso e gerenciamento, nos domínios e operações de negócios. Hoje, todos os aspectos do gerenciamento de dados analíticos são mantidos fora dos domínios operacionais de negócio, com a equipe de dados e os monólitos de gerenciamento de dados: data lakes e data warehouses. Data mesh (ou malha de dados) é uma abordagem sociotécnica descentralizada para remover a dicotomia entre dados analíticos e operação de negócio. Seu objetivo é incorporar o compartilhamento e o uso de dados analíticos em cada domínio operacional do negócio e fechar a lacuna entre os planos operacional e analítico. É baseada em quatro princípios: propriedade de dados por domínio, dados como produto, plataforma de dados self-service e governança computacional federada.
Nossos times têm implementado a arquitetura de malha de dados, criando novas abstrações arquiteturais, como quantum de produto de dados para encapsular código, dados e política como uma unidade autônoma de compartilhamento de dados analíticos incorporado em domínios operacionais. Nossos times também vem criando recursos de plataforma de dados self-service para gerenciar o ciclo de vida dos quanta de produtos de dados de maneira declarativa, conforme descrito no livro Data Mesh. Apesar de nossos avanços técnicos, ainda estamos enfrentando atritos com o uso de tecnologias existentes em uma topologia de malha de dados, sem mencionar a resistência dos domínios de negócio em abraçar o compartilhamento e o uso de dados como uma responsabilidade de primeira classe em algumas organizações.
A malha de dados marca uma mudança bem-vinda de paradigma arquitetural e organizacional na forma como gerenciamos grandes dados analíticos. O paradigma é baseado em quatro princípios: (1) descentralização orientada a domínio da propriedade e da arquitetura de dados; (2) dados orientados a domínio e servidos como produto; (3) infraestrutura de dados de autoatendimento como uma plataforma para habilitar times autônomos de dados orientados a domínio; (4) governança federada para habilitar ecossistemas e interoperabilidade. Embora os princípios sejam intuitivos e tentem abordar muitos dos desafios conhecidos do gerenciamento centralizado de dados analíticos anterior, eles transcendem as tecnologias de dados analíticos disponíveis. Depois de construir a malha de dados para uma variedade de clientes em cima de ferramentas existentes, aprendemos duas coisas: (a) faltam ferramentas de código aberto ou comerciais para a aceleração da implementação da malha de dados (por exemplo, uma ferramenta para implementação de um modelo de acesso universal para dados poliglotas baseados em tempo, o que atualmente criamos de forma personalizada para clientes) e (b) apesar da indisponibilidade de ferramentas, é possível usar tecnologias existentes como blocos de construção básicos.
Naturalmente, a adaptação da tecnologia é um componente importante da implementação de uma estratégia de dados com base na malha de dados em sua organização. O sucesso, no entanto, exige uma reestruturação organizacional para separar o time de plataforma de dados, a criação da função de product owner de dados para cada domínio e a introdução das estruturas de incentivo necessárias para que os domínios tenham propriedade e compartilhem seus dados analíticos como produtos.
A malha de dados é um paradigma arquitetural e organizacional que desafia a antiga suposição de que devemos centralizar grandes volumes de dados analíticos para usá-los, manter todos os dados em um só lugar ou gerenciá-los por meio de um time de dados centralizado para entregar valor. A noção de malha de dados afirma que, para que o big data incentive a inovação, sua propriedade deve ser compartilhada entre as partes proprietárias dos dados do domínio responsáveis pelo fornecimento de dados como produtos (com o suporte de uma plataforma de dados de autoatendimento para abstrair a complexidade técnica envolvida no fornecimento de produtos de dados). Também deve-se adotar uma nova forma de governança compartilhada por meio da automação, para permitir a interoperabilidade de produtos de dados orientados ao domínio. A descentralização, juntamente com a interoperabilidade e o foco na experiência de quem consome os dados, são essenciais para a democratização da inovação no uso de dados.
A malha de dados é um paradigma arquitetônico que destrava dados analíticos em escala, rapidamente desbloqueando o acesso a um número cada vez maior de conjuntos de dados de domínio distribuído, para uma proliferação de cenários de uso, tais como aprendizado de máquina, analytics ou aplicações com uso intensivo de dados em toda a organização. A malha de dados aborda os modos que comumente falham no tradicional e centralizado lago de dados ou na arquitetura de plataforma de dados, com uma mudança do paradigma centralizado de um lago ou seu predecessor, o armazém de dados. A malha de dados muda para um paradigma baseado na arquitetura moderna distribuída: considerar domínios como a principal preocupação, usando mentalidade de plataformas para criar uma infraestrutura de dados de autosserviço, tratando dados como um produto e implementando a padronização padrão para permitir um ecossistema de produtos de dados distribuídos interoperáveis.