Saltar para o conteúdo principal
Recurso disponível somente a partir da versão 3.0.0.

OpenMetadata

Gerenciamento de Metadados

OpenMetadata icon

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).

Figura 1 - OpenMetadata
Figura 1 - OpenMetadata

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.

Figura 2 - Arquitetura do OpenMetadata
Figura 2 - Arquitetura do OpenMetadata

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

Disponível no 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):