Data management Data in your instance is stored and managed according to a principled structure that administrators can view and configure. Data management functions include importing, exporting, and archiving database data and configuring fields and tables. Database structure All of the information in the instances is stored in tables, which consist of a series of records. The record in turn holds a series of fields that hold the individual bits of data and can be viewed either as a list or a form. Tables can be related to each other in the following ways: Extensions A table can extend another table. The table doing the extending (child class) includes all of the fields of the other table (parent class) and adds its own fields. For instance, the Incident [incident] table has all of the Task [task] table fields (because an incident is a special form of task) and has its own incident-specific tasks. One-to-Many Within a table, a field can hold a reference to a record on another table. There are three types of one-to-many relationship fields: Reference Field: allow a user to select a record on a table defined by the reference field. For instance, the Caller field on the Incident table allows the user to select any record on the User table. Glide List: allows a user to select multiple records on a table defined by the glide list. For instance, the Watch list field on the Incident table allows the user to select records on the User table. Document ID Field: allows a user to select a record on any table in the instance. These fields are much less common, but one example is the Document field on the Translated Text [sys_translated_text] table. Many-to-Many Two tables can have a bi-directional relationship, so that the related records are visible from both tables in a related list. Database Views Two tables can be joined virtually with Database Views to enable reporting on data that might be stored over more than one table. Data management tools There are a number of tools that can help manage data within the instance. Schema map The Schema Map displays the relationships between tables visually, helping to navigate through the database structure. The Schema Map provides an interface for viewing the relationships between tables. The inter-table relationships it captures include many-to-many relationships, tables that extend other tables, and tables that reference other tables through reference fields. Data dictionary tables Data dictionary tables holds information that defines the database and can be accessed for information on the database schema. These tables hold important information on the database and its structure: Tables [sys_db_object]: contains a record for each table. Dictionary Entries [sys_dictionary]: contains additional details for each table and the definition for every column on each table. Each row represents either a column on a table or a table. Field Labels [sys_documentation]: contains the human-readable labels and language information. The table cleaner Table cleaner automatically deletes records on certain tables to prevent data growing exponentially. ServiceNow automatically deletes records from specific tables after a specific time to deletion. Deleting these records automatically prevents the tables from growing to an unmanageable size. The time before a record is deleted begins on the date and time value in the tracked field. The Table Cleaner scheduled job runs the table cleaner every hour. To view the list of tables that are auto-cleaned, in the Navigator filter, type: sys_auto_flush_list.do. All records with [MatchField < (current_time - Age in seconds)] are deleted. The MatchField field represents a Date/Time column in the table that you are trying to clean up. The Age in seconds field represents a value in seconds. You can set up multiple table cleaner entries for a particular table. Performance depends on the size of the table and the conditions used. For example, if you use a custom column in a very large table that has no index on, performance is severely degraded. Performance also depends on the number of rows to be deleted. Table 1. Cleaned tables Table Tracked field Time to deletion sys_poll sys_created_on 1 day cmdb_metric sys_created_on 2 days ecc_agent_metric sys_created_on 30 days v_transaction sys_created_on 1 day wf_context ended 180 days sys_cache_flush sys_created_on 1 hour sys_replication_queue sys_created_on 1 day sysevent sys_created_on 7 days ecc_queue sys_created_on 30 days syslog sys_created_on 90 days sys_querystat sys_created_on 30 days plan_execution sys_created_on 30 days sys_user_session last_accessed 1 day sys_user_preference sys_updated_on 1 day sys_history_set sys_updated_on 30 days label_history sys_created_on 30 days ts_search_summary sys_created_on 30 days sys_cluster_message sys_created_on 1 day cmdb_tcp_connection sys_updated_on 30 days cmdb_running_process sys_updated_on 30 days Data management plugins Plugin Description Data Archiving Provides the ability to archive records to minimize performance issues. Database Rotations Provides tools for managing large tables to minimize performance issues. Many to Many task relations Provides the ability to define many-to-many relationships between task tables. The unique record identifier (sys_id)Each record in the instance is identified by a unique 32-character GUID (Globally Unique ID) called a Sys ID (sys_id). There are various ways to get the sys_id of a record. Data archivingThe archive application moves data that is no longer necessary for immediate day-to-day access from primary tables into a set of archive tables.Export and import XML filesTo occasionally migrate data from one instance to another, you can export the XML data from one instance and import it to another.Export setsExport sets allow you to push data from an instance to an external file.Import setsImport sets allow administrators to import data from various data sources, and then map that data into ServiceNow tables.System cloneThe system clone application allows users with the clone_admin or admin role to clone data from one instance to another.Database rotationDatabase rotation involves managing table size growth and archiving old data.