Materiais e ambiente
Bibliografia, stack de ferramentas por camada, templates e as fontes de dados abertos sugeridas para o Projeto Integrado.
Stack
Toda a stack é software livre e roda localmente, em Docker Compose, sem custo de nuvem. Onde há mais de uma opção na mesma camada, a escolha é da Squad — e vira um ADR.
| Camada | Ferramenta | Para que serve aqui |
|---|---|---|
| Transacional Módulo I | PostgreSQL | Base de tudo. Também é a opção nula de quase todo ADR da disciplina. |
| pgvector | Extensão de busca vetorial. Fora do conteúdo do plano; disponível para o Seminário Técnico de busca vetorial. | |
| PostGIS | Extensão geoespacial, útil em domínios de mobilidade e saneamento. | |
| Analítico local Módulo III | DuckDB | OLAP em processo, lê Parquet direto do disco ou do MinIO. |
| Armazenamento de objetos Módulo II | MinIO | Compatível com S3, roda em contêiner. |
| Formatos e tabelas abertas Módulo II | Apache Parquet | Formato colunar. Obrigatório na camada analítica da E2. |
| Apache Iceberg | Tabela aberta com evolução de esquema e viagem no tempo. | |
| Delta Lake | Alternativa a Iceberg. A escolha entre os dois é ADR. | |
| Fluxo e captura de mudanças Módulo II | Redpanda | Log distribuído compatível com Kafka, mais leve para rodar na máquina. |
| Apache Kafka | Alternativa a Redpanda. | |
| Debezium | CDC por decodificação lógica do WAL do PostgreSQL. | |
| Transformação Módulo III | dbt | Transformação declarativa versionada, com testes nativos. |
| SQLMesh | Alternativa a dbt, com plano de mudança e backfill explícitos. | |
| Orquestração Módulo III | Apache Airflow | Grafo de dependência, agendamento, retry e backfill. |
| Dagster | Alternativa a Airflow, orientada a ativo de dado em vez de tarefa. | |
| Não relacionais Módulo II | MongoDB | Documento. |
| Neo4j | Grafo. | |
| Redis | Chave-valor em memória. | |
| Qualidade de dados Módulo III | Great Expectations | Testes de distribuição e perfilamento, além dos testes da ferramenta de transformação. |
| Catálogo e linhagem Módulo IV | OpenMetadata | Catálogo, linhagem e classificação de dado. |
| DataHub | Alternativa a OpenMetadata. | |
| Consumo Módulo III | Metabase | Painel analítico, curva de entrada curta. |
| Apache Superset | Alternativa a Metabase, mais configurável. | |
| Empacotamento Módulo I | Docker Compose | Toda a plataforma sobe com um comando. É critério da avaliação de Entrega. |
| GitHub Actions | CI no repositório da Squad. |
Apostila
Material de apoio da disciplina, cobrindo os fundamentos do Módulo I.
Templates
- Template de ADR (formato Nygard) — O mesmo template usado nos ADRs deste site.
- Template de diário de bordo da Squad — Registro semanal: o que foi medido, o que surpreendeu, o que foi decidido.
- Template de AI-USAGE.md — Registro de uso de assistentes e agentes de IA, exigido pela política da disciplina.
Bibliografia básica
| Obra | Módulo | Papel na disciplina |
|---|---|---|
| Fundamentos de Engenharia de Dados: projete e construa sistemas de dados robustos REIS, J.; HOUSLEY, M. Novatec, 2023 | todos | É o conteúdo da disciplina: as 16 Semanas percorrem os capítulos 1 a 11 e os dois apêndices, na ordem do livro. Tradução de Fundamentals of Data Engineering (O'Reilly, 2022); a numeração de capítulos é idêntica nas duas edições. |
| Designing Data-Intensive Applications KLEPPMANN, M. O'Reilly, 2017 | I e II | Aprofunda os sistemas distribuídos das Semanas 4 e 8 — replicação, particionamento e consistência. |
| Database System Concepts SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. 7. ed. McGraw-Hill, 2019 | pré-requisito | Internals de SGBD — conteúdo de Introdução a Banco de Dados, retomado aqui como consulta. Slides e material de apoio abertos no site oficial. |
| The Data Warehouse Toolkit KIMBALL, R.; ROSS, M. 3. ed. Wiley, 2013 | III | Aprofunda a modelagem dimensional da Semana 11. |
| Sistemas de Banco de Dados ELMASRI, R.; NAVATHE, S. 7. ed. Pearson, 2018 | pré-requisito | Apoio em português ao conteúdo de Introdução a Banco de Dados. |
Bibliografia complementar
| Obra | Módulo | Acesso |
|---|---|---|
| Database Internals PETROV, A. O'Reilly, 2019 | I | Biblioteca |
| SQL Performance Explained WINAND, M. 2012 | I | Aberto |
| NoSQL Distilled SADALAGE, P.; FOWLER, M. Addison-Wesley, 2012 | II | Biblioteca |
| Data Pipelines Pocket Reference DENSMORE, J. O'Reilly, 2021 | II e III | Biblioteca |
| Tecnologia e Projeto de Data Warehouse MACHADO, F. N. R. 6. ed. Érica, 2013 | III | Biblioteca |
| DAMA-DMBOK: Data Management Body of Knowledge DAMA INTERNATIONAL 2. ed. 2017 | IV | Biblioteca |
| Lei nº 13.709/2018 — Lei Geral de Proteção de Dados Pessoais BRASIL 2018 | IV | Aberto |
| Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs MALKOV, Y.; YASHUNIN, D. IEEE TPAMI, 2020 | IV | Aberto |
| Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks LEWIS, P. et al. NeurIPS, 2020 | IV | Aberto |
| Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics ARMBRUST, M. et al. CIDR, 2021 | II | Aberto |
| Documenting Architecture Decisions NYGARD, M. 2011 | todos | Aberto |
Fontes de dados abertos
Sugestões para o Projeto Integrado. A Squad pode propor outro domínio, desde que tenha volume suficiente e um componente textual — a E4 depende dele.
- Portal Brasileiro de Dados Abertos
- SNIS — Sistema Nacional de Informações sobre Saneamento
- IBGE — portal de dados
- Portal da Transparência
Licenciamento do material
O código e o conteúdo deste site estão sob licença MIT: use, adapte e republique, inclusive em outra instituição, mantendo o aviso de copyright.
Material de terceiros incorporado ao repositório — figuras de livros, datasets, trechos de documentação — mantém a licença de origem e exige crédito. A MIT deste repositório não relicencia obra alheia.