Bases de datos espaciales Michael Gould Universitat Jaume I.
-
Upload
emerico-canales -
Category
Documents
-
view
224 -
download
0
Transcript of Bases de datos espaciales Michael Gould Universitat Jaume I.
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
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
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...
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
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)
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...
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 ?
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
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)
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
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
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...
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)
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?”
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!
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
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.)
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)
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
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.
Página de demos de Samet
http://www.cs.umd.edu/~brabec/
quadtree/index.html
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
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...
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.