Pular para o conteúdo principal

Questão de Banco de Dados — Bancos de Dados Espaciais — INSTITUTO AOCP 2024

Banco de DadosBancos de Dados Espaciais
Código
qa630652
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
Um especialista em infraestrutura de tecnologia da informação (TI) precisa realizar análises complexas em um conjunto de dados geoespaciais, armazenados em um banco de dados PostgreSQL 10.   A estratégia mais adequada para obter um bom desempenho nessas análises é
  1. Acriar índices B-Tree em todas as colunas de dados geoespaciais.
  2. Butilizar o recurso de particionamento declarativo para particionar os dados geoespaciais.
  3. Chabilitar o recurso de replicação lógica para sincronizar os dados com um servidor de réplica.
  4. Dcriar uma extensão PostGIS e utilizar seus procedimentos otimizados para análise de dados geoespaciais.
  5. Edesnormalizar o modelo de dados, combinando várias tabelas em uma única tabela.
Revelar gabarito e comentário

GabaritoD — criar uma extensão PostGIS e utilizar seus procedimentos otimizados para análise de dados geoespaciais.

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”.

Bancos de Dados Espaciais: PostGIS no PostgreSQL

Gabarito: letra D. A estratégia mais adequada para análises complexas em dados geoespaciais no PostgreSQL é criar a extensão PostGIS e utilizar seus procedimentos otimizados, pois ela adiciona tipos de dados espaciais, funções e índices especializados (como GiST) que o banco relacional puro não possui nativamente. As demais alternativas tratam de técnicas genéricas de banco de dados (índices B-Tree, particionamento, replicação, desnormalização) que não resolvem a necessidade específica de processamento espacial.

O problema central aqui é entender a natureza dos dados geoespaciais. Diferentemente de dados numéricos ou textuais comuns, dados espaciais (pontos, linhas, polígonos, coordenadas) são multidimensionais e não podem ser ordenados de forma linear. Um índice B-Tree tradicional, por exemplo, organiza dados em uma sequência ordenada (como números ou strings), o que é inútil para responder perguntas como "quais pontos estão dentro deste polígono?" ou "qual a distância entre estes dois locais?". Para isso, são necessárias estruturas de dados e algoritmos específicos, como as R-trees, que agrupam objetos espaciais por proximidade geográfica.

O PostGIS é uma extensão do PostgreSQL que resolve exatamente esse problema. Ela adiciona:

  • Tipos de dados espaciais: como geometry e geography, que armazenam pontos, linhas, polígonos e outras geometrias.

  • Funções e operadores espaciais: como ST_Distance, ST_Within, ST_Intersects, que implementam algoritmos otimizados para cálculos geométricos.

  • Índices espaciais: como o índice GiST (Generalized Search Tree), que usa R-trees para acelerar consultas espaciais.

Sem o PostGIS, o PostgreSQL trata coordenadas como números comuns, e qualquer análise espacial exigiria cálculos manuais e ineficientes, sem aproveitar a otimização do SGBD. A extensão é a forma canônica e mais eficiente de habilitar esse tipo de processamento.

A pegadinha da questão está em confundir técnicas genéricas de otimização de banco de dados (índices, particionamento, replicação, desnormalização) com a solução específica para dados espaciais. O enunciado é claro ao mencionar "análises complexas em um conjunto de dados geoespaciais" e "bom desempenho" — isso aponta diretamente para a necessidade de um suporte espacial dedicado, que só o PostGIS oferece.

Guarde a distinção: índices B-Tree e particionamento são para dados unidimensionais; dados espaciais exigem índices e funções especializadas. É exatamente nessa fronteira que as alternativas se dividem.

Alternativa A — ❌ Incorreta

Criar índices B-Tree em todas as colunas de dados geoespaciais é ineficaz e até prejudicial. O B-Tree é um índice unidimensional, que ordena valores de forma linear. Dados espaciais são multidimensionais (coordenadas x, y), e um B-Tree não consegue ordená-los de forma útil para consultas de proximidade ou interseção. O correto seria usar um índice GiST (que implementa R-trees), fornecido pelo PostGIS. Além disso, indexar "todas as colunas" indiscriminadamente é uma má prática, pois cada índice consome espaço e recursos de escrita.

Alternativa B — ❌ Incorreta

O particionamento declarativo divide uma tabela grande em partes menores (partições) com base em critérios como faixa de valores ou lista. Isso melhora a performance de consultas que acessam apenas uma partição específica, mas não resolve o problema de processamento espacial. As partições continuariam armazenando dados geoespaciais sem tipos ou funções especializadas. O particionamento é uma técnica de otimização genérica, não uma solução para análises geoespaciais.

Alternativa C — ❌ Incorreta

A replicação lógica copia dados de um servidor para outro (réplica) para fins de disponibilidade, balanceamento de carga ou backup. Ela não acelera análises complexas — apenas distribui a carga de leitura, mas cada réplica ainda processaria consultas espaciais sem o suporte adequado. A replicação é uma estratégia de infraestrutura, não de otimização de consultas.

Alternativa D — ✅ Correta ⟵ GABARITO

O PostGIS é a extensão oficial do PostgreSQL para dados geoespaciais. Ela fornece tipos de dados espaciais (geometry, geography), funções de análise (como ST_Area, ST_Buffer, ST_Intersects) e índices especializados (GiST). Com isso, o SGBD consegue executar consultas espaciais complexas de forma otimizada, usando algoritmos e estruturas de dados projetados para geometria. É a solução padrão e mais eficiente para o cenário descrito.

Alternativa E — ❌ Incorreta

Desnormalizar o modelo de dados (combinar tabelas) pode reduzir o número de junções e melhorar a performance de algumas consultas, mas não tem relação com dados espaciais. A desnormalização é uma técnica de modelagem para reduzir redundância e melhorar leituras, mas não adiciona capacidade de processamento geométrico. As análises espaciais continuariam sem suporte adequado, independentemente de como as tabelas fossem combinadas.

Gabarito: letra D

Link permanente: /questoes/qa630652