UModel (Universal Observability Model) is a graph-based data modeling method for observable data. It addresses the core challenges of data collection, organization, and usage in enterprise environments. UModel uses a graph structure of Nodes and Links to describe the IT world, enabling unified representation, storage decoupling, and intelligent analysis of observable data. As the data modeling foundation for the Alibaba Cloud observability system, UModel provides businesses with a universal "interactive language" for observability that allows people, programs, and AI to understand and analyze observable data to build true full-stack observability.
Core concepts
Modern observability environments span dozens of services, hosts, and storage systems. Correlating metrics, logs, and traces across these components requires a shared data model that works regardless of where the data lives. UModel provides that model.
UModel represents the IT world as a directed graph: Nodes hold data, Links express relationships, and Fields describe the properties of both. Grounded in information science ontology, UModel treats every observable component — a service, a pod, a host — as an entity with typed relationships to other entities. Storage is decoupled from the model, so the same entity graph works across SLS, Prometheus, MySQL, or any other backend.
Graph model basics
UModel represents an IT system as a directed graph built from three primitives:
|
Primitive |
Role |
Examples |
|
Node |
A dataset with a storage class. The dataset (Set) holds similar entities or data; the storage class (Storage) defines where it lives. |
EntitySet + SLS, MetricSet + Prometheus, LogSet + MySQL |
|
Link |
A typed relationship between Nodes. |
EntitySetLink, DataLink, StorageLink |
|
Field |
A constraint or descriptor applied to a Set or Link. Includes more than 20 configuration items: name, type, constraint rules, and analysis features. |
|
A Node combines a Set (what the data is) and a Storage (where it lives). This separation lets UModel switch storage systems without changing the logical model.
Information science ontology
UModel's design is grounded in information science ontology — a formal method for defining concepts and their relationships within a domain. Applied to observability, it produces five core constructs:
EntitySet: A collection of similar concepts — for example, the
apm.service,k8s.pod, andinfrastructure.hostentity types.Entity: A specific instance of an EntitySet — for example, the
order-serviceservice or theweb-pod-001pod.Field: Describes the features of an Entity and a Set — for example, the
service_name,version, andstatusfields of a service.EntitySetLink: A typed relationship between EntitySets — for example,
calls,contains, orruns_on.Constraints: Rules enforced on Fields to guarantee data consistency and integrity. A constraint defines a Field's data type, value range, and validation rules.
Together, these constructs let UModel describe any observable component precisely: what type of thing it is (EntitySet), which specific instance (Entity), what properties it carries (Field and Constraints), and how it relates to other components (EntitySetLink).
Data fusion
Rather than requiring all data to live in a single storage system, UModel fuses data from multiple sources while maintaining a unified semantic layer. Four mechanisms make this possible:
Storage abstraction: Storage and StorageLink decouple the logical model from specific backends. The same graph model works across SLS, Prometheus, MySQL, and other storage systems.
Semantic unification: Fields define unified semantics across data sources. CommonSchema standardizes common field definitions — for example, a field named
service_namemeans the same thing whether it comes from a trace or a metric.Association analysis: EntitySetLinks connect entities across domains, enabling cross-signal correlation — for example, linking an APM service to the Kubernetes pod it runs on.
Dynamic mapping: Field mapping and dynamic transforms keep UModel compatible with existing data formats.
Entity-relationship model
UModel represents the IT world as an entity-relationship model:
Entity modeling: System components are abstracted into EntitySets — for example, services, databases, hosts, and containers each become a distinct EntitySet type.
Relationship definition: EntitySetLinks express how entities relate — for example,
calls,contains, andruns_onrelationship types.Data association: DataLinks associate observable data — such as logs, metrics, and traces — with the corresponding entities.
Graph construction: UModel automatically generates entity topology graphs and data relationship graphs. This supports graph queries and graph analysis.