Questão nº 73
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 73)
O departamento de Tecnologia da Informação de um Tribunal de Contas estadual detectou uma lentidão nas consultas aos registros de casos judiciais. Após uma análise detalhada, constatou-se que alguns servidores de banco de dados estavam sobrecarregados, enquanto outros permaneciam subutilizados.
Uma solução viável para corrigir esse desequilíbrio seria
- Aparticionar tabelas por lista para dividir os casos por tipo.
- Bparticionar tabelas por intervalo para dividir os casos por ano.
- Cparticionar tabelas por intervalo para dividir os casos por identificador único de cada caso.
- Dparticionar tabelas por lista para dividir casos por localização geográfica.
- Eparticionar tabelas por hash com base no identificador único de cada caso. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Particionamento de tabelas é uma técnica que divide uma tabela grande em partes menores, chamadas partições, para melhorar o desempenho de consultas e distribuir a carga de trabalho de forma mais eficiente entre os servidores. O objetivo é evitar que um único servidor ou parte da tabela fique sobrecarregado.
(A) Incorreta: Particionar por lista (tipo de caso) pode resultar em desequilíbrio, pois um tipo específico de caso pode ter muito mais registros ou ser mais consultado, sobrecarregando uma única partição e servidor.
(B) Incorreta: Particionar por intervalo (ano) pode causar desequilíbrio, já que anos mais recentes geralmente contêm mais dados ativos e são mais consultados, sobrecarregando as partições correspondentes enquanto as antigas ficam subutilizadas.
(C) Incorreta: Particionar por intervalo com identificador único sequencial pode criar um "hotspot" na última partição, onde novos registros são inseridos e as consultas mais recentes são feitas, desequilibrando a carga. (Armadilha da banca: usar um identificador único parece bom, mas o método "por intervalo" em um ID sequencial não distribui a carga de forma uniforme ao longo do tempo, concentrando-a nas partições mais recentes.)
(D) Incorreta: Particionar por lista (localização geográfica) pode levar a desequilíbrio se uma região tiver significativamente mais casos ou consultas, sobrecarregando a partição e o servidor associados a essa localização.
(E) Correta: Particionar por hash com base no identificador único de cada caso é a solução ideal para balancear a carga. O hash distribui os dados de forma aleatória e uniforme entre as partições, garantindo que nenhum servidor fique sobrecarregado e que todos sejam utilizados de maneira equilibrada, resolvendo o problema de sobrecarga e subutilização.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.