Questão de Banco de Dados — DW - Data Warehouse — FGV 2026
Banco de Dados›DW - 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
AÍndice B+ Tree Clustered
BÍndice Hash Estático
CÍndice de Bitmap
DÍndice Full-Text
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).