Pular para o conteúdo principal

Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — CESPE / CEBRASPE 2024

Banco de DadosOtimizaçã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.

  1. CCerto
  2. 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.

CERTO

Link permanente: /questoes/ce403631