Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Designing Data-Intensive Applications

Prova 1 · Fundamentos dos sistemas de dados

Parte I (cap. 1–5): OLTP × OLAP, nuvem, requisitos não funcionais, modelos de dados, armazenamento, busca vetorial, codificação e fluxo de dados

Objetivas

0/20 respondidas
1.
Uma fintech roda relatórios de risco pesados direto no banco de transações e os pagamentos ficam lentos no fim do mês. O que o livro recomenda?
2.
O índice de busca e o cache são apagados por um erro de operação. O que permite recuperá-los?
3.
Uma startup com 10 mil usuários quer adotar 30 microserviços "para escalar". Qual crítica o livro sustenta?
4.
Uma API tem média de 120 ms e p99 de 4 s. O que se conclui?
5.
Num Twitter simplificado, fazer fan-out na escrita para todos os seguidores é ruim para:
6.
Um sistema roda em 3 zonas de disponibilidade com réplicas. Um bug no código derruba as três ao mesmo tempo. A lição:
7.
Um app guarda pedidos com itens aninhados (lidos juntos) e também precisa de relatórios por produto entre todos os pedidos. Melhor escolha:
8.
Qual afirmação sobre schema-on-read é correta?
9.
Uma plataforma de auditoria precisa saber o estado de cada conta em qualquer data passada. Qual modelagem facilita?
10.
Um banco de métricas recebe muitas escritas e lê por faixas de tempo. Ele usa LSM-tree. Qual custo esperar?
11.
Por que bancos analíticos usam armazenamento colunar e bancos OLTP, por linha?
12.
Um sistema de RAG retorna trechos irrelevantes para perguntas com sinônimos. A equipe usa só índice invertido. O que adicionar?
13.
Um índice HNSW responde em 5 ms, mas às vezes não retorna o vizinho mais próximo exato. Isso é:
14.
Uma tabela de warehouse com 1 bilhão de linhas é ordenada por data. Qual o ganho?
15.
No Protocol Buffers, um campo foi removido e a equipe quer reutilizar sua tag para um campo novo. Qual o risco?
16.
Durante um rolling upgrade, convivem versões v1 e v2 do serviço lendo o mesmo banco. O que é necessário?
17.
Uma chamada RPC a um serviço de envio de SMS dá timeout. Repetir pode enviar dois SMS. A solução estrutural:
18.
Um processo de onboarding chama 5 serviços externos em sequência e pode levar dias (espera de aprovação). Qual abordagem do capítulo encaixa?
19.
Qual é a vantagem de comunicar serviços por eventos num broker em vez de chamadas síncronas?
20.
Uma empresa precisa apagar todos os dados de um cliente (LGPD) e tem banco, warehouse, índice de busca e índice vetorial. O que torna isso viável?

Dissertativas

autoavaliação · não entram na nota
D1.
Explique por que a média é inadequada para medir latência e como percentis e a amplificação da cauda devem orientar o desenho de um serviço que agrega várias chamadas.
Ver resposta modelo
A média é distorcida por extremos e não diz quantos usuários sofrem. Percentis (p50, p95, p99) mostram a experiência típica e a da cauda. Quando uma requisição depende de N chamadas em paralelo, a chance de pelo menos uma cair na cauda cresce com N, então o p99 de cada serviço vira experiência comum do usuário. O desenho deve definir SLOs em percentis, reduzir o número de dependências por requisição, usar timeouts e réplicas para cortar a cauda e medir do lado do cliente.
D2.
Compare LSM-trees e B-trees quanto a escrita, leitura, espaço e recuperação de falhas. Dê um exemplo de carga para cada um.
Ver resposta modelo
LSM escreve em memória e descarrega em SSTables ordenadas e imutáveis, com compactação em segundo plano; ganha vazão de escrita e compressão, mas a leitura pode consultar vários níveis (Bloom filters ajudam) e a compactação compete por recursos. B-tree atualiza páginas no lugar, com WAL para recuperação; dá leitura previsível e cada chave num lugar só, mas escreve de forma aleatória e fragmenta. Ambos têm amplificação de escrita. LSM: telemetria e logs com muitas escritas. B-tree: sistema transacional com leituras pontuais frequentes.
D3.
Descreva como embeddings e índices vetoriais se encaixam na arquitetura de dados de uma aplicação com LLM (RAG), tratando-os como dados derivados.
Ver resposta modelo
Os documentos ficam no sistema de registro. Um pipeline (batch ou stream via CDC) divide os textos, gera embeddings com um modelo e grava num índice vetorial (ANN, como HNSW ou IVF). Na consulta, a pergunta vira embedding, o índice retorna os trechos mais próximos e eles vão ao LLM como contexto. Como o índice é derivado, pode ser reconstruído ao trocar de modelo ou corrigir a divisão; deve acompanhar atualizações e exclusões da fonte (inclusive por LGPD) e pode ser combinado com busca textual.
Seu progresso fica salvo neste navegador.