A mobile geodatabase (.geodatabase) is a collection of GIS datasets contained in a single file on disk that can store, query, and manage spatial and nonspatial data. Mobile geodatabases are automatically available to all users of ArcGIS Pro and can be created using a variety of methods, including the Create Mobile Geodatabase geoprocessing tool and by creating a mobile geodatabase in a project folder. See Create a mobile geodatabase for the steps and for additional options to create a mobile geodatabase.
Mobile geodatabases are intended for use by one person or app at a time.
Do not store mobile geodatabases on file shares or cloud drives for multiple people to access them unless the file shares or cloud drives do not allow write access. To share the contents of a mobile geodatabase, you can copy, move, send by email, or write it to a USB device so the people who need to access its contents can access it from their local drives.
Mobile geodatabases are stored in an SQLite database, giving them the following advantages:
- SQLite is a widely available, stable, and trusted database.
- SQLite is open source in the public domain, so no licensing is required.
- SQLite databases are supported cross-platform and are stored in a single file on disk, making them portable and an efficient data exchange format.
- SQLite is a full-featured relational database allowing for querying and reporting workflows and supports operations such as views and indexes.
- SQLite is interoperable and is ubiquitous in mobile app development.
Mobile geodatabases use the Esri ST_Geometry spatial type. Using a SQL client, you can access your spatial data through SQL statements that implement the ISO SQL/MM Spatial Standard and the Simple Feature Specification of the Open Geospatial Consortium (OGC). Having SQL access to the data allows you to use other applications to query or generate reports on data stored in a mobile geodatabase. To learn how to enable the ST_Geometry extension, see Load ST_Geometry to a mobile geodatabase for SQL access.
Using SQL to alter or edit the data or schema of datasets stored in a mobile geodatabase could corrupt the geodatabase schema.
Mobile geodatabases are the foundation for interoperable workflows between ArcGIS Pro and ArcGIS Maps SDKs. In the future, mobile geodatabases will enable enhanced workflows and applications for ArcGIS Maps SDKs and the Esri suite of mobile apps.
All mobile geodatabases are stored in SQLite databases, but not all SQLite databases are mobile geodatabases.
Mobile geodatabases contain system tables, indexes, triggers, and views that provide geodatabase functionality in addition to allowing you to work with simple features such as point, multipoint, multipatch, polygon, line geometries, and true curves.
The data you add to a mobile geodatabase can be stored in the following dataset types:
- Tables (nonspatial)
- Feature classes
- Relationship classes
- Feature datasets
For information about feature class and table name lengths and other size limits, see Mobile geodatabase size and name limits.
The following geodatabase behaviors are supported in a mobile geodatabase:
- Attribute rules
- Contingent values
- Editor tracking
- Nonversioned archiving
You can share (publish) data from a mobile geodatabase to ArcGIS Online and to an ArcGIS Enterprise portal. To share content from ArcGIS Pro, you must have an account that is part of an ArcGIS organization, and you must have privileges to create, update, and delete content and publish.
Data can be published from a mobile geodatabase to ArcGIS Online or ArcGIS Enterprise as a web feature layer, web tile layer, vector tile layer, or web scene layer. Sharing a web layer that copies all data to ArcGIS Online or ArcGIS Enterprise requires privileges to create content and publish hosted layers.
Data can also be published from a mobile geodatabase to ArcGIS Enterprise as a map image layer. Sharing a map image layer that references registered data to an ArcGIS Enterprise portal requires privileges to create content and publish server-based layers.
ArcGIS Enterprise 11 is the minimum supported version for publishing data from a mobile geodatabase. To publish a map image layer, you must place the mobile geodatabase in a folder that is registered with the ArcGIS Server site that you will choose when you publish. For more information about data registration in ArcGIS Pro, see Manage registered data stores. For information about registering folders and required privileges, see Make data accessible to ArcGIS Server.
Dataset properties in the mobile geodatabase can be accessed in the Contents and Catalog panes in ArcGIS Pro. The Feature Class Properties dialog box is used to set the alias and the spatial and attribute indexes.
To open the Feature Class Properties dialog box, right-click a table or feature class in the Catalog pane or a Catalog view and click Properties. On the Feature Class Properties dialog box, some properties are editable, while others are read-only.
Mobile geodatabases do not require authentication or authorization to access their contents. Therefore, anyone with access to the mobile geodatabase can edit the data in it. When you edit the data in a mobile geodatabase, you can undo and redo editing operations.
See Mobile geodatabases and locking processes for information about how locks are applied while editing in a mobile geodatabase.
Mobile geodatabase management
All operations that interact with geodatabase functionality must be performed solely through ArcGIS.
As stated above, the mobile geodatabase (.geodatabase) is built on top of SQLite. SQLite is a self-contained database file format that stores the database in a single file on disk that can be located anywhere in the directory. This single file can contain up to 2 TB of data, is portable, and is supported across platforms.
SQLite database files have two names:
- The logical name, which is the SQLite database name used with SQL commands and is called main, regardless of the database file name.
- The physical file name, which is the path to the database file name.
An SQLite database path consists of the file path, database name, and file extension.
For example, if you use the Create Mobile Geodatabase geoprocessing tool to create a mobile geodatabase named Project1 that is stored in subfolders on the C: drive of a Microsoft Windows operating system, the database path of this mobile geodatabase will look similar to the following: C:\Data\GISData\Projects\Mobile_Geodatabase\Project1.geodatabase.
Because SQLite is a relational database, you can use SQL in software other than ArcGIS to view the contents of a mobile geodatabase. An SQLite database that is accessed using SQL uses a logical database name. When using SQL to access an SQLite database, the database named main is reserved for the primary database and is used regardless of the physical database file name. A qualified table name in SQLite will be main.<table name>, and a qualified column name in SQLite will be in the format <table name>.<column name> or <database name>.<table_name>.<column name>.
For example, if you use SQL to query data from the Tax_Value and Owner_Name columns of the ParcelOwners table, use the following statement: SELECT Main.ParcelOwners.Owner_Name, Main.ParcelOwners.Tax_Value FROM Main.ParcelOwners.