Skip to content

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.