Motor de Bases de Datos Geográficas (SDE)

Anuncio
Motor de Bases de Datos Geográficas (SDE)
El Motor de Bases de Datos Geográficas (Spatial Database Engine) SDE es una base de
datos geográfica de alto rendimiento que emplea una arquitectura cliente/servidor combinada
con un conjunto de servicios para ejecutar operaciones geográficas eficientes y administrar
grandes cantidades de datos geográficos en forma compartida. SDE provee a los
desarrolladores e integradores de software con una plataforma eficiente para integrar la
funcionalidad geográfica en cualquier sistema de información.
Descripción
Implantado en un ambiente de base de datos relacional, SDE representa elementos geográficos
(p.ej., registros de parcelas de terreno) utilizando un modelo de datos geométrico robusto,
complementado por el conjunto completo de tipos de datos provistos por las bases de datos
relacionales (p.ej., integer, date, BLOB) para representar la información de los atributos
asociados. Además de las facilidades para la administración de datos heredados del ambiente
de bases de datos relacionales, SDE implementa una arquitectura cliente/servidor, de
procesamiento cooperativo, asegurando un máximo rendimiento para cientos de usuarios. La
interfaz de programación de aplicaciones (API) en el cliente, disponible para una gran
cantidad de plataformas de cómputo diferentes, es fácilmente integrada dentro de cualquier
ambiente de desarrollo de aplicaciones.
SDE utiliza un modelo de datos unificado para mantener los datos geográficos y sus
atributos asociados en un Sistema Administrador de Bases de Datos Relacionales
(RDBMS). Estos pueden administrar millones de elementos geográficos que pueden ser
encontrados en bases de datos de parcelas de terreno para países completos. Este es hecho
en una base de datos continua con acceso de múltiples usuarios. Esto permite almacenar un
número extremadamente grande de elementos, como por ejemplo mas de un millón de
elementos, juntos en una base de datos continua. SDE provee recuperación extremadamente
eficiente de tablas de bases de datos grandes.
SDE opera en un ambiente cliente/servidor, que permite a los datos ser almacenados en una
localización central o en una red de área amplia (WAN). Esto también permite un
verdadero acceso multiusuario a esos datos. A través de mecanismos de bloqueo SDE
permite a muchos usuarios actualizar la misma capa de datos mientras otros usuarios
accesan los mismos datos para visualización o análisis. Debido a esta arquitectura, este es
excelente medio para almacenar una base de datos de elementos muy dinámicos.
Ejecución de Análisis Geográfico como una consulta a la base de datos
SDE soporta el uso de cláusulas ANSI SQL para recuperar objetos geográficos incluyendo
búsquedas geográficas. Las cláusulas SQL pueden contener atributos geográficos tales
como area, largo, o tipo de elemento.
SDE provee un conjunto robusto de funciones de análisis geométrico y geográfico. Estas
funciones determinan las relaciones entre los elementos geográficos incluyendo si ellos se
cruzan, si comparten un punto o frontera común, si con iguales, si comparten un área
común, o si uno está contenido en el otro. Además, SDE soporta recorte (clipping), disolver
(dissolve), generación de corredores, cálculo de distancias, traslape de polígonos, y
procesamiento de redes.
Con estas, y otras cerca de 100 funciones, las posibilidades para ejecutar análisis geográfico
son infinitas. Se puede hacer una consulta a la base de datos para que localice todas las
parcelas de terreno que intersectan la ubicación de un río,
Beneficios de SDE
Los desarrolladores de aplicaciones, administradores de bases de datos y usuarios finales
obtienen una gran cantidad de beneficios al utilizar SDE, por ejemplo:
El Desarrollador puede:
. Construir aplicaciones críticas de alto rendimiento.
. Desarrollar aplicaciones específicas para las necesidades de los usuarios.
. Introducir funciones de geoprocesamiento sofisticado en sus aplicaciones.
. Elegir el ambiente de desarrollo preferido.
. Desarrollar aplicaciones para una amplia variedad de plataformas.
El Administrador de base de datos puede:
. Incrementar la disponibilidad de los datos geográficos
. Proveer acceso, a múltiples usuarios, a una misma de base de datos
. Afinar el rendimiento de la base de datos
. Administrar millones de elementos geográficos
. Mantener la integridad de los elementos geográficos
. Integrar datos geográficos en la estructura de administración de datos coorporativos
. Administrar los datos geográficos utilizando las facilidades de un RDBMS
El Usuario Final obtiene:
. Aplicaciones rápidas
. Construidas para sus especificaciones
. En plataformas de cómputo populares
Procesamiento Distribuido Cooperativo
La adaptación de un SIG al ambiente cliente/servidor generalmente significa la simple
transferencia de porciones de un mapa hacia y desde un servidor de archivos. SDE es un
concepto SIG totalmente nuevo, desarrollado para tomar ventaja de la tecnología de
software y hardware actuales.
SDE no es sencillamente un servidor de archivos.
Rendimiento
SDE utiliza un modelo cliente/servidor que enfatiza el procesamiento cooperativo
asincrónico entre las tareas del servidor y el cliente. Esto significa que las tareas del
servidor realmente predicen las demandas de las tareas del cliente adelantándose a las
solicitudes. La arquitectura de múltiples hilos de SDE automáticamente obtiene ventaja de
los equipos con múltiples procesadores, y el manejo inteligente de los "buffers" maximiza
la transferencia a través de la red.
El modelo cliente/servidor de procesamiento cooperativo empleado por SDE está diseñado
para proveer máximo rendimiento en un ambiente cliente/servidor:
. Las operaciones que son particularmente intensas de CPU, tales como el cálculo de
corredores y traslape de polígonos, son ejecutados por las tareas del cliente SDE para tomar
ventaja del poder de procesamiento de las estaciones de trabajo. Esto evita asignar trabajo
innecesario al servidor de SDE y mejorar el rendimiento de procesamiento. La elección de
la localización para cualquier función dada es automática y transparente al desarrollador de
la aplicación.
. Las tareas en el servidor SDE minimizan la congestión en la red ejecutando todas las
búsquedas y recuperaciones geográficas localmente y transmitiendo a la tarea cliente solo
los elementos y datos requeridos por la aplicación.
. El manejo inteligente de "buffers" permite que las tareas cliente y servidor sean ejecutadas
en forma asincrónica. De hecho, las tareas servidores predicen los requerimientos de datos
siguientes del cliente, recuperan y mantienen los datos requeridos.
Sistemas Abiertos para accesar datos geográficos
Por una cantidad de razones, particularmente situaciones institucionales, es útil que los
datos geográficos sean intercambiados entre un conjunto de herramientas, tales como
sistemas de Dibujo Asistido por Computadora (CAD), y otro conjunto de herramientas,
como Sistemas de Información Geográfica (SIG). Sin embargo, los datos geográficos
vienen en muchos formatos diferentes. Esto resulta de los diferentes enfoques para la
creación de representaciones digitales de los datos geográficos.
Interoperabilidad a través de APIs
El enfoque utilizado por SDE para la interoperabilidad es proveer una Interfaz de
Programación de Aplicaciones (API) abierta que permita a los usuarios de un producto de
software particular usar herramientas de software para accesar los datos geográficos
almacenados en la base de datos. De esta forma, dichos productos pueden leer y escribir
datos directamente a la base de datos manteniendo la integridad de la información que allí
se almacena.
La API también provee facilidades para que las funciones sean ejecutadas en el cliente o en
el servidor SDE. El cliente controla la integración con los productos de software
particulares, tales como sistemas CAD, permitiendo la mayor flexibilidad para el desarrollo
de aplicaciones para responder a los requerimientos específicos de los usuarios. La API
consiste de una interfaz en lenguaje C que puede ser usada con aplicaciones escritas en C,
C++, Visual Basic, u otros lenguajes de programación de alto nivel.
Bases de Datos Relacionales
SDE utiliza un Sistema Administrador de Base de Datos Relacional (RDBMS por sus siglas
en inglés) que es invisible para el usuario final y el desarrollador de aplicaciones. Este
RDBMS almacena la información geográfica y los atributos asociadas que controla SDE.
Así, el mas alto punto de ingreso para las aplicaciones clientes es a través de las capas del
SDE. Las aplicaciones pueden ejecutar SDE en paralelo con su base de datos convencional,
almacenando la información geográfica y no geográfica en el mismo sistema de
información.
El almacenamiento de los datos geográficos dentro de una base de datos relacional significa
que se pueden obtener todos los beneficios de las capacidades de una base de datos
relacional estandar incluyendo compromiso de dos fases, retrocesos, seguridad, y otras
facilidades provista por la tecnología de bases de datos relacionales.
Control de transacciones
En SDE el control de transacciones, por medio del compromiso de dos fases (two
phase-commit) permite que las aplicaciones cliente sincronicen la actualización de los datos
geográficos con actualizaciones a bases de datos "externas" (p ej. Información sobre títulos
de propiedad) y retroceder (rollback) la transacción si el compromiso "externo" no fue
exitoso. Este tipo de restricciones permiten mantener las consistencia entre la información
geográfica y alfanumérica.
Todas las operaciones de creación y actualización de datos geográficos pueden ser
ejecutadas bajo control de transacciones explícitamente supervisadas por el cliente. El API
cliente de SDE provee cuatro funciones principales para esto:
. SE_start_trans(): Inicializa una transacción. Las operaciones de modificaciones de datos
siguientes son conducidas bajo esta transacción hasta que sean comprometidas o
retrocedidas.
. SE_prepare_trans(): La ejecución exitosa de esta función garantiza un compromiso, a
menos que el hardware o la red fallen. El identificador del cliente es regresado a la tarea
cliente.
. SE_commit_trans(): Compromete la transacción actual. Todas las modificaciones, de los
datos que fueron ejecutadas despúes de la llamada SE_start_trans anterior, son hechas
permanentes. Las transacciones comprometidas no pueden ser retrocedidas.
. SE_rollbak_trans(): Aborta o retrocede todos los cambios hechos desde la llamada
SE_start_trans anterior.
Bloqueo de datos geográficos
Independiente del bloqueo de registros provisto por el RDBMS, el SDE provee soporte para
el bloqueo de datos geográficos. El SDE soporta bloques compartidos y exclusivos a nivel
de elemento geográfico o a nivel de área. Así, el administrador del sistema se puede
asegurar que otros usuarios no modifiquen datos que están en uso.
Tres tipos de bloqueos y dos modos de bloqueos son soportados. Los tipos de bloqueos
disponibles son a nivel de capa, área, y auto. El bloqueo a nivel de CAPA bloquea la capa
entera del mapa en el modo especificado. El bloqueo a nivel de AREA permite al bloquear
un área rectangular específica de la capa del mapa. El bloqueo AUTOMATICO es un caso
especial de los bloqueos a nivel de AREA. Un bloqueo AUTOMATICO
Respaldos en línea de alto rendimiento
SDE toma ventaja de las capacidades para respaldo de la base de datos provistas por los
RDBMS. La base de datos puede ser respaldada en línea, aún en períodos picos de
actividad. El respaldo se lleva a cabo mediante copias eficientes de archivos secuenciales
que no requieren la coordinación con otras transacciones. Debido a esto, no se produce una
degradación del rendimiento, y grandes bases de datos pueden ser respaldadas en
dispositivos de alta velocidad. Además, se puede recuperar porciones dañadas de la base de
datos (tablespaces) en línea, mientras el resto de la base de datos está en uso. Múltiples
sesiones pueden realizar la recuperación, a nivel de archivo, en paralelo, minimizando el
tiempo de recuperación.
Seguridad e Integridad
Cumpliendo con los estandares de los RDBMS modernos, el SDE tiene un sistema de
seguridad para validar usuarios y sus permisos de acceso a la base de datos. Este sistema
tiene tres partes principales que proveen un esquema de seguridad flexible para todos los
ambientes. El primer nivel de seguridad está implantado a nivel de acceso al servidor.
Cuando una tarea cliente solicita los servicios de un servidor SDE, al usuario se le solicita
una clave para hacer ingreso. Una vez que el usuario es validado, SDE procede con el
siguiente nivel, chequeando para asegurarse que el usuario está autorizado para utilizar el
conjunto de datos seleccionados. Si el usuario es confirmado como un usuario válido del
conjunto de datos, entonces la tarea cliente hereda una máscara de seguridad definida
especificamente para los el conjunto de datos basado en la clave del usuario.
Un tipo especial de clase de seguridad es utiliza para declarar que un tipo de elemento es
mantenido_externamente. Un tipo de elemento al que se le ha asignado esta clase de
seguridad no puede ser modificado localmente. Esta clase de seguridad es utilizada para
soportar conjuntos de datos mediante réplicas. Esto significa que un servidor dado podría
mantener uno o mas de sus tipos de elementos (p.ej. catastro) actualizado automáticamente
por otros servidores como una réplica del tipo de elementos. Esta capacidad puede ser
utilizada para proveer alto rendimiento local por medio de conjuntos de datos locales
limitados.
En forma adicional, se cuenta con comandos de auditoría sencillos que registran los accesos
(e intentos) a datos, tanto como las horas de ingreso y salida de la sesión, para cada capa,
elemento o usuario en el sistema.
Redes y plataformas soportadas.
Siendo totalmente abierto, SDE provee acceso en ambientes de Redes de Area Local (LAN)
y Redes de Area Amplia (WAN) utilizando el protocolo TCP/IP. Configuraciones
heterogéneas de plataformas UNIX y PC son soportadas utilizando la Representación de
Datos Externos (XDR).
SDE puede ser ejecutado, tanto como cliente o servidor, en las siguientes plataformas: DG
AViiON, DEC OSF1, HP 9000/70 y 8x7, IBM AIX, Silicon Graphics, Solaris 1, Solaris 2,
Windows NT.
Descargar