Pular para o conteúdo principal

Questão de Banco de Dados — DW - Data Warehouse — FGV 2026

Banco de DadosDW - Data Warehouse
Código
fg127357
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Banco de Dados)
Em um Data Warehouse de telecomunicações, a Tabela Fato de chamadas registra bilhões de tuplas. O DBA percebe que certas colunas de dimensão, como PLANO_TARIFA (com poucas centenas de valores distintos) e SINAL_4G (booleanos), são frequentemente usadas em cláusulas WHERE com operadores lógicos (AND, OR).O tipo de índice mais adequado para otimizar a performance de consultas que envolvem essas colunas de baixa cardinalidade em um DW é o
  1. AÍndice B+ Tree Clustered
  2. BÍndice Hash Estático
  3. CÍndice de Bitmap
  4. DÍndice Full-Text
  5. EÍndice B+ Tree Não-Clustered
Revelar gabarito e comentário

GabaritoC — Índice de Bitmap

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Índices para Data Warehouse: Bitmap x B+ Tree

Gabarito: letra C. O índice de bitmap é o mais adequado para colunas de baixa cardinalidade (poucos valores distintos) e consultas com operadores lógicos (AND, OR) em Data Warehouses com tabelas fato volumosas, pois cada valor distinto possui um bitmap e as operações booleanas são feitas com operações bit a bit, extremamente rápidas mesmo em bilhões de registros.

A questão explora a escolha do tipo de índice para otimizar consultas em um ambiente de Data Warehouse (DW), caracterizado por grandes volumes de dados e consultas analíticas. As colunas mencionadas — PLANO_TARIFA (centenas de valores) e SINAL_4G (booleano) — são de baixa cardinalidade, e o índice de bitmap é projetado exatamente para esse cenário.

Alternativa A — ❌ Incorreta

Índice B+ Tree Clustered reorganiza fisicamente a tabela pela chave do índice, o que é útil para consultas por intervalo (range scan) e acesso sequencial. Porém, para colunas com poucos valores distintos, a seletividade é baixa; as operações AND/OR exigiriam múltiplas buscas e combinação de listas de RIDs, com desempenho inferior ao bitmap. Além disso, a manutenção em tabelas fato enormes (inserções em lote) é custosa.

Alternativa B — ❌ Incorreta

Índice Hash Estático é eficiente apenas para buscas por igualdade exata (equality lookup). Não suporta operações de intervalo nem é otimizado para combinações lógicas com AND/OR. Sua estrutura não se beneficia da baixa cardinalidade das colunas.

Alternativa C — ✅ Correta ⟵ GABARITO

O índice de bitmap armazena, para cada valor distinto de uma coluna, uma sequência de bits onde cada bit representa uma linha da tabela (1 = linha contém aquele valor; 0 = não contém). Operações AND, OR e NOT são executadas como operações bit a bit, extremamente rápidas. É a técnica padrão em Data Warehouses para colunas de baixa cardinalidade (geralmente < 1% de valores distintos em relação ao total de linhas), como faixas etárias, categorias de produtos, planos tarifários e flags booleanas.

NÃO CAIA NESSA!

A banca pode tentar confundir o candidato com índices tradicionais (B+ Tree) que são a escolha natural em bancos transacionais (OLTP). Em Data Warehousing (OLAP), porém, o bitmap é o mais indicado para filtros combinados em dimensões de baixa cardinalidade. A pegadinha está em aplicar a intuição OLTP a um cenário DW.

Alternativa D — ❌ Incorreta

Índice Full-Text é projetado para busca textual em colunas com conteúdo semântico (palavras, frases). Não se aplica a colunas de baixa cardinalidade como PLANO_TARIFA ou SINAL_4G, que são categóricas ou booleanas.

Alternativa E — ❌ Incorreta

Índice B+ Tree Não-Clustered (secundário) melhora a performance de consultas seletivas, mas, assim como a versão clustered, não é otimizado para baixa cardinalidade nem para operações lógicas combinadas. Em uma tabela com bilhões de linhas, percorrer listas de RIDs para combinar condições com AND/OR é ineficiente comparado ao bitmap.

PEGA ESSA DICA!

Em questões de Data Warehouse, sempre desconfie de índices B+ Tree ou Hash quando as colunas forem de baixa cardinalidade (poucos valores distintos). O bitmap é a resposta clássica. Memorize: baixa cardinalidade + operações lógicas = bitmap. Lembre-se também que o bitmap é menos indicado para alta cardinalidade (ex.: CPF) ou para tabelas com muitas atualizações (devido ao custo de reconstruir os bitmaps).

Gabarito: letra C.

Link permanente: /questoes/fg127357