Trilha de estudo
Trilha Projetando Aplicações Intensivas em Dados: tudo o que estudar, tópico por tópico
Domine os princípios, padrões e trade-offs no projeto de sistemas de dados confiáveis, escaláveis e mantíveis. Cubra os fundamentos de banco de dados, modelos de dados, indexação, replicação, consistência, particionamento e processamento de streams.
Resposta curta
Para aprender Projetando Aplicações Intensivas em Dados, percorra 6 módulos e 26 tópicos na ordem em que um apoia o próximo. Comece por Fundações e siga para Modelos de Dados e Linguagens de Consulta e Armazenamento e Indexação. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundações3 tópicos
Fundamentos de I/O de Disco
Compreenda o tempo de busca de disco, latência rotacional, padrões de acesso sequencial vs. aleatório e como as características do disco impactam o design do banco de dados.
Objetivos
- Explicar como a latência de I/O de disco afeta o desempenho das consultas
- Descrever o trade-off entre tempo de busca e throughput
- Comparar padrões de acesso sequencial vs. aleatório
Conceitos-chave
- tempo de busca de disco
- latência rotacional
- acesso sequencial
- acesso aleatório
- tamanho de página
Tipos de Banco de Dados e Comparação
Visão geral de bancos de dados relacional, NoSQL, em-memória e especializados com análise de casos de uso.
Objetivos
- Classificar bancos de dados por arquitetura e caso de uso
- Comparar padrões de carga OLTP vs. OLAP
- Identificar quando usar relacional vs. NoSQL
Conceitos-chave
- OLTP
- OLAP
- bancos de dados relacional
- NoSQL
- data warehouses
Conceitos de Armazenamento
Armazenamento em-memória vs. baseado em disco, durabilidade, write-ahead logs e gerenciamento de memória.
Objetivos
- Explicar as garantias de durabilidade do armazenamento em-memória vs. disco
- Descrever como write-ahead logs habilitam recuperação de falhas
- Analisar trade-offs entre velocidade e durabilidade
Conceitos-chave
- armazenamento em-memória
- armazenamento baseado em disco
- write-ahead logs
- durabilidade
- volatilidade
2 · Modelos de Dados e Linguagens de Consulta4 tópicos
Modelos de Dados Relacional vs. Documento
Comparar modelos de dados relacional (normalizado) e documento (desnormalizado) com implicações de normalização e design de schema.
Objetivos
- Contrastar normalização relacional com flexibilidade de documentos
- Explicar o problema de join em bancos de dados relacionais
- Analisar evolução de schema em document stores
Conceitos-chave
- normalização
- desnormalização
- joins
- modelo de documento
- flexibilidade de schema
Modelos de Dados em Grafo
Representações de dados baseadas em grafo, consultas em grafo, travessias e casos de uso em sistemas de recomendação e redes sociais.
Objetivos
- Modelar relacionamentos usando estruturas de grafo
- Escrever e otimizar consultas de travessia em grafo
- Aplicar padrões de grafo a sistemas de recomendação
Conceitos-chave
- vértices
- arestas
- consultas em grafo
- travessia em grafo
- algoritmos de caminho
Padrões de Design de Schema
Design de schema para bancos de dados relacional e documento, incluindo padrões de desnormalização, documentos aninhados e evoluibilidade.
Objetivos
- Projetar schemas escaláveis para cargas de leitura/escrita
- Aplicar padrões de desnormalização efetivamente
- Gerenciar evolução de schema ao longo do tempo
Conceitos-chave
- design de schema
- desnormalização
- documentos aninhados
- migração de schema
- compatibilidade reversa
Linguagens de Consulta e Otimização
SQL, linguagens de consulta declarativas, otimização de consultas e índices para desempenho de consultas.
Objetivos
- Escrever consultas SQL otimizadas
- Entender planos de execução de consulta
- Aplicar índices para melhorar o desempenho das consultas
Conceitos-chave
- SQL
- planos de execução de consulta
- estimativa de custo
- otimização de consulta
- busca full-text
3 · Armazenamento e Indexação5 tópicos
Estruturas de Índice B-Tree
Estrutura de dados B-tree, propriedades de balance, algoritmos de inserção/deleção e por que bancos de dados usam B-trees para indexação.
Objetivos
- Explicar a estrutura B-tree e rebalanceamento
- Analisar o custo de operações B-tree
- Comparar B-trees com hash indexes
Conceitos-chave
- B-tree
- balance
- divisão de nó
- consultas de range
- ordem classificada
SSTables e LSM Trees
Log-Structured Merge trees, amplificação de escrita, compactação e seu uso em bancos de dados modernos como RocksDB e Cassandra.
Objetivos
- Explicar a arquitetura LSM tree e estratégias de compactação
- Analisar amplificação de escrita em LSM trees
- Comparar LSM trees vs. B-trees para diferentes cargas de trabalho
Conceitos-chave
- LSM tree
- SSTables
- memtable
- compactação
- amplificação de escrita
Estratégias de Indexação
Índices primários vs. secundários, índices de múltiplas colunas, busca full-text e bitmap indexes.
Objetivos
- Projetar estratégias de índice eficazes para padrões de consulta
- Otimizar índices de múltiplas colunas
- Aplicar busca full-text para dados de texto
Conceitos-chave
- índice primário
- índice secundário
- índice cobridor
- busca full-text
- bitmap index
Compressão e Codificação
Técnicas de compressão de dados, esquemas de codificação e seu impacto no armazenamento e desempenho de consultas.
Objetivos
- Aplicar técnicas de compressão para reduzir armazenamento
- Balancear taxa de compressão vs. desempenho de consulta
- Implementar esquemas de codificação para diferentes tipos de dados
Conceitos-chave
- compressão de dicionário
- run-length encoding
- entropy encoding
- compressão colunar
Execução e Otimização de Consulta
Planejamento de consulta, estimativa de custo, algoritmos de join e técnicas avançadas de otimização.
Objetivos
- Entender geração de plano de consulta e modelos de custo
- Otimizar consultas complexas de múltiplos joins
- Aplicar técnicas de adaptive query execution
Conceitos-chave
- query planner
- estimativa de custo
- algoritmos de join
- histograma de estatísticas
- adaptive query execution
4 · Replicação e Consistência5 tópicos
Replicação Líder-Seguidor
Replicação master-slave, replicação síncrona vs. assíncrona, replication lag e tratamento de falhas.
Objetivos
- Explicar topologia de replicação líder-seguidor
- Analisar eventual consistency e replication lag
- Lidar com cenários de failover
Conceitos-chave
- replicação master-slave
- replication lag
- replicação síncrona
- failover
- replica
Replicação Multi-Líder
Replicação multi-master, resolução de conflitos e desafios no gerenciamento de escritas em múltiplos líderes.
Objetivos
- Comparar replicação multi-líder vs. single-leader
- Implementar estratégias de resolução de conflitos
- Lidar com write conflicts em sistemas geo-distribuídos
Conceitos-chave
- multi-master
- write conflicts
- conflict resolution
- last-write-wins
- custom conflict resolver
Modelos de Consistência
Consistência forte, eventual, causal e de sessão com trade-offs e implicações para sistemas distribuídos.
Objetivos
- Entender garantias de consistência e trade-offs
- Aplicar modelos de consistência apropriados a casos de uso
- Analisar implicações de consistência para aplicações
Conceitos-chave
- strong consistency
- eventual consistency
- causal consistency
- session consistency
- consistency ordering
Transações ACID vs. BASE
Propriedades ACID, propriedades BASE, semântica de transações e quando aplicar cada modelo.
Objetivos
- Explicar garantias ACID e níveis de isolamento
- Comparar trade-offs ACID vs. BASE
- Escolher semântica de transação apropriada para aplicações
Conceitos-chave
- Atomicity
- Consistency
- Isolation
- Durability
- BASE
- eventual consistency
Algoritmos de Consenso
Paxos, Raft, tolerância a faltas Bizantinas e alcançar acordo em sistemas distribuídos.
Objetivos
- Entender o algoritmo de consenso Raft
- Analisar Paxos e sua complexidade
- Aplicar consenso para decisões coordenadas
Conceitos-chave
- Paxos
- Raft
- tolerância a faltas Bizantinas
- eleição de líder
- quorum
5 · Particionamento e Escalabilidade5 tópicos
Sharding e Particionamento
Estratégias de particionamento de dados, chaves de sharding, particionamento baseado em range e hash com rebalanceamento.
Objetivos
- Escolher chaves de sharding eficazes
- Entender particionamento baseado em range vs. hash
- Gerenciar rebalanceamento de dados entre shards
Conceitos-chave
- sharding
- partition key
- range-based partitioning
- hash-based partitioning
- rebalanceamento
Distributed Joins
Executar joins em dados particionados, estratégias de colocation e lidar com joins em chaves diferentes.
Objetivos
- Otimizar execução de distributed joins
- Aplicar estratégias de colocation
- Lidar com joins de múltiplas partições eficientemente
Conceitos-chave
- distributed join
- colocation
- broadcast join
- shuffle join
- three-way join
Problemas de Hot Key
Identificar hot keys, estratégias de mitigação como replicação, divisão e micro-particionamento.
Objetivos
- Identificar e medir hot keys
- Aplicar estratégias de mitigação
- Monitorar e prevenir load skew
Conceitos-chave
- hot key
- load skew
- micro-partitioning
- key-level replication
- scattering
Dados Distorcidos e Load Balancing
Lidar com distribuições de dados distorcidas, particionamento adaptativo e rebalanceamento de carga em sistemas distribuídos.
Objetivos
- Detectar e medir data skew
- Aplicar particionamento adaptativo
- Implementar load balancing dinâmico
Conceitos-chave
- data skew
- adaptive partitioning
- load balancing
- dynamic rebalancing
Transações Distribuídas
Two-phase commit, padrão saga, transações compensatórias e manter consistência em partições.
Objetivos
- Implementar two-phase commit
- Aplicar padrão saga para transações distribuídas
- Lidar com falhas de transações e compensação
Conceitos-chave
- two-phase commit
- saga pattern
- compensating transaction
- event-driven choreography
6 · Processamento de Streams4 tópicos
Arquiteturas de Streaming de Eventos
Logs de eventos, brokers de mensagens, Kafka e sistemas de processamento de stream com garantias e semântica.
Objetivos
- Projetar arquiteturas de streaming de eventos
- Entender ordenação de mensagens e particionamento
- Aplicar Kafka para sistemas de eventos escaláveis
Conceitos-chave
- event log
- message broker
- Kafka
- topic
- partition
- offset
Semântica de Exatamente Uma Vez
Semântica de entrega (at-most-once, at-least-once, exactly-once) e implementar processamento exactly-once.
Objetivos
- Entender trade-offs de semântica de entrega
- Implementar processamento exactly-once
- Aplicar idempotência para deduplication
Conceitos-chave
- at-most-once
- at-least-once
- exactly-once
- idempotent
- deduplication
Stream Joins e Windowing
Time windows, stream joins, sessionization e lidar com eventos fora de ordem.
Objetivos
- Aplicar estratégias de windowing para agregação de stream
- Implementar stream joins em tabelas
- Lidar com eventos que chegam atrasados e fora de ordem
Conceitos-chave
- time window
- sliding window
- stream join
- sessionization
- watermark
Event Sourcing e CQRS
Event sourcing como padrão de design, separação de responsabilidade de comando-consulta (CQRS) e reconstrução de estado.
Objetivos
- Projetar sistemas com event sourcing
- Implementar padrão CQRS
- Gerenciar modelos de leitura e escrita independentemente
Conceitos-chave
- event sourcing
- CQRS
- event store
- command
- query model
- state reconstruction
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Projetando Aplicações Intensivas em Dados?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Projetando Aplicações Intensivas em Dados?
Comece por Fundações: Fundamentos de I/O de Disco, Tipos de Banco de Dados e Comparação e Conceitos de Armazenamento. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Projetando Aplicações Intensivas em Dados?
Uma avaliação completa desta trilha leva cerca de 60 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.