Prioritization of data

You can use prioritization to order incoming data into the TADDM database. Prioritization uses defined rules to determine which data source takes priority over other data sources when updating configuration item (CI) attributes. This method ensures that the reconciled CIs contain attribute values from a predefined data source.

Data for CIs can be supplied to TADDM from multiple sources. The multiple sources can include various sensors, the Discovery Management Console, the API, or discovery library adapters (DLAs). Prioritization of data, uses rules to create an ordered list of data sources.

Prerequisites for using prioritization

The following conditions must exist before using prioritization rules:
  • Prioritization occurs only when data is written and does not affect existing data.
  • Prioritization can only occur when loading data sources into a single database. Cross domain data, such as data combined at the synchronization server, cannot be prioritized.
  • Prioritization and data sources rules can be defined either before or after data from a particular source is loaded into the TADDM database. Deleting a data source does not affect data in the database.
  • Prioritization can only be applied between two CIs that are recognized by the system as the same item. When the same CI is written to the database using different naming rules or different values for the attribute, the system views the CI as two separate items. Prioritization is not applied to data between two different CIs.

CI data that does not require prioritization does not need a data source definition in order to save data into the TADDM database. In many cases, it is not necessary to provide any data sources or priority rules for a CI. Prioritization is not required for example, if only one data source reports information about that CI or if the data sources that provide data for a class are all equally trusted.

Priority rule definitions

Priority rules for data sources can be defined for the entire class or for an individual attribute for a class. The two levels cannot be used at the same time on any single CI class.
  • Priority rules can be changed from class level to attribute level or attribute level to class level for a particular CI class.
  • Changing the priority rules or priority levels alters the definitions in the TADDM database. When the new rules are applied to the incoming data, there can be a delay before the system completely reflects the changed priority definitions for a given CI class.
Class level priority rules
Class level priority rules provide an ordered list of data sources for the entire class. The priority of the data sources is determined by their position in the list. The first data source in the list has the highest priority, the second data source in the list has the second highest priority, and so on. Data can be written to the database from a data source that is not defined in a priority rule. However, the data can be overwritten by any data source defined by a priority rule because it has the lowest priority for that class. Whenever the incoming data source has a higher priority, it updates the data in the database (either the entire class or a particular attribute). If the incoming data source has a lower priority than the data source that owns the data in the database, the incoming data is ignored, either for the class or for a particular attribute.
Attribute level priority rules
Individual attribute priority rules behave the same way as class level rules. With one exception, the specific ordered list of data sources applies only for a particular attribute of the class. Each attribute in the class can have a different ordered list of data sources. The number of attributes in a class that can be prioritized using attribute level prioritization has a 192-character limitation. Therefore, the actual number depends on the attributes that are selected to be prioritized. The Discovery Management Console enforces the limit and informs you that an attempt was made to prioritize too many individual attributes.
Changing from attribute to class level priority rules
If prioritization rules are changed from attribute to class level after data is persisted in the database, the detailed information about which data source provided which attribute value is not preserved the next time the data is loaded. Instead, one of the providing data sources for the existing data is selected as the owner for all of the data in the CI. This data source is used in the comparison with the incoming data source to determine if the data in the CI must be updated. This action occurs because class level prioritization requires that all data in a CI to come from a single provider.
No priority rules defined
If no priority rules are defined, the latest data coming into the system updates the existing data.
Priority rules defined after data is in the database
If priority rules are added after data is in the database, the existing data is given the lowest priority in the system. The existing data is overwritten by the incoming data, no matter what the incoming data sources priority. After data is written using the new rules, prioritization applies to future updates.
Priority rules are deleted after data in the database
If priority rules are deleted after data is in the database, any incoming data updates the existing data.

Management software system (identifier)

When data is saved into the TADDM database, a management software system (MSS) identifier is provided to define the identity of the data provider. The system automatically attempts to match the MSS identifier of a data provider with data source definitions that were defined for prioritization. If a match is made between an MSS identifier and a data source, then all priority rules that contain that data source are applied to the incoming data. The Details pane in the Discovery Management Console displays the management software system (MSS) that provides data on a particular CI.