Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — CESPE / CEBRASPE 2024
Banco de Dados›Otimização (Tuning) em Banco de Dados
Código
ce403631
Banca
CESPE / CEBRASPE
Órgão
Pref Mossoró
Ano
2024
Cargo
AFTM ( )
Julgue o próximo item, a respeito de modelagem de dados.
A otimização de bases de dados para BI visa garantir que as consultas analíticas sejam executadas de maneira eficiente e rápida, a exemplo da indexação, que poderia ser a criação de índices nas tabelas de fatos e dimensões para acelerar a recuperação de dados; índices comuns incluem índices de colunas, índices compostos e índices bitmap.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
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”.
Otimização de Consultas em BI: Índices em Tabelas de Fatos e Dimensões
Gabarito: Certo. A afirmação está correta porque a otimização de bases de dados para BI visa, de fato, garantir a eficiência e a rapidez das consultas analíticas, e a criação de índices — incluindo índices de colunas, compostos e bitmap — é uma técnica clássica e válida para acelerar a recuperação de dados em tabelas de fatos e dimensões. A indexação é uma das principais estratégias de tuning em ambientes de Data Warehouse, e os tipos de índices citados são comumente utilizados nesse contexto.
A otimização de consultas, também chamada de tuning, é o processo pelo qual o SGBD escolhe uma estratégia de execução (plano de consulta) para recuperar os resultados de forma eficiente. O objetivo central é minimizar o tempo de resposta e obter ganho de desempenho. No contexto de BI, onde as consultas analíticas operam sobre grandes volumes de dados em tabelas de fatos e dimensões, a indexação é uma ferramenta fundamental. Os índices são estruturas de acesso auxiliares que agilizam a recuperação de registros, funcionando como um índice remissivo de um livro: em vez de percorrer todas as páginas (full table scan), o banco consulta o índice e localiza diretamente a posição dos dados.
Existem diversos tipos de índices, cada um com sua aplicação ideal. Os índices de colunas (columnstore) são otimizados para consultas analíticas que agregam grandes volumes de dados, armazenando os dados por coluna em vez de por linha, o que melhora a compressão e a velocidade de leitura. Os índices compostos referenciam mais de uma coluna e são eficientes para consultas que filtram ou ordenam por múltiplos campos, como é comum em consultas com WHERE e ORDER BY. Já os índices bitmap são especialmente úteis para colunas com baixa cardinalidade (poucos valores distintos), como sexo, status ou categoria — situação típica nas tabelas de fatos, que possuem muitas chaves estrangeiras oriundas das tabelas de dimensão. O índice bitmap representa cada valor distinto como um mapa de bits, permitindo operações booleanas rápidas (AND, OR, NOT) entre múltiplas condições.
A distinção crucial que a banca explora é entre o ambiente transacional (OLTP) e o analítico (OLAP). No OLTP, com muitas escritas curtas, o excesso de índices pode prejudicar o desempenho, pois cada inserção, atualização ou exclusão precisa atualizar todos os índices da tabela. No OLAP, porém, as consultas são de leitura pesada e agregação, e os índices são bem-vindos para acelerar a recuperação. A questão, ao citar índices de colunas, compostos e bitmap, está corretamente descrevendo técnicas de otimização aplicáveis ao contexto de BI.
A pegadinha desta questão é que ela mistura conceitos de modelagem de dados com otimização de consultas. O candidato pode se confundir e achar que a afirmação é falsa por mencionar "modelagem de dados" no enunciado, mas a indexação é uma técnica de otimização física que complementa a modelagem lógica. A banca quer que o candidato reconheça que a indexação é uma prática válida e comum para melhorar o desempenho de consultas analíticas em bancos de dados de BI.
Critério
Índices de Colunas (Columnstore)
Índices Compostos
Índices Bitmap
Uso típico
Consultas analíticas com agregação sobre grandes volumes
Filtros/ordenação por múltiplas colunas (WHERE, ORDER BY)
Colunas de baixa cardinalidade (ex.: sexo, status)
Estrutura
Dados armazenados por coluna, com alta compressão
Índice B-tree sobre 2+ colunas
Mapa de bits por valor distinto
Vantagem principal
Leitura sequencial rápida de colunas inteiras
Acesso direto a combinações de filtros comuns
Operações booleanas (AND/OR/NOT) muito rápidas
Custo de manutenção
Alto em escritas frequentes (OLTP)
Moderado; atualização em cada DML
Baixo em leitura, alto em escritas
Aplicação em BI/OLAP
Ideal para fatos e dimensões grandes
Comum em dimensões com filtros múltiplos
Muito usado em fatos com FKs de dimensões
NÃO CAIA NESSA!
A banca pode tentar confundir o candidato ao afirmar que índices são sempre benéficos ou que devem ser criados em todas as colunas. Nesta questão, porém, a afirmação é genérica e correta: a indexação é uma técnica de otimização válida. O erro comum seria achar que a afirmação é falsa por ser "muito ampla" ou por não mencionar as desvantagens dos índices. Lembre-se: a questão pede para julgar se a afirmação está correta, e ela está, pois descreve corretamente o objetivo da otimização e um exemplo de técnica (indexação) com tipos de índices comuns.