Um data mesh é uma arquitetura de dados descentralizada que organiza os dados por um domínio de negócios específico, por exemplo, marketing, vendas, atendimento ao cliente e outros, para fornecer mais propriedade aos produtores de um determinado conjunto de dados.
A compreensão dos produtores sobre os dados do domínio os posiciona para estabelecer políticas de gestão de dados focadas em documentação, qualidade e acesso. Isso, por sua vez, permite o uso do autoatendimento em toda a organização. Embora essa abordagem federada elimine muitos gargalos operacionais associados a sistemas centralizados e monolíticos, isso não significa necessariamente que você não possa usar sistemas de armazenamento tradicionais, como data lakes ou data warehouses. Significa apenas que seu uso mudou de uma única plataforma de dados centralizada para vários repositórios de dados descentralizados.
É importante notar que o data mesh promove a adoção de tecnologias nativas da nuvem e de plataforma de nuvem para escalar e atingir as metas do gerenciamento de dados. Esse conceito é comumente comparado a microsserviços para ajudar as audiências a entender seu uso nesse cenário. Como essa arquitetura distribuída é particularmente útil para escalar as necessidades de dados em uma organização, pode-se inferir que um data mesh pode não ser para todos os tipos de empresas; ou seja, empresas menores podem não colher os benefícios de um data mesh, pois seus dados corporativos podem não ser tão complexos quanto uma organização maior.
Zhamak Dehghani, Diretor de Tecnologia da empresa de consultoria de TI ThoughtWorks, é creditado por promover o conceito de data mesh como uma solução para os desafios inerentes às estruturas de dados centralizadas e monolíticas, como acessibilidade e organização de dados. Sua adoção foi estimulada ainda mais pela pandemia ds COVID-19, em um esforço para impulsionar a mudança cultural e reduzir a complexidade organizacional em torno dos dados.
Um data mesh envolve uma mudança cultural na maneira como as empresas pensam sobre seus dados. Em vez de os dados atuarem como um subproduto de um processo, eles se tornam o produto, onde os produtores de dados atuam como proprietários do produto de dados. Historicamente, uma equipe de infraestrutura centralizada manteria a propriedade dos dados em todos os domínios, mas o foco do pensamento do produto em um modelo de data mesh transfere essa propriedade para os produtores, pois eles são os especialistas no assunto. Sua compreensão dos principais consumidores de dados e como eles aproveitam os dados operacionais e analíticos do domínio permite que criem APIs com seus melhores interesses em mente.
Embora esse design baseado no domínio também torne os produtores de dados responsáveis por documentar definições semânticas, catalogar metadados e definir políticas de permissões e uso, ainda existe uma equipe centralizada de gestão de dados para impor esses padrões e procedimentos em relação aos dados. Além disso, embora as equipes de domínio se tornem responsáveis por seus pipelines de dados ETL sob uma arquitetura de data mesh, isso não elimina a necessidade de uma equipe centralizada de engenharia de dados. No entanto, sua responsabilidade se torna mais focada em determinar as melhores soluções de infraestrutura de dados para os produtos de dados que estão sendo armazenados.
Da mesma forma que uma arquitetura de microsserviços une serviços leves para fornecer funcionalidade a uma aplicação voltada para empresas ou consumidores, um data mesh usa domínios funcionais como uma forma de definir parâmetros em torno dos dados, permitindo que eles sejam tratados como um produto que pode ser acessado por usuários em toda a organização. Dessa forma, um data mesh permite uma integração de dados mais flexível e uma funcionalidade interoperável, na qual dados de vários domínios podem ser consumidos imediatamente pelos usuários para análise de dados de negócios, experimentação em ciência de dados e muito mais.
Conforme dito anteriormente, um data mesh é uma arquitetura de dados distribuída, onde os dados são organizados por domínio para torná-los mais acessíveis aos usuários de uma organização. Um data lake é um ambiente de armazenamento de baixo custo, que normalmente abriga petabytes de dados estruturados, semiestruturados e dados não estruturados para análise de dados de negócios, aprendizado de máquina e outras aplicações amplas. Um data mesh é uma abordagem de arquitetura para dados, da qual um data lake pode fazer parte. No entanto, um data lake central é mais comumente usado como local de despejo de dados, pois frequentemente é usado para ingestão de dados que ainda não têm uma finalidade definida. Como resultado, ele pode se tornar vítima de um pântano de dados, ou seja, um data lake que não possui a qualidade de dados e a gestão de dados adequadas para fornecer aprendizados esclarecedores.
Uma malha de dados é um conceito de arquitetura e foca na automação da integração de dados, engenharia de dados e governança em uma cadeia de valor de dados entre provedores de dados e consumidores de dados. Uma malha de dados é baseada na noção de "metadados ativos", que usa gráfico de conhecimento, semântica e tecnologia de inteligência artificial/aprendizado de máquina para descobrir padrões em vários tipos de metadados (por exemplo, logs do sistema, redes sociais etc.) e aplicar esse insight para automatizar e orquestrar a cadeia de valor de dados (por exemplo, permitir que um consumidor de dados encontre um produto de dados e tenha esse produto de dados provisionado para ele automaticamente). Uma malha de dados é complementar a um data mesh em vez de mutuamente exclusiva. Na verdade, a malha de dados torna o data mesh melhor porque pode automatizar partes importantes do data mesh, como criar produtos de dados mais rapidamente, impor governança global e facilitar a orquestração da combinação de vários produtos de dados.
Democratização dos dados: as arquiteturas de data mesh facilitam as aplicações de autoatendimento de várias fontes de dados, ampliando o acesso aos dados para além dos recursos mais técnicos, como cientistas de dados, engenheiros de dados e desenvolvedores. Ao tornar os dados mais detectáveis e acessíveis por meio desse design orientado por domínio, ele reduz os silos de dados e os gargalos operacionais, permitindo uma tomada de decisão mais rápida e liberando os usuários técnicos para priorizar tarefas que utilizem melhor suas habilidades.
Eficiências de custos: essa arquitetura distribuída se afasta do processamento de dados em lote e, em vez disso, promove a adoção de plataformas de dados em nuvem e pipelines de streaming para coletar dados em tempo real. O armazenamento em nuvem oferece uma vantagem de custo adicional ao permitir que as equipes de dados criem grandes clusters conforme a necessidade, pagando somente pelo armazenamento especificado. Isso significa que, se você precisar de mais potência de computação para executar um trabalho em algumas horas em vez de alguns dias, poderá fazer isso facilmente em uma plataforma de dados em nuvem adquirindo nós de computação adicionais. Isso também significa que melhora a visibilidade dos custos de armazenamento, permitindo uma melhor alocação de recursos e orçamento para as equipes de engenharia.
Menos dívida técnica: uma infraestrutura de dados centralizada causa mais dívida técnica devido à complexidade e à colaboração necessária para manter o sistema. À medida que os dados se acumulam em um repositório, eles também começam a desacelerar o sistema como um todo. Ao distribuir o pipeline de dados por propriedade de domínio, as equipes de dados podem atender melhor às demandas de seus consumidores de dados e reduzir as tensões técnicas no sistema de armazenamento. Elas também podem oferecer mais acessibilidade aos dados, ao fornecer APIs para interface com os dados, reduzindo o volume geral de solicitações individuais.
Interoperabilidade: em um modelo de data mesh, os proprietários dos dados concordam sobre como padronizar campos de dados independentes de domínio antecipadamente, o que facilita a interoperabilidade. Dessa forma, quando uma equipe de domínio está estruturando seus respectivos conjuntos de dados, ela está aplicando as regras relevantes para permitir a vinculação de dados entre domínios de forma rápida e fácil. Alguns campos comumente padronizados são tipo de campo, metadados, sinalizadores de esquema e outros. A consistência entre os domínios permite que os consumidores de dados interajam com as APIs com mais facilidade e desenvolvam aplicações para atender às suas necessidades de negócios de forma mais adequada.
Segurança e conformidade: as arquiteturas de data mesh promovem práticas de governança mais fortes, pois ajudam a impor padrões de dados para dados independentes de domínio e controles de acesso para dados confidenciais. Isso garante que as organizações sigam as regulamentações governamentais, como as restrições da HIPPA, e a estrutura desse ecossistema é compatível com essa conformidade por meio da habilitação de auditorias de dados. Os dados de registro e rastreamento em uma arquitetura de data mesh incorporam a observabilidade ao sistema, permitindo que os auditores entendam quais usuários estão acessando dados específicos e a frequência desse acesso.
Embora as arquiteturas de data mesh distribuídas ainda estejam sendo adotadas, elas estão ajudando as equipes a atingir suas metas de escalabilidade para casos de uso comuns de big data. Elas incluem:
Gerencie dados como produto ao longo de todo o ciclo de vida. Controle o ciclo de vida dos produtos de dados, desde a integração até a desativação, com um sistema robusto de controle de versões, manutenção e atualização dos produtos de dados.
Transforme dados brutos em insights praticáveis com rapidez, unifique a governança, a qualidade, a linhagem e o compartilhamento de dados, e disponibilize informações confiáveis e contextualizadas aos consumidores de dados.
Libere o valor dos dados empresariais com a IBM® Consulting, construindo uma organização orientada por insights que proporciona vantagem comercial.