## 14.6 Serialized Dictionary Information (SDI)

 In addition to storing metadata about database objects in the data dictionary, MySQL stores it in serialized form. This data is referred to as serialized dictionary information (SDI). `InnoDB` stores SDI data within its tablespace files. [`NDBCLUSTER`](mysql-cluster.html) stores SDI data in the NDB dictionary. Other storage engines store SDI data in `.sdi` files that are created for a given table in the table's database directory. SDI data is generated in a compact `JSON` format.

 Serialized dictionary information (SDI) is present in all `InnoDB` tablespace files except for temporary tablespace and undo tablespace files. SDI records in an `InnoDB` tablespace file only describe table and tablespace objects contained within the tablespace.

 SDI data is updated by DDL operations on a table or [`CHECK TABLE FOR UPGRADE`](check-table.html). SDI data is not updated when the MySQL server is upgraded to a new release or version.

 The presence of SDI data provides metadata redundancy. For example, if the data dictionary becomes unavailable, object metadata can be extracted directly from `InnoDB` tablespace files using the [**ibd2sdi**](ibd2sdi.html) tool.

 For `InnoDB`, an SDI record requires a single index page, which is 16KB in size by default. However, SDI data is compressed to reduce the storage footprint.

 For partitioned `InnoDB` tables comprised of multiple tablespaces, SDI data is stored in the tablespace file of the first partition.

 The MySQL server uses an internal API that is accessed during [DDL](glossary.html#glos_ddl) operations to create and maintain SDI records.

 The [`IMPORT TABLE`](import-table.html) statement imports `MyISAM` tables based on information contained in `.sdi` files. For more information, see [Section 13.2.5, “IMPORT TABLE Statement”](import-table.html).

