Avaliação Continuada 03¶
Atividade:¶
Questão 1¶
Uma empresa de e-commerce precisa armazenar o histórico de pedidos dos últimos 5 anos, totalizando cerca de 500 milhões de registros. A equipe de Business Intelligence realizará consultas analíticas complexas envolvendo agregações por região, categoria de produto e período, com foco em performance e baixo custo por consulta.
Considerando o cenário descrito, qual modelo de banco de dados é mais adequado?
a) Relacional (tabular), pois garante integridade referencial através de chaves estrangeiras.
b) Orientado a documentos, pois a flexibilidade de esquema permite armazenar produtos com diferentes atributos.
c) Colunar, pois é otimizado para consultas analíticas com agregações sobre grandes volumes de dados.
d) Relacional, pois utiliza SQL que é padrão da indústria para consultas.
e) Orientado a documentos, pois permite escalabilidade horizontal nativa.
Questão 2¶
Uma startup de desenvolvimento ágil está criando um aplicativo mobile cujo modelo de dados muda frequentemente conforme novos requisitos são descobertos. A aplicação precisa armazenar perfis de usuários com diferentes conjuntos de atributos (ex: alguns têm endereço, outros não; alguns têm preferências de notificação, outros não). A equipe prioriza velocidade de desenvolvimento e facilidade de evolução do esquema.
Qual modelo de banco de dados é mais adequado para este cenário?
a) Relacional (tabular), pois permite consultas complexas com JOIN entre tabelas.
b) Colunar, pois é otimizado para consultas analíticas.
c) Orientado a documentos, pois suporta esquema flexível e evolui facilmente com a aplicação.
d) Relacional, pois garante consistência ACID em transações.
e) Colunar, pois oferece melhor compressão de dados.
Questão 3¶
Uma instituição financeira precisa armazenar dados de transações bancárias onde a consistência dos dados é crítica (não pode haver duplicidade ou inconsistência entre contas). O sistema precisa garantir as propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) em operações que envolvem múltiplas tabelas (ex: débito de uma conta e crédito em outra).
Considerando os requisitos de consistência e transações, qual modelo de banco de dados é mais adequado?
a) Orientado a documentos, pois oferece alta escalabilidade horizontal.
b) Colunar, pois é otimizado para consultas analíticas.
c) Relacional (tabular), pois suporta transações ACID e integridade referencial nativamente.
d) Orientado a documentos, pois é mais rápido para operações de leitura.
e) Colunar, pois permite melhor compressão de dados.
Questão 4¶
Analise as afirmativas sobre modelos de banco de dados:
I. Bancos de dados colunares (ex: Amazon Redshift) armazenam dados por linha, o que os torna ideais para consultas que acessam todas as colunas de poucas linhas.
II. Bancos de dados orientados a documentos (ex: DynamoDB) utilizam esquema flexível, permitindo que diferentes documentos tenham estruturas diferentes.
III. Bancos de dados relacionais (ex: PostgreSQL) são otimizados para consultas analíticas sobre grandes volumes de dados.
Está correto o que se afirma em:
a) I, apenas
b) II, apenas
c) I e II, apenas
d) II e III, apenas
e) I, II e III
Questão 5¶
Uma empresa está migrando seu Data Warehouse para a nuvem AWS. Atualmente, possui 100 TB de dados históricos de vendas e precisa realizar consultas analíticas complexas que envolvem agregações sobre milhões de registros. O requisito principal é performance de consulta com custo controlado.
Qual serviço AWS é mais adequado para este cenário?
a) Amazon DynamoDB (orientado a documentos)
b) Amazon RDS (relacional)
c) Amazon Redshift (colunar)
d) Amazon S3 (armazenamento de objetos)
e) Amazon ElastiCache (cache em memória)
Questão Discursiva 1 - Cenário Integrador¶
Contexto:
Uma grande rede de varejo está modernizando sua arquitetura de dados. A empresa possui três necessidades distintas:
Sistema de vendas (OLTP): Processa milhares de transações por segundo (vendas, atualização de estoque, cadastro de clientes). Requer consistência ACID e integridade referencial. O modelo de dados é estável e bem definido.
Data Warehouse (OLAP): Armazena 10 anos de histórico de vendas (aproximadamente 5 PB) para consultas analíticas da diretoria (ex: "total de vendas por região e categoria nos últimos 5 anos"). Performance de consulta é crítica.
Catálogo de produtos: Gerenciado pela equipe de marketing, onde cada produto pode ter atributos diferentes (ex: eletrônicos têm voltagem, roupas têm tamanho e cor, alimentos têm data de validade). O esquema muda frequentemente conforme novas categorias são adicionadas.
Perguntas:
a) Para cada uma das três necessidades, identifique o modelo de banco de dados mais adequado (Relacional/Tabular, Colunar, Orientado a Documentos) e justifique sua escolha com base nas características de cada modelo.
b) A empresa está migrando para a AWS. Para cada necessidade, indique qual serviço AWS seria utilizado e explique brevemente sua função.
c) Discuta uma vantagem e uma desvantagem de cada modelo de banco de dados no contexto apresentado.
Questão Discursiva 2 - Cenário de Migração e Decisão Arquitetural¶
Contexto:
Uma startup de logística está crescendo rapidamente. Atualmente, utiliza um banco de dados relacional (PostgreSQL) para todas as suas necessidades. No entanto, com o crescimento, surgiram desafios:
Desafio 1: O sistema de rastreamento de entregas gera 1 milhão de eventos por hora (localização, status, temperatura). A tabela de eventos já tem 2 bilhões de linhas e as consultas analíticas estão cada vez mais lentas.
Desafio 2: As frotas de caminhões têm diferentes configurações (cada caminhão pode ter sensores diferentes, manutenções em momentos diferentes, motoristas com diferentes certificações). A equipe de produtos precisa adicionar novos atributos frequentemente, e as migrations no PostgreSQL estão se tornando complexas e demoradas.
Desafio 3: O sistema de cobrança e faturamento precisa garantir que cada entrega seja cobrada exatamente uma vez, com consistência absoluta entre as tabelas de entrega, rota e pagamento.
A startup está avaliando uma arquitetura de poliglotia persistente (múltiplos bancos de dados especializados) e contratou você como consultor de dados.
Perguntas:
a) Proponha uma arquitetura de dados utilizando os três modelos de banco de dados (Relacional, Colunar, Orientado a Documentos) para atender aos três desafios. Justifique por que cada modelo é mais adequado para cada desafio específico.
b) Considerando que a startup está na AWS, especifique quais serviços seriam utilizados para implementar cada modelo.
c) A equipe levantou a preocupação de que a poliglotia persistente aumenta a complexidade operacional. Descreva duas estratégias para gerenciar essa complexidade (ex: ferramentas de orquestração, replicação de dados, API gateway unificado).
d) Qual modelo de banco de dados NÃO seria adequado para o Desafio 1 (rastreamento de entregas) e por quê? Justifique com base nas características do modelo.