The BMC Discovery data model and the approach to data storage enables you to model complex IT environments in such a way that the model is a very close representation of the actual environment. This document describes the mapping between the model and the real-world environment in detail. The model is constructed from discovery information, possibly augmented with data imported from other sources, and is an approximation of the actual state of the environment. For more information, see The default data model.
The datastore uses a graph model to represent entities in the environment and the relationships between them. The basic elements of the storage model showing the nodes, roles and relationships are represented in the following example:
All data is stored as nodes. Nodes have a kind, such as Host, and a set of key-value pair attributes representing the state of the node. Values can be of any type, including complex structures and sequences. However, in the majority of cases, the values are simple scalar types such as strings and numbers, or sequences of scalar types.
Relationships represent connections between nodes, for example, to indicate that a process is running on a particular host computer. Relationships are attached to nodes through Roles. The Roles remove ambiguities in two main situations:
- When both nodes have the same kind: For example, to model an Employment relationship between two Person nodes, one Person would have the role Employer and other would have the role Employee.
- When the same kind of relationship can exist for different reasons: For example, a Person can have the role BusinessOwner or SupportOwner in an Ownership relationship, while many different kinds of node have the OwnedItem role at the other end of the relationship.
The datastore itself does not maintain any knowledge of what kinds of nodes, roles and relationships are expected, or of the keys and value types expected as node and relationship state. These details are maintained by the taxonomy subsystem. The taxonomy defines the expected node, Role and Relationship kinds, and the attributes which they are expected to have. The definitions in the taxonomy determine the model of the environment.
Types of information
The model makes explicit distinctions between the different types of information that are stored. The core types of information are as follows:
- Inferred — see Inferred nodes.
- Directly Discovered — see DDD nodes.
- Pattern Management — see Pattern Management nodes.
BMC Discovery also stores provenance and imported information.
Inferred information is the type of information that is likely to be of most interest to most users and is inferred from other information using rules in the Reasoning Engine. This type of information is unlikely to change between scans and includes classifications of hosts, groupings of discovered information into running instances of products, and so forth. See Inferred nodes.
In contrast, directly discovered information is obtained directly from a target host through particular discovery techniques. This includes items such as a list of running processes associated with a host, network connections, and so forth. For more information, see DDD nodes.
Imported information is information about discovery targets acquired from a source other than the target itself. For example, a storage management system, or an Active Directory domain manager.
Pattern Management information is any information that is included in a pattern and describes what could be discovered and inferred about an environment, as opposed to what has actually been discovered. The Technology Knowledge Network (TKN) provides some of this information, but it also includes customer-specific knowledge about the applications they use and rules about how they are connected. For more information, see Pattern Management nodes.
Provenance relationships are meta-information describing how the other information came to exist. It is automatically generated as the Reasoning Engine builds and maintains the model. For more information about provenance, see Provenance.