OpenMetadata
Gerenciamento de Metadados

OpenMetadata é uma plataforma open-source unificada de gerenciamento de metadados criada para a descoberta de dados, governança, qualidade de dados, observabilidade e colaboração de pessoas.
O OpenMetadata é impulsionado por um repositório central de metadados, linhagem aprofundada e colaboração em equipe integrada.
É um dos projetos de código aberto de crescimento mais rápido, com uma comunidade vibrante e adoção por um conjunto diversificado de empresas em diversos setores.
Baseado em Padrões de Metadados Abertos e APIs, com suporte a conectores para uma ampla gama de serviços de dados, o OpenMetadata permite o gerenciamento de metadados de ponta a ponta.
A ideia central é que os metadados são um ativo de primeira classe e devem ser:
-
Fáceis de consultar e explorar (descoberta).
-
Confiáveis e atualizados (observabilidade e qualidade).
-
Contextualizados (quem usa, para quê serve, em que fluxo se encaixa).
-
Governados (com donos, políticas, classificações).

O que ele faz
-
Catalogação e descoberta de ativos (tabelas, dashboards, pipelines, modelos).
-
Documentação colaborativa: descrições, comentários, dicionário de dados.
-
Governança e qualidade: atribuição de donos, políticas, testes de dados integrados.
-
Linhagem visual, inclusive em nível de coluna.
-
Observabilidade: métricas de frescor, volume, qualidade, alertas.
-
Colaboração e notificações via comentários, webhooks, controle de acesso.
Características do OpenMetadata:
-
Licenciado sob a Apache License, atualmente na versão 2.0
-
Arquitetura simplificada: essencialmente 4 serviços (API Server, DB relacional, Elasticsearch, Ingestion).
-
Framework de ingestão extens ível: + de 90 conectores prontos, e fácil criar novos.
-
Schema-first: os contratos de metadados são JSON Schemas versionados.
-
APIs abertas: toda funcionalidade exposta via REST, facilitando automação e integração com pipelines de CI/CD.
-
UI moderna: interface única para busca, visualização de linhagem, dashboards de qualidade e workflows de ingestão.
Arquitetura do OpenMetadata
O OpenMetadata segue uma arquitetura em camadas:
-
UI (Frontend): interface web em React, usada para exploração, colaboração e governança.
-
API Server (Backend): implementado em Java (Dropwizard/Jetty), expõe APIs REST e garante consistência.
-
Metadata Store (DB relacional, geralmente MySQL/PostgreSQL): armazena entidades, relacionamentos e histórico.
-
Search Engine (Opensearch): indexa todos os ativos para busca rápida e facetada.
-
Ingestion Framework: implementado em Python, roda como pipelines (pode ser agendado via Airflow ou standalone). Ele coleta metadados das fontes conectadas e envia para a API.

Seus principais componentes são:
-
Entities (Entidades): tabela, coluna, usuário, pipeline, dashboard etc.
-
Ingestion Workflows: conectores para bancos, ETL, BI, ML.
-
Glossary/Taxonomy: dicionário de termos de negócio e domínios.
-
Policies & Roles: controle de acesso granular.
-
Lineage Graph: motor que constrói e visualiza dependências.
-
UI Colaborativa: comentários, notificações, integração Slack/Jira.
Recursos do OpenMetadata
-
Conectores prontos para bancos (Snowflake, BigQuery, Redshift, Hive), BI (Looker, Superset), pipelines (Airflow, Dagster, Spark).
-
Linhagem detalhada com drill-down até colunas individuais.
-
Data Quality: criação de testes nativos (ex.: valores esperados, limites, consistência).
-
Observabilidade: dashboards de frescor, volume, popularidade.
-
Governança: atribuição de donos, classificação de dados sensíveis, domínios organizacionais.
-
Extensibilidade: fácil criar conectores e schemas customizados.
Boas Práticas no Uso do OpenMetadata
-
Comece pequeno: catalogue fontes críticas e expanda gradualmente.
-
Automatize ingestão: use workflows agendados (Airflow, cron).
-
Defina donos claros: atribua ownership de tabelas, dashboards, pipelines.
-
Adote glossário corporativo: termos de negócio ajudam não-técnicos a entender dados.
-
Monitore qualidade: configure testes mínimos em dados críticos.
-
Integre com comunicação: Slack, Teams, Jira para alertas e colaboração.
-
Versione e audite: mantenha histórico de metadados e mudanças.
-
Use RBAC e políticas: restrinja quem pode editar o quê.
-
Participe da comunidade: aproveite extensões já prontas e contribua de volta.
Detalhes sobre o projeto
OpenMetadata tem seu Backend desenvolvido em Java, usando framework Dropwizard/Jetty.
Implementa o Ingestion Framework em Python e o FrontEnd (UI) em TypeScript/React.
TDP Kubernetes
Este componente também está disponível na edição TDP Kubernetes (a partir da versão 3.0.0) com a versão 1.9.11, implantado via Helm Chart tdp-openmetadata.
Para detalhes de configuração, consulte a documentação do OpenMetadata no TDP Kubernetes.
Fonte(s):