Ir para o conteúdo

Metabase

Esta documentação descreve a implementação e configuração do Metabase nos projetos do Datahub Igarapé.

Introdução ao Metabase

O Metabase é uma ferramenta de Business Intelligence (BI) open source que permite criar dashboards interativos, relatórios e visualizações de dados sem necessidade de conhecimento técnico avançado. Funciona como uma camada de apresentação que se conecta a diversas fontes de dados, transformando consultas complexas em insights visuais acessíveis para toda a organização.

No contexto do Datahub, o metabase será conectado com o projeto igarape-datahub onde ficam armazenados os dados validados e tabelas derivadas construidas a partir deles.

Tutorias e guias de melhores práticas

Recomendamos consultar os seguintes tutorias e recursos para entender como usufruir do metabase com boas práticas: - Tutorial de primeiros passos com o Metabase - Guia Oficial de Melhores Práticas: Documentação oficial com diretrizes para configuração e uso - Dashboard Design Guidelines: Princípios de design para dashboards eficazes - Query Performance Optimization: Técnicas para otimização de consultas e performance - CONHEÇA O METABASE | GUIA COMPLETO PELA FERRAMENTA: Vídeo introdutório sobre o metabase - Metabase Tutorials - Matthew Hefferon : Série vídeos introdutórios sobre o metabase - Metabase Tutoriais - Gabriel Santos**: Série vídeos introdutórios sobre o metabase

Conexão com BigQuery

Integração com o Projeto Datahub

O Metabase está configurado para conectar-se ao projeto datahub-igarape no Google BigQuery, proporcionando acesso direto aos datasets e tabelas do datahub. Isto é feito utilizando a conta de serviço metabase-user, para qual foi atribuida o papel de Usuário Leitor:

Gestão de Usuários e Acessos

Painel Administrativo

O gerenciamento de usuários e controle de acessos no Metabase é realizado através do painel administrativo, acessível apenas por usuários com privilégios de administrador. Este painel centraliza todas as funcionalidades de governança da plataforma.

Funcionalidades de Gestão

  • Criação e remoção de usuários: Controle completo do ciclo de vida das contas
  • Definição de grupos e permissões: Organização hierárquica de acessos
  • Configuração de coleções: Estruturação lógica de dashboards e análises
  • Auditoria de atividades: Monitoramento de uso e performance da plataforma

Configurações de Ambiente

Repositório e Organização

O código do Metabase está hospedado no repositório datalake-2025

Configurações de Performance

As configurações de Virtual Machine (VM) foram dimensionadas seguindo as recomendações oficiais do Metabase at Scale.

Configurações de Administrador no Metabase

As configurações descritas neste documento são realizadas no painel Admin do Metabase, acessível apenas por usuários com privilégios de administrador. O foco principal é a redução de custos de processamento no BigQuery mantendo funcionalidades essenciais.

🗄️ 1. Configurações de Banco de Dados

1.1 ID de Usuário e Hash de Consulta

Status:DESATIVADO

📝 Descrição

Esta configuração controla se o Metabase inclui identificadores únicos nas consultas enviadas ao BigQuery.

⚙️ Comportamento
  • Quando ativa: Cada consulta inclui ID do usuário e hash único
  • Quando desativa: Consultas são executadas pela conta de serviço do Metabase
💰 Impacto nos Custos
  • ✅ Benefícios: Reduz custos significativamente por permitir cache de consultas frequentes
  • ❌ Malefícios:
  • Reduz capacidade de auditoria
  • Dificulta depuração de problemas
  • Todas as consultas aparecem como executadas pela conta de serviço no BigQuery
🔍 Recomendação

Manter desativado para projetos com foco em redução de custos, especialmente em ambientes com alto volume de consultas repetitivas.

1.2 Sincronizações e Varreduras de Metadados
📊 Configuração Padrão vs. Implementada
Tipo de Sincronização Padrão Metabase Configuração Atual Justificativa
Sincronização Leve A cada hora 1x por dia Reduzir consultas de 10MB mínimas
Varredura Intensiva Diariamente Sob demanda Evitar custos desnecessários
🔄 Sincronização Leve
  • Função: Atualização dos metadados das tabelas
  • Custo: 10MB por consulta (valor mínimo BigQuery)
  • Frequência atual: 1 vez por dia
  • Motivo: Com o crescimento do Datahub, sincronizações horárias se tornariam custosas
🔍 Varredura Intensiva (Scan de Valores)
  • Função: Verificar novos valores em campos para filtros
  • Quando executa: Somente quando um usuário adiciona novo filtro
  • Comportamento:
  • Usuário adiciona filtro → Metabase escaneia campos mapeados
  • Exibe lista de opções disponíveis para o filtro
  • Não executa varreduras preventivas/automáticas

Monitoramento Recomendado

  • Acompanhar tempo de resposta de novos filtros
  • Monitorar custos do BigQuery mensalmente
  • Revisar configurações conforme crescimento da base de dados
✅ Resumo das Configurações
Configuração Status Objetivo Impacto
ID de usuário em consultas ❌ Desativado Reduzir custos Alto impacto positivo nos custos
Sincronização leve 🕐 1x/dia Controlar custos Redução significativa de consultas
Varredura intensiva 🎯 Sob demanda Eliminar custos desnecessários Custos apenas quando necessário
1.3 Datasets conectados ao Metabase

No momento, todos os datasets e tabelas dos conjuntos de dados no projeto igarape_datahub estão sendo indexados no metabase. É possível restrigir a indexação a datasets e tabelas específicos se for necessário.

Arquitetura de Deploy

O deploy utiliza Docker Compose baseado na configuração do metabase-traefik-compose.

Metabase Container

O container principal executa a aplicação Metabase, conectando-se ao PostgreSQL para persistência de dados e configurações. Este componente processa todas as consultas dos usuários, gerencia sessões e renderiza a interface web.

PostgreSQL Database

Serve como backend de dados para o Metabase, armazenando metadados de configuração, definições de dashboards, cache de resultados de consultas e informações de usuários. O PostgreSQL garante persistência e performance superior comparado ao banco H2 padrão.

Traefik Reverse Proxy

Atua como proxy reverso e load balancer, gerenciando o roteamento de requisições HTTP/HTTPS para o Metabase. O Traefik proporciona terminação SSL automática e certificados Let's Encrypt.