Note: this page is only a draft, but this project is hosted on a public repository where anyone can contribute. Learn how to contribute in less than a minute.
Databases
Table of contents
Introduction
When an application needs to support simultaneous editing of users, work with large volumes of data, etc. we would want to use databases capable of performing advanced functionalities with spatial data, for example:
- Esri Enterprise GeoDatabases
- PostgreSQL
- Microsoft SQL Server
- Oracle
- Informix
- IBM DB2
When working with spatial data normally we would use the spatial version of a database:
- PostGIS instead of PostgreSQL
- Oracle Spatial instead of Oracle
- etc.
If we don't use an ArcGIS geodatabase but we want to connect it to use in with the platform we might want to use Koop to expose our data to the platform.
Introduction to Esri Geodatabases
Important: no every Esri GeoDatabase type run on top of a DBMS
A geodatabase is a based on the relational database model and is allows you to store GIS information in "one large file", which can contain multiple point, polygon, and/or polyline layers. It is a less “messy” way of organizing data than having multiple shapefiles in multiple folders.
Geodatabases also allows you to set up a topology, store rasters, add domains or geometric networks, which you can’t do with shapefiles.
Types
Three types of geodatabases (GDB):
Geodatabase type | Format | Multi-editor | Storage limit | Release date |
---|---|---|---|---|
Personal GDB | File format | No | 2GB | 1999 |
File GDB | File format | Many readers or one writer per feature object (dataset/raster/...) (but multiple people editing different feature classes or tables at the same time) | 1TB to 256TB (with keywords) per dataset | 2006 |
Enterprise GDB | Database | Multiuser: many readers and many writers (unlimited editors) | Up to DBMS limits | Unknown |
Detailed comparison: Comparing the three types of geodatabases
Functionality
The functionality:
- Store datasets (tables for non spatial data, feature classes for vector data and raster), rules and relationships
- Reference rasters
- Behaviour rules and relationships to maintain integrity
- Additional tools to help maintain the integrity of spatial data (advance data topology)
- Geometric networks (for route solving)
- Store toolboxes with geoprocessing tools, python scripts and models built in model builder
- Story address locators for geocoding tasks
- Define rules to filter possible attribute values using: domains, subtypes an contingent values
A geodatabase can:
- Store from a few MB until multiple terabytes of vector, raster and tabular data
- Support Multiple users and editor
Field Data Types
As you can check in the ArcGIS Pro documentation site, Geodatabases support different data types: numbers, text, dates, BLOBs, object identifiers, global identifiers, fields of type raster and geometries.
The internal keywords for these are: "esriFieldTypeSmallInteger", "esriFieldTypeInteger", "esriFieldTypeSingle", "esriFieldTypeDouble", "esriFieldTypeString", "esriFieldTypeDate", "esriFieldTypeOID", "esriFieldTypeGeometry", "esriFieldTypeBlob", "esriFieldTypeRaster", "esriFieldTypeGUID", "esriFieldTypeGlobalID" and "esriFieldTypeXML".
Note: hosted layers in ArcGIS Online only supports: double, integer, string and date. More info
Videos
We have created a Geodatabases Youtube playlist that we think it might be worth to you to save (how to save a Youtube Playlist).
On video.esri.com and Esri Events you will find many technical talks. Or check Esri Geodev channel for short videos. ```
And
Event | Title | Length |
---|---|---|
n.a. | Geodatabase Fundamentals | 1h 3min 26secs |
DevSummit 2017 | Accessing Your Enterprise Geodatabase using SQL | 1h 2min 37secs |
DevSummit 2019 | Administering Your Enterprise Geodatabase using Python | 54min 16secs |
n.a. | Working with a Multi-User Geodatabase | 1h 0min 46secs |
You might also find interesting videos at Esri Industries, ArcGIS, EsriTV, Esri R&D Center etc
Slides
More slides in proceedings.esri.com or check on GeoNet.