DevOps ‐ Database - QuantumBitBR/API_5SEM GitHub Wiki

1. Introdução

Este documento define o padrão para documentação do projeto no GitHub Wiki, garantindo consistência, clareza e facilidade de manutenção das estruturas criadas no Data Warehouse (DW). Serão abordados os aspectos do DevOps aplicado ao DW, a organização das tabelas fato e dimensionais, bem como a evolução por sprint.

2. Estrutura Geral

2.1 Seção: DevOps

Visão Geral

O DevOps deste projeto foi estruturado para atender às necessidades específicas de versionamento, compatibilidade e controle das evoluções no Data Warehouse.

Explicação do conceito

  • Versionamento do DW: Cada alteração nas estruturas do DW é versionada manualmente ou com auxílio do Liquibase.
  • Compatibilidade: As versões são documentadas para garantir a compatibilidade com front-end, back-end e ETL.

Objetivo no projeto

Manter o controle preciso sobre mudanças no DW, facilitando rollback, rastreabilidade e auditoria de versões, evitando impactos indesejados nos demais componentes da aplicação.

Implementação

  • Sprint 1: Scripts manuais aplicados com controle por branches.
  • Sprint 2 e 3: Uso de Liquibase com arquivos de changelog versionados.

Desafios e soluções

  • Desafio: Falta de padronização inicial.

    • Solução: Adoção de templates fixos e Liquibase a partir da Sprint 2.
  • Desafio: Falta de rastreabilidade de versões por sprint.

    • Solução: Inclusão de tag por versão no Git.

Justificativas

A estrutura adotada permite mais controle sobre as alterações no banco e menor risco de inconsistência entre ambientes.

Decisões de arquitetura

  • Uso de Liquibase a partir da Sprint 2.
  • Estruturação do banco em formato de Data Warehouse, com separação entre tabelas fato e dimensionais.
  • Armazenamento de arquivos no servidor, com persistência apenas do caminho no banco de dados.

"O controle de versões com Liquibase nos permitiu reverter alterações incorretas de forma rápida, garantindo a integridade do DW."

2.2 Seção: Produto & Desenvolvimento

Regras de Desenvolvimento

  • Uso obrigatório de versionamento.
  • Nomeclatura padrão para arquivos: v1.0.sql.

Solução do Produto

O DW foi projetado para agregar dados de diferentes fontes do sistema, transformando-os em estruturas otimizadas para análise, com foco em desempenho e rastreabilidade. Para criar uma versão execute:

liquibase generateChangeLog

Diagrama de arquitetura e compatibilidades

Versão V1.0 | Data do deploy: 30/03/2025

  • Diagrama Estrela
  • Script SQL
  • Front-end
  • Back-end
  • ETL

Versão V2.0 | Data do deploy: 27/04/2025

  • Diagrama Estrela
  • Script SQL
  • Front-end
  • Back-end
  • ETL

Versão V3.0 | Data do deploy: 25/05/2025

  • Diagrama Estrela
  • Script SQL
  • Front-end
  • Back-end
  • ETL

Resultados

  • Scripts versionados com sucesso.
  • Tabelas integradas no ambiente de teste.