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

OpenMetadata

Gestão de Metadados

OpenMetadata icon

OpenMetadata é uma plataforma open-source unificada de gestão de metadados, criada para descoberta de dados, governação, qualidade de dados, observabilidade e colaboração.

O OpenMetadata é impulsionado por um repositório central de metadados, linhagem aprofundada e colaboração de equipa integrada.

É um dos projetos de código aberto com crescimento mais rápido, com uma comunidade vibrante e adoção por um conjunto diversificado de empresas em vários setores.

Baseado em Padrões de Metadados Abertos e APIs, com suporte a conectores para uma vasta gama de serviços de dados, o OpenMetadata permite a gestão de metadados 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).
  • Fiáveis e atualizados (observabilidade e qualidade).
  • Contextualizados (quem usa, para que servem, em que fluxo se inserem).
  • Governados (com responsáveis, políticas, classificações).
Figura 1 - OpenMetadata
Figura 1 - OpenMetadata

O que faz

  • Catalogação e descoberta de ativos (tabelas, dashboards, pipelines, modelos).
  • Documentação colaborativa: descrições, comentários, dicionário de dados.
  • Governação e qualidade: atribuição de responsáveis, políticas, testes de dados integrados.
  • Linhagem visual, incluindo ao nível de coluna.
  • Observabilidade: métricas de recência, volume, qualidade, alertas.
  • Colaboração e notificações via comentários, webhooks, controlo 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, BD relacional, Elasticsearch, Ingestion).
  • Framework de ingestão extensível: mais de 90 conectores prontos e fácil criar novos.
  • Schema-first: os contratos de metadados são JSON Schemas versionados.
  • APIs abertas: toda a funcionalidade exposta via REST, facilitando automação e integração com pipelines de CI/CD.
  • IU moderna: interface única para pesquisa, 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 governação.
  • API Server (Backend): implementado em Java (Dropwizard/Jetty), expõe APIs REST e garante consistência.
  • Metadata Store (BD 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, executa como pipelines (pode ser agendado via Airflow ou standalone), recolhe metadados das fontes e envia para a API.
Figura 2 - Arquitetura do OpenMetadata
Figura 2 - Arquitetura do OpenMetadata

Os seus principais componentes são:

  • Entities (Entidades): tabela, coluna, utilizador, pipeline, dashboard, etc.
  • Ingestion Workflows: conectores para bases de dados, ETL, BI, ML.
  • Glossary/Taxonomy: dicionário de termos de negócio e domínios.
  • Policies & Roles: controlo de acesso granular.
  • Lineage Graph: motor que constrói e visualiza dependências.
  • IU Colaborativa: comentários, notificações, integração Slack/Jira.

Recursos do OpenMetadata

  • Conectores prontos para bases de dados (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 recência, volume, popularidade.
  • Governação: atribuição de responsáveis, classificação de dados sensíveis, domínios organizacionais.
  • Extensibilidade: fácil criar conectores e schemas personalizados.

Boas Práticas no Uso do OpenMetadata

  • Comece pequeno: catalogue fontes críticas e expanda gradualmente.
  • Automatize a ingestão: use workflows agendados (Airflow, cron).
  • Defina responsáveis claros: atribua ownership de tabelas, dashboards, pipelines.
  • Adote um glossário corporativo: termos de negócio ajudam não-técnicos a entender dados.
  • Monitorize a 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 alterações.
  • Use RBAC e políticas: restrinja quem pode editar o quê.
  • Participe na comunidade: aproveite extensões prontas e contribua de volta.

Detalhes sobre o projeto

O OpenMetadata tem o backend desenvolvido em Java, usando 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):