Description
The Unified Data Repository (UDR) is a critical component within the 5G Core (5GC) Service-Based Architecture (SBA), defined by 3GPP. It acts as a centralized, standardized data storage entity for structured data, decoupling data storage from application logic. The UDR stores various data profiles, including Subscription Data (used by the Unified Data Management, UDM), Policy Data (used by the Policy Control Function, PCF), Application Data (used by Network Exposure Function, NEF), and Structured Data for Network Slicing. Architecturally, the UDR exposes a northbound service-based interface (Nudr) using HTTP/2 and JSON, allowing other Network Functions (NFs) like UDM, PCF, and NEF to access and manage data via standardized API operations such as Nudr_DM (Data Management) and Nudr_DR (Data Repository).
Internally, the UDR organizes data into Data Sets, which are collections of data of a specific type for a given user or service. For example, subscription data for a user is stored in a specific data set. The UDR ensures data consistency, integrity, and availability. It supports operations like Create, Read, Update, Delete, and Query (CRUDQ) on these data sets. The repository is designed to be highly scalable and reliable, often implemented with distributed database technologies to handle the massive data volumes and low-latency access requirements of 5G networks. Its role is purely for storage and retrieval; the application logic (e.g., authentication decisions by UDM) resides in the consumer NFs.
The UDR's implementation enables a clear separation between data storage and data usage logic, which is a key principle of the 5GC SBA. This separation allows for independent scalability of storage and processing functions, simplifies upgrades, and fosters innovation. For instance, the UDM can focus on subscription management logic while relying on the UDR for persistent storage. The UDR also supports network slicing by storing slice-specific subscription and policy data, allowing different slices to have isolated or shared data sets as needed. Furthermore, it facilitates data exposure to authorized third-party applications via the NEF, enabling new service paradigms.
Purpose & Motivation
The UDR was created to address the data fragmentation and siloed storage issues present in previous mobile network generations like 4G EPC. In EPC, data was often stored in dedicated, function-specific repositories (e.g., HSS for subscription, SPR for policy), leading to duplication, inconsistency, and complex integration. The 5G vision required a more agile, cloud-native, and service-oriented core network to support diverse use cases from enhanced mobile broadband to massive IoT and ultra-reliable low-latency communications.
The UDR solves these problems by providing a unified, centralized repository for all structured data in the 5GC. This consolidation eliminates data redundancy, ensures a single source of truth, and simplifies data management operations. It directly supports the 5GC's Service-Based Architecture by offering a standardized data storage service that any authorized network function can consume via APIs. This design is essential for enabling network slicing, as each slice can have its dedicated data profiles stored and managed within the same UDR infrastructure, ensuring isolation and efficient resource utilization. The UDR thus future-proofs the network for data-driven services and flexible service deployment.
Key Features
- Centralized storage for structured subscriber, policy, and application data
- Service-Based Interface (Nudr) using HTTP/2 and JSON for standardized access
- Support for multiple data sets (e.g., subscription, policy, exposure)
- Decouples data storage from application logic of consuming NFs like UDM and PCF
- Enables data consistency and serves as a single source of truth
- Facilitates network slicing through slice-specific data isolation and management
Evolution Across Releases
Introduced as a foundational component of the 5G Core Service-Based Architecture. Defined the initial architecture with the Nudr service-based interface, specifying data management operations for subscription, policy, and application data sets to support the first phase of 5G standalone networks.
Defining Specifications
| Specification | Title |
|---|---|
| TS 22.985 | 3GPP TS 22.985 |
| TS 23.203 | 3GPP TS 23.203 |
| TS 23.280 | 3GPP TS 23.280 |
| TS 23.335 | 3GPP TS 23.335 |
| TS 23.501 | 3GPP TS 23.501 |
| TS 23.845 | 3GPP TS 23.845 |
| TS 23.862 | 3GPP TS 23.862 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.891 | 3GPP TS 26.891 |
| TS 26.919 | 3GPP TS 26.919 |
| TS 28.540 | 3GPP TS 28.540 |
| TS 28.840 | 3GPP TS 28.840 |
| TS 29.201 | 3GPP TS 29.201 |
| TS 29.212 | 3GPP TS 29.212 |
| TS 29.213 | 3GPP TS 29.213 |
| TS 29.214 | 3GPP TS 29.214 |
| TS 29.215 | 3GPP TS 29.215 |
| TS 29.335 | 3GPP TS 29.335 |
| TS 29.503 | 3GPP TS 29.503 |
| TS 29.504 | 3GPP TS 29.504 |
| TS 29.505 | 3GPP TS 29.505 |
| TS 29.512 | 3GPP TS 29.512 |
| TS 29.513 | 3GPP TS 29.513 |
| TS 29.514 | 3GPP TS 29.514 |
| TS 29.519 | 3GPP TS 29.519 |
| TS 29.521 | 3GPP TS 29.521 |
| TS 29.522 | 3GPP TS 29.522 |
| TS 29.523 | 3GPP TS 29.523 |
| TS 29.525 | 3GPP TS 29.525 |
| TS 29.543 | 3GPP TS 29.543 |
| TS 29.554 | 3GPP TS 29.554 |
| TS 29.562 | 3GPP TS 29.562 |
| TS 29.563 | 3GPP TS 29.563 |
| TS 29.808 | 3GPP TS 29.808 |
| TS 29.817 | 3GPP TS 29.817 |
| TS 29.866 | 3GPP TS 29.866 |
| TS 29.890 | 3GPP TS 29.890 |
| TS 32.181 | 3GPP TR 32.181 |
| TS 32.182 | 3GPP TR 32.182 |
| TS 32.255 | 3GPP TR 32.255 |
| TS 32.256 | 3GPP TR 32.256 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.843 | 3GPP TR 32.843 |
| TS 32.901 | 3GPP TR 32.901 |
| TS 33.127 | 3GPP TR 33.127 |
| TS 33.501 | 3GPP TR 33.501 |
| TS 33.514 | 3GPP TR 33.514 |
| TS 33.530 | 3GPP TR 33.530 |