
Different kinds of back-end applications use their own types of keys, which can vary in the number of fields, data types and so on. The back-end applications only require these back-end keys to uniquely identify data in their tables.
For improved data distribution performance, Data Orchestration Engine (DOE) uses its own keys (16 byte GUIDs) to identify records in the generated tables in the consolidated data store (CDS) and the device inventory. When you activate a data object, a separate table is generated in the CDS for each node in the data object. These tables include the fields for the node attributes and the fields for all the keys required to uniquely identify the rows in DOE.
DOE maintains a mapping between the back-end keys and the DOE keys within it to exchange data with the back end and the clients.
To allow for unique identification in DOE, each node in the data object node hierarchy contains the following keys:
DOE key or synchronization key (SyncKey)
Uniquely identifies a row of the data object node in the CDS table.
Extract key
Uniquely identifies an instance of a data object in DOE.
Back-end or application keys
Back-end applications use this key to identify object instances in the back-end tables.
Child nodes also contain the Parent synchronization key (PSyncKey)
In this field, the child nodes hold their parent's SyncKey.
Depending on whether an association is defined for a data object, the nodes can also contain an association synchronization key.
More information: Key Mapping Between Associated Data Objects
To ensure referential integrity between the nodes within a data object, DOE maintains a mapping between the back-end key fields of the nodes and the corresponding fields in the nodes lower in the node hierarchy.
More information: Data Object-Internal Key Mapping