The ONE Platform Approach to Data Modeling
The ONE platform is a data-driven integrated operations platform. The platform aims to explain the data model definitions and model construction philosophy of the ONE platform to users through the data model page. This article will introduce the functions and usage of the model management page, enabling users to intuitively understand the definition details of models such as entities, metrics, metadata, and dictionaries registered on the platform, and to manage various model data.
Entity
The Entity function page is used to manage entity model data registered on the platform. By default, the page displays entity models of interest to users and the relationships between them in a topology format, organized by IT system hierarchy.

- The platform divides the IT system into five layers based on the proximity of various entity concepts to the end-user: Business Operations, User Experience, Application Components, Infrastructure, and Network Communication. Various predefined entity models of the platform are categorized into different IT system layers according to their roles.
- Based on previous comprehensive user research results, the platform predefines a total of 163 entity models. The predefined content includes: basic entity information (name, icon, belonging hierarchy, category, etc.), entity model information (attributes that registered entity instances should possess and their unique identifier content), and relationships between entities (whether there is a relationship, relationship type, correspondence method, etc.). Because the platform's predefined entity models cover multiple technology stacks, a single customer might only be involved in one technology stack. To ensure a good user experience, the platform by default only displays entity models related to the most common technology stack in the entity model topology diagram. If users need to manage the topology display content, they can refer to the subsequent usage instructions for functions like "Model System Management" and "Custom Model Topology" for adjustment operations.
- The entity model topology uses the brightness/darkness of the legend to indicate whether instance data has been registered under that entity. When a user registers an instance under a certain entity model on the platform, the corresponding entity node in the topology will be automatically highlighted upon viewing.
Model System Management
The platform provides the Model System Management function to offer users comprehensive entity model management capabilities, including key functions such as defining whether an entity model is active, creating custom entity models, and custom model management.

Defining Whether Custom Entity Models Are Active
Because the platform predefines entity models based on results from all customers, there might be redundant data for a single specific customer. Therefore, the platform provides the "Define whether the model is active" function, allowing users to intervene in whether a model is active.

- The platform function uses checkboxes to control whether an entity model is active. Checked means active; unchecked means inactive.
- Active: Indicates that platform functions need to use this entity. Visual manifestation: functions like entity model topology, resource system, dashboards, and alerts only display checked (active) entities.
- Inactive: Indicates that platform functions do not need to use this entity. Visual manifestation: functions like entity model topology, resource system, dashboards, and alerts do not display unchecked (inactive) entities.
- Default Option Explanation:
- Because the platform inherently includes analysis functions for some entities (e.g., End Application, Service, System), to ensure that predefined functions are always available, the entity models that predefined functions depend on are selected by default, and users cannot modify their active status.
Creating Custom Entity Models
The platform supports users integrating third-party data for use. If the entity model to which the integrated data belongs is not covered by predefined entity models, users can create the required entity model using the "Create Entity Model" function provided on the entity page or through the ETL configuration page. By writing data under this entity model, users can then use platform functions like dashboards and alerts to monitor and analyze the newly created custom entity model.

Consistent with predefined model definitions, users creating custom entity models need to define view basic information, entity attributes, entity relationships, etc.
Key points for creating custom entity models:
- Basic Information: Defines the basic information used and displayed during the entity model's use.
- Entity Identifier: The platform's advanced usage includes a unified query syntax, BQL. Since entity names are often colloquial expressions and might not be suitable for use in BQL, users are required to define an entity identifier when customizing models for subsequent query scenarios like BQL.
- Entity Category: The platform adds a simple category for all predefined entities based on the main menu navigation's first-level classification. This category is used as the first-level classification in the metric system.
- Belonging Hierarchy: The hierarchy divided by the platform based on the proximity of various entity concepts in the IT system to the end-user. Users should select the hierarchy corresponding to the entity model they are customizing.
- Entity Attributes: Defines which attributes instances under the entity model should contain.
- Because entities and their attributes might be registered as metric dimensions for data analysis, to avoid situations where attributes with the same meaning have different names or attributes with different meanings have the same name, the CMDB defines metadata to standardize data consistency. It requires that entity model attributes must reference metadata, and one type of metadata represents a unique meaning.
- To ensure data can be managed uniformly through a management model, all entities in the ONE platform are required to possess six attributes: Instance ID, Instance Name, Instance Alias, Creation Time, Modification Time, and Lifecycle. These six attributes are added by the system by default and cannot be modified.
- To help users trace instance changes, the ONE platform records the last 5 changes of an instance in the form of historical versions. When creating an entity model, users can control whether the platform generates a historical version record for a change when a specific attribute of an instance changes by checking "Record Version".
- The new version of custom entity models supports users defining multiple sets of unique identifiers for entity uniqueness recognition during ETL integration. Therefore, the custom model page no longer forces users to define a unique identifier for entity recognition.
- Unique identifiers are used for data correlation during external data integration. For example: If a host (192.168.11.0) already exists in the ONE platform, assuming IP is the unique key for the host, when external integrated data contains data for host (192.168.11.0), the system will automatically correlate the integrated data with the existing data.
- Entity Relationships: Defines which specific association relationships the entity model might have with other entities.
- The platform currently only supports three types of relationships: Contains, Runs On, and Calls. Therefore, users need to translate the relationships they want to define into descriptions using these three types.
- Relationship Type: The platform's root cause analysis has a strong dependency on the timeliness of data when using relationship data. Therefore, a relationship type is added to describe whether the relationship data has timeliness. Dynamic indicates the existence of timeliness; Static indicates it is permanently valid and lacks timeliness.
- Relationships in ONE-CMDB are stored in the Graph DB. Defining an entity relationship will automatically create the corresponding edge table in the Graph DB. After relationship data is reported, it will be stored in the corresponding edge table.
Managing Entity Models
For custom entity models already created by users, they can be edited and deleted using the capabilities provided on the Model System Management function page.

Custom Model Topology
The platform by default displays all entity models and their relationships that users expect to use actively within the platform in a topology format according to the IT system hierarchy. For custom entity models that are set active for display, the system will randomly select a position within their belonging hierarchy for display. If users are dissatisfied with the display position of a custom model in the topology, they can adjust its display position using the page's "Custom Model Topology" function.

After entering the model topology editing page, users can select the entity model node they want to move with the mouse and drag it to the desired position. After adjusting the positions of all model nodes that need adjustment, save to make it effective.

Entity Details
To facilitate users quickly understanding entity model definition information, users can click on an entity node in the model topology to view the entity's attributes, associated relationships, metric system, and data registration status of instances (whether instances are registered, whether log data is reported), etc.


Metadata
To prevent the platform from having fields with the same name but different meanings or the same meaning but different names, the platform provides the concept of Metadata to standardize field names, field identifiers, data types, business meanings, etc. Under the Metadata tab on the Data Model page, users can view all registered metadata information on the platform.

For registered metadata, clicking the corresponding row allows users to view its detailed definition, including: basic metadata information (name, field name, data type, business meaning) and which entity models use this metadata as an attribute.

For metadata of the dictionary type, users can click the "Is Dictionary" field in the list to view the dictionary values it contains.

Custom Metadata
Because the platform requires entity attributes to reference metadata, if a user finds that a certain attribute required by an entity does not have a corresponding predefined metadata attribute on the platform when defining an entity model, they can use the platform's "Create Metadata" function to customize the required metadata. They can then directly use the customized metadata.

Usage Instructions:
- The platform has special usage and management logic for entity ID class and dictionary class metadata. To prevent abnormal platform function usage, it is necessary to select and fill in according to the actual data situation when customizing metadata.
- After users customize metadata, they can manage it using the list's edit/delete functions.
- Metadata that has been used as an attribute by an entity cannot be deleted. Deletion requires first deleting the corresponding entity attribute.
Dictionary
In practical use, some metadata, when used as entity attributes, have fixed enumerated values. To allow users to intuitively understand the specific enumerated values of an attribute, the platform introduces the Dictionary concept to manage these enumerated values. Users can learn about the dictionaries available on the platform and the content of their enumerated values in the Dictionary tab.

The items displayed in the dictionary list are related to the "Is Dictionary" definition in metadata. If defined as a dictionary, the dictionary list will add a row corresponding to that metadata attribute. Clicking the row allows users to view the definition of dictionary values for that dictionary-type metadata attribute.

For user-defined dictionary-type metadata, the list provides an edit function allowing users to manage its dictionary values. Predefined dictionary-type metadata currently do not provide an edit function.