Questão de Banco de Dados — Conceitos Gerais de NoSQL — CESPE / CEBRASPE 2024
- Código
- ce403636
- Banca
- CESPE / CEBRASPE
- Órgão
- BACEN
- Ano
- 2024
- Cargo
- Ana ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: Certo. O sharding é uma técnica de particionamento horizontal de dados que distribui as partições entre diferentes nós de um cluster, permitindo que as operações de leitura e escrita sejam processadas em paralelo, o que melhora o balanceamento de carga entre os nós. Essa é uma das principais estratégias para alcançar a escalabilidade horizontal em bancos de dados NoSQL.
O sharding, também conhecido como particionamento horizontal, consiste em dividir um conjunto de dados em partições menores (shards) e distribuí-las entre vários servidores ou nós de um cluster. Cada nó fica responsável por uma parte dos dados, e as consultas podem ser direcionadas apenas aos nós que contêm os dados relevantes, reduzindo a carga sobre cada nó individual. Essa distribuição permite que o sistema processe um volume maior de requisições simultâneas, pois o trabalho é dividido entre os nós, evitando que um único nó se torne um gargalo.
A escalabilidade horizontal é uma característica fundamental dos bancos de dados NoSQL, que foram projetados para operar em clusters de máquinas comerciais, como destacado no material de apoio: "A escalabilidade horizontal tende a ser uma solução mais viável, porém requer que diversas threads/processos de uma tarefa sejam criadas e distribuídas. Uma alternativa muito conhecida para alcançar escalabilidade horizontal é o Sharding, que consiste em dividir os dados em múltiplas tabelas a serem armazenadas ao longo de diversos nós de uma rede." Essa técnica é amplamente utilizada em bancos como MongoDB, Cassandra e HBase.
O balanceamento de carga é um dos objetivos centrais do sharding. Ao distribuir os dados e as requisições entre os nós, evita-se que um nó fique sobrecarregado enquanto outros ficam ociosos. Isso melhora o desempenho geral do sistema e a utilização dos recursos. Além disso, o sharding também contribui para a disponibilidade e a tolerância a falhas, pois se um nó falhar, os demais continuam operando com suas partições.
É importante não confundir sharding com replicação. Enquanto o sharding divide os dados em partições distintas (cada dado fica em um único nó), a replicação copia os dados para múltiplos nós (cada nó possui uma cópia completa ou parcial). Ambas as técnicas podem ser combinadas para aumentar a escalabilidade e a disponibilidade, mas são conceitos distintos.
A banca explora a associação correta entre sharding e balanceamento de carga, que é um conhecimento essencial sobre bancos de dados NoSQL. O candidato que domina esse conceito identifica facilmente que a afirmação está correta.
A afirmação está correta. O sharding é uma técnica de particionamento horizontal que distribui os dados entre vários nós, e um de seus principais objetivos é justamente melhorar o balanceamento de carga, evitando que um único nó fique sobrecarregado. Essa é uma característica fundamental para a escalabilidade horizontal dos bancos de dados NoSQL.
A afirmação não é errada; ela está correta. O sharding, ao distribuir os dados entre os nós, contribui diretamente para o balanceamento de carga, pois as requisições são processadas em paralelo pelos nós que contêm as partições relevantes. Portanto, a alternativa E está incorreta.
Gabarito: Certo (C).
Link permanente: /questoes/ce403636