|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||ESRI Arc Geodatabase (File-based)|
The Esri file-based geodatabase is a subtype of the GeoDB_family of formats for Esri geodatabases. The geodatabase is the primary data storage model for ArcGIS software products and services. It is a container for spatial and attribute data, enabling storage of many different types of GIS data within its structure. An Esri geodatabase may be implemented in one of several storage options. See GeoDB_family for information about the underlying data model for the family of formats. The geodatabase model was introduced with ArCGIS 8.0 (1999); the file-based variant was introduced in ArcGIS 9.2 (late 2006). An Esri file-based geodatabase is termed GeoDB_file here to highlight the relationship among the various storage options for Esri geodatabases. Users of this particular storage option, particularly in the context of sharing or transforming geospatial data have adopted the name FileGDB; Esri now uses FileGDB in the context of importing or exporting data from an Esri file geodatabase; see, for example, Importing FileGDB. A GeoDB_file database is implemented as a folder of binary files in the file system managed by the user's operating system. The folder may be on the local computer or a network-accessible file system and may have many files, including two or more tables for each dataset within the database and other supporting files. The folder full of files is conveniently shared as a ZIP file.
As described in ArcMap Help: What is a file geodatabase?, the files in the GeoDB_file folder are made up of system tables plus user data. User data can be stored as the following types of datasets: feature classes (layers with geometry); feature datasets; non-spatial attribute tables; mosaic datasets; raster datasets; or toolboxes. Depending on the ArcGIS product or extension in use, there may be specialized datasets, such as parcel fabrics (representing a continuous surface of connected parcels of land as used by local governments) or terrains (multi-resolution, 3D surfaces as triangular irregular networks, built from measurements typically derived from lidar, sonar, and photogrammetric sources).
As outlined in ArcGIS Pro: Types of geodatabases, File geodatabases were designed to:
The folder representing a GeoDB_File has no size limit. The limit for an individual table is, by default, 1 terabyte. The table size limitation can be changed so that a table can store up to 256 terabytes, if desired. Each GeoDB_File can hold many datasets. Within each dataset, each feature class can scale up to hundreds of millions of vector features. The GeoDB_File provides limited support for versioning, replication, or archiving in comparison to the Esri Enterprise geodatabase storage option (GeoDB_SDE). Security and permissions associated with the GeoDB_File are those provided by the operating file system. See ArcMap: Types of databases from Esri.
The GeoDB_File offers more functionality and better performance than the Esri Personal geodatabase, which is implemented using the .mdb Microsoft Access format that was superseded in 2007. See GeoDB_family for a comparison of the different storage options implemented by Esri for its geodatabase model.
The naming scheme and internal structure of the component files that combine to form an Esri File geodatabase are not documented. In 2013, Even Rouault reported in his blog on his attempts at re-engineering the format. For example, he stated, "A .gdbtable matches a layer / table, and contains the description of the fields (name, type, width, etc..), geospatial information (type of geometries, SRS [spatial reference system], extent) as well as the content of the rows / features. This is the equivalent of a .shp and .dbf files of shapefiles. The .gdbtablx is an index that contains the offset to each row of the .gdbtable. This is an equivalent of the .shx file of shapefiles." Based on this effort, Rouault documented what he knew about the specification, now available at https://github.com/rouault/dump_gdbtable/wiki/FGDB-Spec. He also developed a python script to dump the contents of a .gbtable file. His analysis was used as the basis for the OpenFileGDB driver in the widely used open-source GDAL (Geospatial Data Abstraction Library). Note that GDAL also includes a separate FileGDB driver, which employs Esri's closed-source File Geodatabase API (application programmer interface). The compilers of this resource note that the API software development kit has been updated several times since its introduction in 2011, but have not been able to determine whether the updates reflect new capabilities in the API, additions to Esri's geodatabase model, or changes in the implementation of the GeoDB_File format. Comments welcome.
|Production phase||This geodatabase format can support all active stages (creation and editing, data sharing and transfer, and distribution to end users) of the life-cycle of a collection of closely related datasets.|
|Relationship to other formats|
|Subtype of||GeoDB_family, ESRI Arc Geodatabase Format Family. The same data model serves as the framework for all Esri geodatabases, whether single user or multi-user. This data model superseded the ESRI ArcInfo Coverage format which could not be edited in ArcGIS starting with version 8.3.|
|Affinity to||Esri Personal geodatabase. A storage option for a single-user geodatabase that is implemented as a single Microsoft Access file. ESRI recommends GeoDB_File file-based geodatabases over Personal geodatabases, because they offer more functionality and better performance. The Personal geodatabase format is not described at this time on this website.|
|Affinity to||GeoDB_SDE, ESRI Geodatabase ArcSDE. The spatial database engine is the multi-user option for data storage for an ESRI Geodatabase.|
|Affinity to||GeoDB_XML, ESRI Geodatabase (XML). Used by ArcGIS to import and export all items and data in a geodatabase such as domains, rules, feature datasets, and topologies.|
|Affinity to||ArcInfo Coverage, ESRI ArcInfo Coverage . The ArcGIS coverage format is a legacy format superseded by the Esri Arc Geodatabase data model that is expressed in single and multi-user geodatabases. Coverages cannot be edited in ArcGIS 8.3 and subsequent versions.|
|LC experience or existing holdings||Staff in the Geography & Map Division use datasets in the Esri File Geodatabase format when assembling maps to illustrate reports on issues of interest to Congress.|
|LC preference||The Library of Congress Recommended Formats Statement (RFS) lists Esri File Geodatabase as a preferred format for Geographic Information System (GIS) - Vector Data as well as GIS Combined Vector and Raster data.|
|Disclosure||An undocumented proprietary database structure used in Esri ArcGIS products. See GeoDB_family.|
No formal specification is available, although some useful documentation is available in Esri help files, for example in What is a file geodatabase? and File geodatabases and Windows Explorer. File geodatabase | ArcGIS 9.2 is a 2007 presentation from soon after this format was first introduced. See also GeoDB_family.
The result of a reverse engineering effort by Even Rouault is at FGDB Spec. See Rouault's blog post from 2013. Since the format is proprietary and can be modified by Esri as needed, there is no guarantee that this reverse-engineered specification is useful for more recently created GeoDB_File instances. Comments welcome.
See GeoDB_family for information on adoption of ArcGIS products and geodatabases in general.
The GeoDB_File format has been adopted by the U.S. Geological Survey (USGS) as a format for distributing public datasets. In this context the name FileGDB is usually used. For example, TNM (The National Map) allows export of many layers, e.g., for Boundaries, Hydrography, and National Structures, in the format it describes as FileGDB 10.1. The compilers of this resource assume that this format is compatible with the file-based geodatabase format used in version 10.1 of ArcGIS products. Comments welcome. For distribution, these datasets are transmitted in a ZIP file that also includes GIS metadata in XML.
|Licensing and patents||See GeoDB_family.|
The contents of a GeoDB_File geodatabase cannot be viewed or understood without sophisticated tools.
The component files of a GeoDB_File geodatabase are in undocumented binary form and usually compressed. Until June 2011, there was no way to understand the contents except through ArcGIS procedures. In June 2011, ESRI published a limited API (in C++) that provides some capabilities for exploring and extracting data directly.
The GeoDB model supports the inclusion of metadata in system tables to support compliance with metadata standards such as FGDC CSDGM and ISO 19115-1 and ISO 19115-3. Note that ISO 19115-3 replaces ISO 19139 as the specification for encoding ISI 19115 metadata in XML. In addition to being stored in the internal ArcGIS metadata format, ArcGIS products can export free-standing metadata files in XML.
Since metadata standards and practices have changed, the exact form and content of the metadata in a GeoDB_File instance may depend on practices in place when the geodatabase was created.
|External dependencies||Full use of Esri geodatabases requires use of Esri software products. Starting in June 2011, Esri provided an application programmer interface (API) that supports limited exploration, manipulation, and extraction of data in Esri file geodatabases. See Useful References below for information about the File Geodatabase API.|
|Technical protection considerations||
The format supports a feature intended to apply a license to a dataset, requiring installation of a corresponding license file for Esri products to be able to open the dataset. Responses to Is licensed file geodatabase really secure? on GIS Stack Exchange, suggest that this mechanism does not involve encryption and does not prevent access to the data through other software.
The component files in a GeoDB_File folder can be compressed for read-only use within ArcGIS and could be encrypted as files or in a ZIP archive using generic encryption tools.
|GIS images and datasets|
|Normal functionality||The GeoDB_File is designed to be able to create topologies, raster catalogs, network datasets, terrain datasets, address locators, and other means for providing GIS functionality for managing, manipulating and analyzing data. See GeoDB_family.|
|Support for GIS metadata||See Self-documentation in Sustainability Factors above.|
||The .gdb folder is a container to hold the feature datasets, feature classes, and associated tables that are related to each other. When the .gdb folder is opened using ArcGIS software, various file types can usually be found, including attribute tables, topologies, and feature classes. Associated data important for the use of the data in the .gdb such as .xml files containing metadata need to be kept with the .gdb, usually in the same file directory in order to retain the associations.|
File-based datasets do not support simultaneous editing, except by means of operational procedures. When more than one user needs data access, files are either copied or mounted across a network. It is possible to have more than one editor using ArcGIS to work in the same GeoDB_File, provided they are editing in different tables, feature classes or feature datasets. The GeoDB_File can be converted, using migration tools included in the ArcGIS software suite, to the GeoDB_SDE implementation of the Esri geodatabase model to support multi-user editing.
In late 2011, the Geospatial Multistate Archive and Preservation Project (GeoMAPP) produced a report comparing the archival challenges presented by the Esri geodatabase formats. Experiments were performed with the file-based variant described here and the Personal geodatabase format based on Microsoft Access.
|History||The GeoDB-File storage option for geodatabases was introduced with ArcGIS 9.2 in late 2006. For more detail on the history of the Esri geodatabase formats, see GeoDB_family and the Wikipedia entry for ArcGIS.|