Pular para o conteúdo principal

Data Foundation — Fundação de Dados da SDUH

Código: HORUS-ARQ-DF-001 Versão: 1.0 — 2026-10-07 Escopo: Fundação de dados da SDUH: como os dados são estruturados, armazenados, movidos, catalogados, protegidos e operados, e quais tecnologias sustentam cada função. A aplicação (frontend, backend transacional, autenticação de usuários) está fora do escopo. Documentos relacionados: Doc 02, Doc 03, Doc 04, Doc 05 e Doc 06.


1. Objetivo e Escopo​

Este documento descreve a fundação de dados (data foundation) da SDUH em uma única visão: o que existe, como os componentes se relacionam e quais regras valem para eles. Ele não repete o detalhe dos demais documentos; indica onde cada regra é definida.

PerguntaOnde está a resposta
Quais são os princípios e as fronteiras da fundação?Seções 2 e 3
Quais dados existem e como são modelados?Seção 4 e Docs 03, 05 e 06
Que tecnologia faz o quê?Seção 5
Como a API de Cadastro Mestre é mantida disponível?Seção 6
Quem decide e como a mudança é aprovada?Seção 7 e Docs 04, 05 e 07
Como o banco é protegido, recuperado e operado?Seção 8 e Docs 04 e 08

2. Princípios da Fundação​

PrincípioRegra
Plataforma única e gerenciada100% Google Cloud Platform (GCP), somente serviços gerenciados. Nenhuma ferramenta de ETL, orquestração, streaming ou mensageria fora do GCP.
Soberania dos dadosTodos os dados, réplicas e backups ficam exclusivamente em southamerica-east1 (São Paulo). A soberania prevalece sobre a redução de RPO e RTO em desastre de região.
Separação operacional e analíticoO PostgreSQL é o banco operacional. O BigQuery é somente leitura para os sistemas operacionais. O fluxo é sempre PostgreSQL → pipeline → Bronze → Silver → Gold.
Dado mestre com dono únicoCada entidade mestre tem um sistema dono, vive no schema mdm do banco do dono e é consumida por API. Uma entidade mestre nunca é duplicada em um domínio.
Domínios de negócioCada domínio tem schema próprio no PostgreSQL e datasets próprios no BigQuery (_bronze, _silver, _gold).
Segurança e LGPD por desenhoClassificação de toda coluna sensível, mascaramento fora de produção, acesso por identidade de serviço e auditoria obrigatória.
Mudança sob ritoToda mudança de schema passa por proposta, revisão e promoção HOM → PROD, com scripts versionados e imutáveis após a promoção para PROD.

3. Arquitetura da Fundação​

3.1 Fluxo de dados​

3.2 Nuvem e ambientes​

  • Região única: southamerica-east1 para todos os serviços.
  • Ambientes: HOM e PROD em projetos GCP separados ({projeto}-hom e {projeto}-prod). HOM não contém PII real (Doc 05, Seção 5.3).
  • Hospedagem dos serviços de dados: Cloud Run (API de Cadastro Mestre e API de dados), contêineres gerenciados com escala automática.
  • Premissas de conformidade: os dados seguem a LGPD e são acessados por camadas autenticadas; o BigQuery não é exposto diretamente aos usuários finais.

4. Domínios e Modelo de Dados​

4.1 Domínios​

A tabela abaixo é uma referência preliminar, derivada do Doc 03, que é esboço e não é autoritativo. Cada domínio tem um schema no PostgreSQL e três datasets no BigQuery.

DomínioSistema de origemSchema PGDatasets BQ
Regularização FundiáriaCidade Legalregularizacaoregularizacao_bronze/silver/gold
Aprovação e CertificaçãoGRAPROHABaprovacaoaprovacao_bronze/silver/gold
Subsídio HabitacionalCPADM (Casa Paulista)subsidiosubsidio_bronze/silver/gold
Habitação PopularNossa Casahabitacaohabitacao_bronze/silver/gold
Comunicação InstitucionalSite SHCDHU + Newslettercomunicacaocomunicacao_bronze/silver/gold
Corporativo / AdministrativoSegurança (IAM) + RHbanco corporativocorporativo_bronze/silver/gold
Solicitações MunicipaisSistema de solicitações municipaissolicitacaosolicitacao_bronze/silver/gold

4.2 Entidades mestres (MDM)​

As entidades mestres previstas são Pessoa, Município (chave canônica id_municipio, com cd_ibge de 7 dígitos como chave natural), Programa Habitacional, Empresa/Construtora e Arquivo/Mídia. A unificação de Empreendimento em uma entidade mestre está em definição. Todas residem no schema mdm do banco do sistema dono.

Quem consome dado mestre de outro banco usa a API de Cadastro Mestre do sistema dono, com FK lógica, conciliação de órfãos e fusão de duplicidades com aprovação e registro (Doc 06, REG-CM-17 a 26). A API é dependência crítica; a resiliência está na Seção 6.

4.3 Padrões de modelagem​

  • Schemas e tabelas em snake_case; chave primária UUIDv7.
  • Colunas obrigatórias de auditoria e de soft delete, com índice único parcial para chave de negócio.
  • Prefixo de coluna obrigatório quando a coluna se enquadra em um termo do catálogo; glossário de vocabulário controlado mantido no Knowledge Catalog.
  • BigQuery com fato_*, dim_* e {sistema}_{tabela}_raw; sem SELECT * na camada Gold e sem nomes genéricos.

As regras completas estão nos Docs 05 e 06.


5. Componentes e Tecnologias por Função​

5.1 Cadastro Mestre​

TecnologiaFunção e regra de uso
API de Cadastro Mestre (Cloud Run)Serviço do sistema dono, dono exclusivo do schema mdm. Consulta por id, em lote e por chave de negócio (CPF, CNPJ, IBGE); escrita por upsert idempotente; resolução de ids fundidos; evento de fusão publicado no Pub/Sub. Ingress interno, autenticação entre serviços por identidade de serviço do GCP (OIDC) e contrato OpenAPI versionado. "API de Cadastro Mestre" é um papel: cada sistema que origina dado mestre expõe a sua (Doc 06, Seção 3.7).

5.2 Armazenamento​

TecnologiaFunção e regra de uso
Cloud SQL for PostgreSQLBanco operacional padrão, em instância regional de alta disponibilidade, com IP privado e SSD com autoscale. Organiza os dados em schemas por domínio. Versão major mais recente com suporte vigente.
PgBouncerPool de conexões em transaction pooling na frente do PostgreSQL. Conexões diretas só para o Arquiteto de Dados e pipelines de ETL.
Cloud SQL Auth ProxyAcesso humano seguro ao banco, com MFA, sem IP público.
IAM Database AuthenticationAutenticação no banco por identidade de serviço. Dispensa senha armazenada.
Papéis de banco{sistema}_app, _readonly, _etl, _admin e _audit; concessão sempre por role (Doc 04, Seção 3).
postgres_fdwLeitura entre bancos, restrita a ETL e ao Arquiteto de Dados. Nunca em aplicação.
Google Cloud Storage (GCS)Armazenamento de arquivos e objetos. Cada arquivo é registrado em mdm.arquivos.
Google BigQueryData warehouse analítico em medalhão (Bronze, Silver e Gold). Somente leitura para os sistemas operacionais; description obrigatória nas tabelas Gold e Policy Tags nas colunas PII.

5.3 Ingestão, transformação e orquestração (somente GCP gerenciado)​

TecnologiaFunção e regra de uso
BigQuery Scheduled QueriesSQL agendado que carrega e transforma as camadas Silver e Gold. Dispensa orquestrador quando a etapa é isolada.
DataformTransformação SQL com versionamento e dependências entre tabelas. Alternativa às consultas agendadas.
Cloud Run JobsContêineres em lote, agendados ou por evento, para ingestão e transformação em código (Python).
Cloud FunctionsFunções sob demanda para rotinas reativas, como reconciliações e verificações entre cargas.
Cloud Composer (Apache Airflow)Único orquestrador permitido, para pipelines com várias etapas dependentes. O DAG cobre a cadeia ponta a ponta.
Dataflow (Apache Beam)Processamento em streaming, só quando a latência baixa é requisito. Alimentado pelo Pub/Sub.
Pub/SubÚnica mensageria permitida. Transporta eventos, como o de fusão de duplicidades do cadastro mestre.
CDC (Change Data Capture)Captura de mudanças do PostgreSQL por log lógico (wal_level = logical) para cargas incrementais. Alternativa: carga por marca d'água em dh_atualizacao.

Toda falha de pipeline gera alerta e nunca é silenciada; cargas incrementais são idempotentes (Doc 05, Seção 10). Dados vindos de sistemas legados chegam ao PostgreSQL com a coluna id_legado e mapeamento de tipos; o legado é só fonte, sem escrita de volta (Doc 04, Seção 6).

5.4 Catálogo, metadados e governança​

TecnologiaFunção e regra de uso
Knowledge Catalog (Google Cloud, Dataplex)Catálogo institucional de dados do BigQuery e do PostgreSQL. Reúne metadados, classificação LGPD (Tag Templates de PII), glossário corporativo (fonte de verdade), indicadores de qualidade e confiança, e linhagem.
Policy Tags e Data Policies (BigQuery)Restringem o acesso a colunas com dados pessoais por perfil e mascaram o dado para quem tem menos privilégio.
COMMENT ON TABLE/COLUMN (PostgreSQL)Documentação no banco, com o prefixo LGPD: nas colunas sensíveis e o nível de maturidade (Bronze, Silver ou Gold) no comentário da tabela.
Campo description (BigQuery)Documentação de datasets e tabelas.
Gemini (documentação assistida)Gera descrições de tabelas e colunas do BigQuery pelo scan de documentação do Knowledge Catalog. A revisão é humana.

5.5 Consumo​

TecnologiaFunção e regra de uso
Looker (LookML)Camada semântica e dashboards sobre a camada Gold. Define cada métrica de negócio uma única vez.
Looker Studio ProVisualização de painéis sobre os dados do BigQuery.
API de dados (FastAPI, Python)Serve a camada Gold, com cache em memória: TTL padrão de 15 minutos, renovação sob demanda por endpoint administrativo restrito e meta de latência p95 abaixo de 200 ms nas consultas cacheadas. Endpoints /public/ e /admin/, com perfis reader e maintainer; rotinas batch autenticam com segredo guardado no Secret Manager.
CKANRepositório de dados abertos. A catalogação e a governança ficam no Knowledge Catalog.

5.6 Segurança, auditoria e observabilidade dos dados​

TecnologiaFunção e regra de uso
Cloud IAMControle de acesso por papéis e contas de serviço, sem login interativo. Base de todas as permissões.
Secret ManagerSegredos de integração e chaves de API. Nenhum segredo fica em código ou imagem.
Schema auditorialog_operacao e acesso_emergencia, com trilha de eventos de segurança. Retenção de 2 anos no PostgreSQL e 5 anos no BigQuery (Doc 04, Seção 7).
Cloud LoggingCentraliza os logs de pipelines, banco e serviços. Base da investigação de falhas.
Cloud MonitoringMétricas e alertas obrigatórios: CPU, disco, conexões, lag de replicação, consultas lentas, logins falhos, retenção de WAL, wraparound, órfãos de mestre e SLO da API de Cadastro Mestre (Doc 04, Seção 5.1).

5.7 Origem dos dados​

OrigemDescrição
SQL Server (legado)Banco dos sistemas legados. Funciona só como fonte, sem escrita de volta.
Bancos dos sistemas (PostgreSQL)Bancos operacionais dos sistemas, fonte da camada Bronze.
Planilhas ExcelCargas manuais, validadas antes de entrar no pipeline.
Fontes públicas (IBGE, TSE, S2ID)Dados externos de referência territorial, eleitoral e de desastres, usados no enriquecimento.

6. Resiliência da API de Cadastro Mestre​

Os demais módulos dependem da API de Cadastro Mestre do sistema dono para gravar vínculos com o dado mestre; por isso o serviço é tratado como dependência crítica.

Metas de referência (valores iniciais, a revisar com a medição real):

IndicadorMeta
Disponibilidade mensal (consultas), medida no horário de operação (dias úteis)99,9%
Latência p95 — consulta por id< 100 ms
Latência p95 — consulta em lote (até 100 ids)< 300 ms
Latência p95 — escrita (upsert)< 500 ms

O orçamento de erro decorrente da meta de disponibilidade orienta a decisão entre novas funcionalidades e trabalho de confiabilidade. Os indicadores são medidos no Cloud Monitoring (Doc 04, Seção 5.1).

Implantação: instância mínima maior que zero (sem cold start no caminho crítico), distribuição entre zonas e banco do sistema dono em instância regional de alta disponibilidade (Doc 04, Seção 2.1). O serviço é stateless e se recupera por novo deploy; a recuperação de dados segue o Doc 04, Seção 4.

Comportamento dos consumidores quando a API falha (Doc 06, REG-CM-22):

OperaçãoComportamento
Ler dado já vinculado, para exibiçãoPode usar cache em memória do processo com TTL curto; sem cache persistente
Validar e gravar vínculo com o mestreFalha explícita (HTTP 503), sem gravação; repetição posterior idempotente
Operações que não dependem do mestreSeguem normalmente

Padrões nos consumidores: timeout por operação, retry com backoff exponencial e jitter (no máximo 3 tentativas, só em operação idempotente), circuit breaker e limite de concorrência por consumidor.

Contrato: OpenAPI versionado. Acréscimo de campo opcional não quebra o contrato; remoção ou mudança de significado exige nova versão (/v2) com período de convivência. Testes de contrato rodam no CI do produtor e dos consumidores.

Validação: a indisponibilidade da API é simulada em HOM antes de cada mudança relevante de contrato ou de infraestrutura, para confirmar o comportamento da tabela acima.


7. Governança dos Dados​

PapelResponsabilidade
Arquiteto de DadosResponsável pelo dado mestre, pelo banco e pelos pipelines; presidência técnica do Comitê de Dados.
Comitê de DadosReunião mensal, com Arquiteto, Coordenação de TI, representantes dos domínios e DPO. Decide dono de dado mestre, novo schema, classificação LGPD, política de backup e retenção, acesso de terceiros e desativação de sistema legado.
Gestor técnico e de negócio por schemaO gestor técnico aprova DDL; o gestor de negócio valida as regras do domínio.
DPO (Encarregado LGPD)Aprova mudanças que envolvam dados pessoais e a classificação das colunas.

7.1 Classificação LGPD​

PÚBLICO, INTERNO, RESTRITO e SIGILOSO. Dado RESTRITO é mascarado em HOM e pseudonimizado no BigQuery; dado SIGILOSO nunca é replicado nem exposto no BigQuery (Doc 05, Seção 3.4).

7.2 Mudança de schema​

Fluxo: solicitante (PR) → Arquiteto de Dados → Gestor do Domínio → Tech Lead → merge em HOM → validação → merge em PROD. Nova tabela, novo schema, mudança de PK ou FK, remoção de coluna ou tabela e alteração de tipo exigem os três revisores; novo schema e mudança em entidade mestre exigem, além disso, a homologação do Comitê de Dados. Antes de aprovar uma tabela, o Arquiteto verifica que ela não recria uma entidade mestre (Doc 05, Seção 1).

7.3 Maturidade dos dados​

NívelCritérioUso permitido
BronzeDado bruto, sem validação.Apenas ETL interno.
SilverDado limpo, tipado e deduplicado, sem lógica de negócio.Pipelines analíticos e joins internos.
GoldDado validado, com lógica de negócio aprovada pelos gestores.Dashboards, APIs e relatórios oficiais.

8. Operação e Continuidade​

8.1 Backup e recuperação​

TipoFrequênciaRetenção
Backup automático (Cloud SQL)Diário (janela 02h–04h BRT)30 dias
Point-in-Time Recovery (PITR)Contínuo (arquivamento de WAL)7 dias
Export manual (pg_dump)Semanal90 dias
Export pré-mudança de riscoAntes de qualquer migração de riscoIndefinida
CenárioRTORPO
Falha de zona (HA)< 1 minuto< 5 segundos
Corrupção de dados (PITR)< 4 horasSegundos a poucos minutos; recuperação possível até 7 dias atrás
Desastre de região< 24 horasÚltimo backup diário

Não há réplica nem backup fora de southamerica-east1. O restore de teste é trimestral, em ambiente isolado (Doc 04, Seção 4.3).


9. Documentos Relacionados​

DocumentoConteúdo
Doc 02Requisitos funcionais e não funcionais.
Doc 03Modelo corporativo de dados (esboço): domínios, entidades mestres, mapeamento para BigQuery Gold, glossário.
Doc 04Organização, acesso, backup, monitoramento, estratégia de carga de legados, auditoria e governança.
Doc 05Mudança de schema, nomenclatura, versionamento, BigQuery e diretrizes de ETL/ELT.
Doc 06Padrão de cadastro mestre (MDM): regras REG-CM, DDL do schema mdm, consumo.

Histórico de revisões​

VersãoAlterações
1.0Criação a partir do antigo Doc 01 (Arquitetura Técnica, ARQ-AT-001 v2.0) e dos documentos Data Foundation — Estrutura e Ferramentas e Data Foundation — Tecnologias Utilizadas. O conteúdo de aplicação (frontend, backend transacional, autenticação de usuários, fluxo de sessão e esteira de desenvolvimento) foi retirado. A seção de resiliência da API de Cadastro Mestre, antes na Seção 5.3, passou a ser a Seção 6.