Geodatabase system tables in SAP HANA

When you connect to an enterprise geodatabase from an ArcGIS client or through an ArcGIS Server web service, you interact with the datasets that you or other databases users have added to the geodatabase. To track that data and to implement geodatabase behavior, enterprise geodatabases use system tables.

Do not alter the system tables and their contents using anything other than ArcGIS software or SDK. However, you can view the contents of the system tables using SQL.

Core system tables

When you query an SAP HANA database that contains an enterprise geodatabase, you'll see the following core system tables in either the sde user's schema:

  • GDB_ARCHIVES
  • GDB_BRANCH_TABLES_MODIFIED
  • GDB_BRANCHES
  • GDB_COLUMN_REGISTRY
  • GDB_DBTUNE
  • GDB_CONFLICTS
  • GDB_ITEMRELATIONSHIPS
  • GDB_ITEMRELATIONSHIPTYPES
  • GDB_ITEMS
  • GDB_ITEMTYPES
  • GDB_LAYER_LOCKS
  • GDB_LAYERS
  • GDB_LOCATORS (not used)
  • GDB_LOCKS
  • GDB_METADATA (not used)
  • GDB_MULTIBRANCH_TABLES
  • GDB_OBJECT_LOCKS
  • GDB_PROCESS_INFORMATION
  • GDB_RASTER_COLUMNS
  • GDB_REPLICALOG (not used)
  • GDB_SERVER_CONFIG
  • GDB_SPATIAL_REFERENCES
  • GDB_TABLE_LOCKS
  • GDB_TABLE_REGISTRY
  • GDB_TABLES_LAST_EDIT_TIME
  • GDB_TABLES_LAST_MODIFIED
  • GDB_TABLES_MODIFIED
  • GDB_VERSION
  • GDB_VERSION_HISTORY

Tables that implement enterprise geodatabase functionality

Information for some geodatabase functionality is stored in core system tables only. For example, information for the following functionality is stored in core system tables, and no additional tables are created in the database when you define or enable this functionality on user data:

  • Attribute rules—Stored in the GDB_ITEMS system table.
  • Branch versions—Six fields are added to the table or feature class business table when it is registered to participate in branch versioning to track edits.
  • Domains—Stored in the GDB_ITEMS system table. A field in the GDB_ITEMTYPES system table identifies the object as a domain.
  • Geodatabase replicas—Tracked in the database in the GDB_ITEMS, GDB_ITEMRELATIONSHIPS, GDB_ITEMTYPES, and GDB_REPLICALOG system tables.
  • Relationship classes—Stored in the GDB_ITEMS and GDB_ITEMRELATIONSHIPS system tables.

The geodatabase functionality described in the following sections, however, creates additional internal tables when you enable or make use of the functionality.

Geodatabase archives

You can track transaction time history for your data using geodatabase archiving. Transaction time represents the moment in time when the feature was added to, deleted from, or updated in the database.

When you enable geodatabase archiving, an archive class is created. An archive class is a copy of the business table and contains all the same fields plus three new fields: GDB_FROM_DATE, GDB_TO_DATE, and GDB_ARCHIVE_OID. When you enable archiving on a table or feature class that participates in a traditional version, a record is also added to the GDB_SDE_ARCHIVES system table. This record stores the registration IDs of the table that was enabled for archiving and its associated archive class table.

The name of the archive class table is the same as the original business table name with an underscore and H appended to it. For example, if a feature class named buildings is enabled for archiving, an archive class, buildings_H, is created. This archive class table is stored in the same schema as the business table.

Keyset tables

Keyset tables are used by ArcGIS clients to improve query performance. Keyset tables store a list of selected rows when an ArcGIS client runs a geodatabase relationship query that joins tables using attributes that are type integer, number, date, or string. They accommodate joins using attributes other than the Object ID field.

No keyset tables are present in the geodatabase until you perform one of the following operations:

  • Select more than 99 records from a feature class in a map in ArcGIS Pro, and the feature class is involved in a relationship class.
  • In ArcGIS Pro, open the attribute table of a feature class that is involved in a relationship class and retrieve the related table.

One keyset table is created as a global temporary table per connection per session. Because it is a temporary table, the keyset table is deleted when the user disconnects from the geodatabase.

Keyset tables in SAP HANA are stored as local temporary tables in the schema of the user who causes the keyset table to be created.

Log file tables

Log file tables are used by ArcGIS clients to improve query performance by storing lists of selected rows. Log file tables use joins based on Object ID attributes.

Log file tables in SAP HANA are created on a per-session basis as local temporary tables in the schema of the user who causes it to be created.