O IBGE é responsável no Brasil pela Classificação Nacional d...
Com os dados distribuídos dessa forma,
- Gabarito Comentado (1)
- Aulas (3)
- Comentários (2)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - as consultas a dados sumarizados podem ser otimizadas por meio da utilização de MapReduce.
Para entender por que essa alternativa está correta, é importante compreender o conceito de banco de dados distribuído e a técnica do MapReduce. Um banco de dados distribuído é aquele onde os dados não estão armazenados em uma única localização, mas ao invés disso, são distribuídos por várias localizações, podendo estas ser em diferentes máquinas, diferentes áreas geográficas, etc. O particionamento horizontal ou sharding é uma estratégia comum nesse tipo de banco de dados, onde cada 'shard' ou partição contém uma fração horizontal dos dados do banco, como por exemplo, os registros de empresas de um determinado estado.
Com relação ao MapReduce, essa é uma técnica de programação para processamento de dados e geração de resultados que pode ser muito eficiente em ambientes distribuídos. Isso porque o 'Map' distribui o processamento, mapeando a entrada de dados em diferentes nós para serem processados em paralelo, e o 'Reduce' agrega os resultados, resumindo-os em uma saída menor e consolidada.
No contexto do enunciado, a aplicação de MapReduce seria perfeitamente adequada para otimizar consultas a dados sumarizados em um banco de dados distribuído. Isso ocorre porque cada nó, responsável por uma partição de dados (neste caso, uma UF), poderia processar as consultas referentes aos seus dados localmente (a fase Map) e, depois, um processo de redução poderia combinar os resultados locais em um resultado global sumarizado (a fase Reduce).
Vamos agora entender por que as outras alternativas não são corretas:
- A - Uma falha em uma infraestrutura de TIC de um estado não necessariamente inviabiliza o uso de todo o banco de dados. Isso dependeria do design do sistema e dos mecanismos de tolerância a falhas implementados.
- B - As propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) podem ser mais difíceis de garantir em transações distribuídas, mas não é verdade que não podem ser garantidas. Existem protocolos e técnicas, como o two-phase commit, que buscam garantir essas propriedades mesmo em transações distribuídas.
- D - Os metadados de um banco de dados distribuído normalmente são replicados ou distribuídos de alguma forma para garantir a disponibilidade e a eficiência das consultas. Eles não precisam estar localizados apenas na sede.
- E - Apesar de em alguns casos os programas precisarem saber a localização dos dados, muitos sistemas de bancos de dados distribuídos oferecem uma camada de abstração que esconde a localização física dos dados, permitindo que as consultas sejam feitas como se o banco de dados fosse centralizado.
Por isso, dentre as opções apresentadas, a melhor resposta é a que indica o uso da técnica de MapReduce para otimizar consultas a dados sumarizados em um banco de dados distribuído com particionamento horizontal.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A) Errada - O particionamento horizontal (sharding) distribui os dados entre diferentes infraestruturas, o que significa que a falha em uma infraestrutura não inviabiliza o uso de todo o banco de dados. Cada infraestrutura mantém seus próprios dados.
B) Errada - As propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) podem ser garantidas em transações distribuídas, mas implementar transações distribuídas pode ser mais complexo do que em ambientes centralizados.
C) Certa - O MapReduce pode ser utilizado para otimizar consultas a dados sumarizados em ambientes distribuídos. Ele permite a distribuição e processamento paralelo de operações de consulta em grandes conjuntos de dados.
D) Errada - Os metadados podem ser distribuídos ou replicados para as diferentes infraestruturas para melhorar o desempenho e a disponibilidade do sistema. Eles não precisam ficar exclusivamente na sede.
E) Errada - Geralmente, os programas que consultam esses dados não precisam saber onde os dados estão fisicamente localizados. Esses detalhes de implementação são gerenciados pelo sistema de gerenciamento de banco de dados distribuído.
não concordo muito com a resposta da banca, principalmente que em modelos distribuidos temos o BASE ao invés do ACID. Nem todo banco de dados NoSQL vai dar suporte a ACID. Tendo assim teriamos que ter aplicações externas para fornecer ajuda.
É o velho ditado a B pode ta certa, mas a C ta mais. Isso devia ser inadmissível em provas de concurso
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo