Bases de datos espaciales Michael Gould Universitat Jaume I.

25
Bases de datos espaciales Michael Gould Universitat Jaume I

Transcript of Bases de datos espaciales Michael Gould Universitat Jaume I.

Page 1: Bases de datos espaciales Michael Gould Universitat Jaume I.

Bases de datos espaciales

Michael Gould

Universitat Jaume I

Page 2: Bases de datos espaciales Michael Gould Universitat Jaume I.

ÍndiceÍndice

Bases de datos relacionales Datos no espaciales Indices (indexación) de bases de datos Ordenación (sorting) de datos Modelado de datos espaciales Dos tipos de consulta Indices espaciales

Page 3: Bases de datos espaciales Michael Gould Universitat Jaume I.

BB DD relacionalesBB DD relacionales

¿Por qué usar una base de datos?Organización, recuperación eficaz

Una BD no tiene por que ser relacional !!! BDR optima para interrelacionar tablas de texto

Trabaja en el “espacio de nombres”, unidimensional BBDD espaciales son MUY grandes:

Muchos elementos (puntos, líneas..) y muchas relacionales necesarias para guardar todo que es interesante en interacciones espaciales

Page 4: Bases de datos espaciales Michael Gould Universitat Jaume I.

BB DD relacionales (2)BB DD relacionales (2)

El uso de campos largos no es la mejor soluciónEs simple, pero no nos ayuda en mejorar

rendimiento de recuperación Una BDR mejora su recuperación mediante

índices (indexación) de atributos (items)Pero hay que ordenar (sort) los datos,

alfabéticamente, según la coord X o Y (pero no las 2)Cada vez ordenando sobre una sola dimensión...

Page 5: Bases de datos espaciales Michael Gould Universitat Jaume I.

IndicesIndices

Ordenando según la dist de cada elemento a un punto origen, sirve para desordenarlos para todos demás puntos

No sabes a priori todas las posibles consultas del usuario

Indices implícitos mejor que explícitosNo hace falta reordenar los datos, solo despúes de

cambios

Page 6: Bases de datos espaciales Michael Gould Universitat Jaume I.

IndexaciónIndexación

¿Cómo ordenamos los datos?Mediante índices primarios y secundarios

Para datos no espaciales, uno puede indexar cada atributo

Pero no sirve cuando consulta utiliza combinaciones de valores de atributos:

“El registro más cercano a Pepe Pérez en términos de peso y edad” (no existe el concepto peso-edad)

Page 7: Bases de datos espaciales Michael Gould Universitat Jaume I.

Indexación (2)Indexación (2)

Para consultas booleanas, sí, tiene sentido:“todos entre 25 y 30 años y entre 50 y 70 Kilos”

¿Cómo construir índices? otra relación nueva clave extranjera

siguen siendo ejemplos relacionales, unidimensionales...

Page 8: Bases de datos espaciales Michael Gould Universitat Jaume I.

Modelado de datosModelado de datos

Para imágenes, usaremos un tuplo para cada pixel?

Un BLOB solo dice que la imagen existe, nada de su contenido

Un tuplo para cada parte de cada elemento vectorial (ej, punto, línea) ??

Un tuplo para cada elemento entero ?

Page 9: Bases de datos espaciales Michael Gould Universitat Jaume I.

Modelado de datos (2)Modelado de datos (2)

¿Cómo enlazar al elemento entero con un tuplo?

la caja mínima requiere atributos en 2 dimensiones puedes usar un punto representivo (centroide)

Lo que falta en el modelo relacional es la manera de utilizar la ubicación como índice a una estructura espacial

Por eso hemos creado índices espaciales

Page 10: Bases de datos espaciales Michael Gould Universitat Jaume I.

Interacción con la BDInteracción con la BD

Muchos lenguajes de consulta SQL domina, solo porque el modelo relacional

también domina SQL inicialmente separado al modelo relacional Poco a poco se integran Tiene muchas limitaciones para datos no

normales (ej. CAD, sistemas MM, SIG)

Page 11: Bases de datos espaciales Michael Gould Universitat Jaume I.

Interacción con la BD (2)Interacción con la BD (2)

SQL no permite la interacción con gestos:“Cuál es el edificio más cercano a este <señalizar

con el ratón> punto, que vale menos de 50 MM” No incluye operadores espaciales, ej. Cerca de,

tocando con, etc. Existen propuestas para SQL-extendidos

SQL-3, SQL-MM, Geo-SQL

Page 12: Bases de datos espaciales Michael Gould Universitat Jaume I.

Consultas mixtasConsultas mixtas

Consultas dobles, utilizando datos espaciales y no espaciales (atributos)

“ Localiza todas las ciudades dentro de 100 Km del río Ebro, y de más de 100.000 habitantes”

Optimizar la recuperación: Si la región es reducida, ejecutar la búsqueda

espacial antes Si hay muchas ciudades grandes en la BD, haz la

selección relacional (pob > 100000) antes

Page 13: Bases de datos espaciales Michael Gould Universitat Jaume I.

Consultas mixtas (2)Consultas mixtas (2)

Hay que tratar dos tipos de datos distintos Datos espaciales

puntos discretos en el espacio espacio ocupado por fenómenos continuos que

tienen extensión en 2-d Datos no espaciales

nombres de regiones limite de velocidad en una carretera...

Page 14: Bases de datos espaciales Michael Gould Universitat Jaume I.

Consultas espacialesConsultas espaciales

El gestor de BBDD relacionales sirve para los datos no espaciales

No es nada óptimo para consultas espaciales Tres tipos de consultas espaciales

Rango (una ventana completa) Rango parcial (solo algunos atributos) Puntual (solo un objeto)

Page 15: Bases de datos espaciales Michael Gould Universitat Jaume I.

Consultas de rangoConsultas de rango

Rango = ámbito espacial Basadas en el límite de cada elemento No hace falta que todas las posibles relacionales

espaciales estén explícitamente en la BD Consultas por atributo: “todos los sitios que

tienen cítricos” Consultas por ubicación: “ciudad más cercana a

este punto?”

Page 16: Bases de datos espaciales Michael Gould Universitat Jaume I.

Indices espacialesIndices espaciales

Objetivo: Como siempre con la indexación... tratar de no visitar y tocar cada vez a todos los n elementos en la base de datos !!

Los índices espaciales nos permiten ir al grano, optimizando la recuperación

Ejemplo simple: rectángulo mínimo (MBR) guardamos los MBR, y si una consulta toca a un MBR, sus

elementos pueden ser relevantes: los de fuera seguramente NO!

Page 17: Bases de datos espaciales Michael Gould Universitat Jaume I.

Indices espaciales (2)Indices espaciales (2)

Los MBR no forman una descomposición completa del plano (rectángulos pueden solaparse)

Quadtree (árbol cuadernario): libro Samet índice espacial jerárquico descomposición regular, multiresolución se pueden aplicar a todos tipos de datos espaciales

Page 18: Bases de datos espaciales Michael Gould Universitat Jaume I.

QuadtreeQuadtree

Mal nombrado: es una descomposición en bloques regulares: no tiene por que usar arboles

Algoritmo: Dividir región en cuatro subregiones cada subregión heterogenea, se divide en otras 4 división recursiva guardamos los niveles y los elementos/atributos en

cada nivel (en un árbol, lista, etc.)

Page 19: Bases de datos espaciales Michael Gould Universitat Jaume I.

Quadtree (2)Quadtree (2)

Divisiones (cuadrantes) numeradas 0,1,2,3 Orden de Morton, de Peano, etc.

Cada región a cualquier nivel tiene una coordinada en el quadtree

1,1,1 : tercer nivel, esquina derecha superior También sabemos sus coordinadas geográficas,

basadas en las coords del primer nivel (root)

Page 20: Bases de datos espaciales Michael Gould Universitat Jaume I.

Quadtree (3)Quadtree (3)

Quadtree es una estructura (índice) simple y potente

Forma parte de casi todos los SIG de gama alta, para mejorar el rendimiento de la BD

Quadtree óptimo para consultas por ubicación: “Qué hay aquí en esta región X?”

La estructura Pirámide es una variación

Page 21: Bases de datos espaciales Michael Gould Universitat Jaume I.

PirámidePirámide

Como el quadtree, donde cada nodo en el árbol guarda un sumario de la información de sus hijos

Así, el pirámide es mejor para recuperación por atributo dentro de una región:

“Hay cítricos en esta región?” Si el nivel 1 no tiene cítricos, entonces imposible que este más abajo entre sus hijos, nietos, etc.

Page 22: Bases de datos espaciales Michael Gould Universitat Jaume I.

Página de demos de Samet

http://www.cs.umd.edu/~brabec/

quadtree/index.html

Page 23: Bases de datos espaciales Michael Gould Universitat Jaume I.

Otros temas: Transacciones largas

Otros temas: Transacciones largas

¿Qué pasa cuando alguien tiene “abierta” la base de datos de carreteras, durante 2 días, para hacer modificaciónes?

Control de sesiones Control de acceso: bloqueo a nivel de fichero,

elemento ?? Procesos de Commit y Rollback

Page 24: Bases de datos espaciales Michael Gould Universitat Jaume I.

Otros temas: BDR extendidas

Otros temas: BDR extendidas

Productos SDO (Spatial Data Option) de Oracle, y Spatial Data Engine (SDE) de ESRI

solución TODA relacional: espacial, no espacial manejo de geometrías múltiples conforman con OpenGIS

Datablades espaciales para Informix, DB2...

Page 25: Bases de datos espaciales Michael Gould Universitat Jaume I.

Otros temas: ProcesosOtros temas: Procesos

SIG basado en BDR normalmente supone una geometría

Supone una foto de la situación Complica la actualización de elementos,

atributos, esp en situación dinámicas !! BD y sistemas Orientadas a Objetos...en el

futuro.