Pular para o conteúdo

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.

6
módulos
26
tópicos
60
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.