Application Root for Shared Metadata in Pluggable Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems face limitations in optimizing memory usage and managing shared data and metadata across pluggable databases used by the same application, as they require duplicating common objects and definitions within each database, leading to inefficiencies and potential malfunctions if user-defined metadata and data are stored in the root database.
Innovation Solution
The introduction of an 'application root' that stores shared data and metadata for member pluggable databases, allowing for two classifications of objects: data-linked, where both metadata and data are stored in the application root, and metadata-linked, where definitions are stored in the application root but data is stored in individual member PDBs, enabling efficient memory usage and management of common objects across multiple PDBs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If common objects and definitions are duplicated within each pluggable database, then data independence and isolation are maintained, but memory usage increases and management complexity worsens
Solution Approach 1:
The patent merges common objects and definitions into a shared root database that is accessible by multiple pluggable databases. Instead of duplicating metadata and common data objects in each PDB, the system consolidates these shared elements in the root database, allowing all PDBs to reference the same underlying storage structures. This merging eliminates redundant storage and simplifies management of common application objects across multiple databases.
2Quantity of substance
If user-defined metadata and data are stored in the root database, then sharing and memory efficiency improve, but system stability and reliability worsen due to potential malfunctions
Solution Approach 1:
The patent segments the database architecture into two distinct layers: the root database for storing common/shared objects and definitions, and individual pluggable databases for storing application-specific and user-defined data. This segmentation isolates user-defined metadata from the shared root structures, allowing efficient sharing of common objects while maintaining stability by preventing user-defined changes from affecting the core shared infrastructure.
Solution Approach 2:
The patent applies local quality by allowing different storage locations for different types of data: common objects and their metadata are stored in the root database with shared storage structures, while user-defined data and application-specific objects are stored in individual PDBs with isolated storage. This creates optimized local storage characteristics for each data type - shared storage for common objects and isolated storage for user-defined data.
3Productivity
If separate databases are created for each application, then data isolation and security are maintained, but resource utilization and productivity decrease
Solution Approach 1:
The root database is designed as a universal storage structure that serves multiple pluggable databases simultaneously. Common objects, metadata, and definitions are stored once in the root and can be referenced by any number of PDBs, making the root database a multi-functional resource that supports multiple applications without requiring separate duplications. This universality improves resource utilization while maintaining the ability of each PDB to function independently.
Data Source
AI summary
In an approach, memory usage within a database management system is optimized by designating an application root which stores data and metadata for database objects that are common across pluggable databases which support the same application. In addition, the application root can be used to manage access to the pluggable databases by defining common users which are created at the application root, but can be used to access any of the member pluggable databases. Furthermore, different versions of the same application can be supported concurrently by maintaining separate application roots for each version. For instance, when an upgrade is applied to the application root, a clone can be created and the update can be applied to the clone. Then, the member pluggable databases which are to be upgraded can be synchronized to the clone, while leaving other pluggable databases servicing the previous version of the application.


