Virtual Database Partitioning for Multi-Application Data Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database management techniques are inadequate for efficiently managing data from multiple applications on a single instance of a database, leading to challenges such as data corruption and increased costs due to the need for multiple database instances, which can affect the state of other applications and require additional resources.
Innovation Solution
A virtual database system that stores snapshots of data from multiple source databases, allowing for the creation of virtual partitions that share database blocks and can be modified independently of each other, enabling efficient management and querying of data across different points in time without affecting other partitions or the database instance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple applications use the same instance of database, then resource utilization is improved, but data integrity and application independence deteriorate
Solution Approach 1:
The database instance is segmented into multiple virtual partitions, each assigned to a specific application. These virtual partitions are isolated from each other, allowing multiple applications to share the same physical database instance while maintaining data integrity and independence within each partition.
2Reliability
If multiple instances of database are maintained, then application independence is improved, but cost and resource requirements worsen
Solution Approach 1:
Multiple virtual database instances are merged into a single physical database instance through virtual partitioning. Each virtual partition operates independently with its own metadata and data blocks, providing application independence while sharing the underlying hardware resources, thus reducing overall system complexity and resource requirements.
3Quantity of substance
If database blocks are shared among virtual partitions, then storage efficiency is improved, but modification independence worsens
Solution Approach 1:
The system implements local quality by allowing different virtual partitions to share the same database blocks when no modifications are needed, while enabling exclusive modification rights when changes are required. The virtual partition manager tracks which partitions have modified their shared blocks, ensuring that modifications are independent and do not affect other partitions.
Data Source
AI summary
Information from source databases is retrieved and stored on a database storage system. Multiple point-in-time copies are obtained for each database. A source database may contain partitions comprising sets of database tables. A partition is imported into a virtual database created. The database storage system validates the partition before importing, by checking whether the partition includes database tables that refer to database tables outside the partition. A partition imported in a virtual database may be rewinded to an older state or refreshed to a more recent state. Multiple partitions may be included in a virtual database and the state of each partition modified independent of the state of the remaining virtual database including the other partitions. Multiple versions of the same partition corresponding to different points in time are incorporated in the same virtual database, thereby allowing a query to process different versions of the same database table.


