La mayoría de las veces, la gente comete el error de pensar que la base de datos geográficos es simplemente un formato geoespacial que permite realizar consultas espaciales. Eso es una simplificación increíble.
Yo mismo cometía este error, hasta que un día escuché a Scott Morehouse explicando los fundamentos de la base de datos geográficos. Es una de esas personas que pueden pensar de forma muy abstracta, muy por encima, y luego bajar muy rápido y ser muy práctica y así evitar problemas que astronautas arquitectos tener.
Para entender qué es la GeoDatabase, hay que ver la definición de un modelo de información :
Un modelo de información en ingeniería de software es una representación de conceptos, relaciones, restricciones, reglas y operaciones para especificar la semántica de los datos para un dominio de discurso elegido. Puede proporcionar una estructura compartida, estable y organizada de los requisitos de información para el contexto del dominio.
La GeoDatabase es simplemente una definición de ESRI de un modelo de información que soporta conceptos geográficos. Por ejemplo, este modelo de información soporta conceptos como Topología con todas las reglas, operaciones y semántica de los datos asociados a ellas (por ejemplo, qué puede superponerse sobre qué, qué sucede después de una división, cómo afecta una edición a otras características que comparten el mismo borde, etc.).
Existen varias implementaciones del modelo de información de ESRI GeoDatabase y se pueden clasificar en dos:
-
Bases de datos geográficas de un solo usuario:
- Base de datos geográfica personal: Construida sobre el formato ".mdb" de MS Access.
- FileGDB: Construido sobre un formato propietario creado por ESRI (carpetas ".gdb")
-
GeoDatabases multiusuario (también conocidas como GeoDatabases empresariales):
Estas son las fuentes de datos soportadas por el middleware ArcSDE.
- PostgreSQL
- Servidor SQL
- Oracle
- DB2
- Informix
- etc.
El propósito de ArcSDE también se malinterpreta. A menudo se confunde "SDE" con una base de datos geográficos y, en el peor de los casos, los términos se utilizan indistintamente, lo cual es un error terrible. En su día, ArcSDE (entonces llamado simplemente SDE) se creó para actuar como capa de abstracción de datos . Puede encontrar una descripción sencilla de ArcSDE de un antiguo post de noticias de USENET de Scott Morehouse (1999) . Un fragmento de ese post dice:
El SDE delega el procesamiento espacial en el SGBD. Si la base de datos subyacente base de datos subyacente no tiene soporte espacial en absoluto, SDE implementará toda la funcionalidad espacial. Si la base de datos subyacente tiene alguna Si la base de datos subyacente tiene alguna funcionalidad, SDE implementará algunas funcionalidades y aplazará el resto al motor de la base de datos. el resto al motor de la base de datos. Para conseguir el mejor rendimiento y aprovechar la tecnología de base de datos principal, tratamos de diferir la mayor funcionalidad a la base de datos como sea posible.
Esto significa que ArcSDE es utilizado por la GeoDatabase cuando interactúa con las fuentes de datos subyacentes, pero no sabe nada sobre Abstracciones de la base de datos geográficos, como relaciones, dominios, terrenos, tejido catastral, conjuntos de datos esquemáticos, etc. . Sólo se utiliza para facilitar la programación con varios almacenes de datos subyacentes.
Por eso, si se trata de abstracciones a nivel de GeoDatabase, y luego se intenta hacer cosas desde ArcSDE (a través de la API o de los ejecutables de línea de comandos arcsde), se pueden tener problemas. (¿Puedo hacer esta frase más grande?)
En cuanto a las limitaciones de cada una de las diferentes implementaciones de la GeoDatabase, suele depender del almacenamiento subyacente.
El GDB personal está sujeto al límite de 2GB mdb (Access). FileGDB, no tiene este problema ya que fue creado para librarse de esta limitación y ser compatible con unix.
Tanto Personal GDB como FileGDB son de usuario único. Por lo tanto, no se obtiene ningún versionado . La replicación GDB se implementa sobre el versionado, por lo que es una característica de todas las GeoDatabases multiusuario (ArcSDE Datasources) solamente.
Topología, Anotaciones , Clases de representación , Dominios , Terrenos etc., son todos conceptos de GeoDatabase que no requieren soporte multiusuario, por lo que están disponibles en todas las implementaciones del modelo de información de GeoDatabase.
En cuanto a los usos de cada implementación de GDB, depende de sus necesidades. Así que hay un tipo de GeoDatabase para la mayoría de los casos de uso (pero no todos).
Espero que esto lo aclare.