Virtual Database Partitioning for Multi-Application Data Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If multiple applications use the same instance of database, then resource utilization is improved, but data integrity and application independence deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple instances of database are maintained, then application independence is improved, but cost and resource requirements worsen

Engineering Contradiction:
Improveapplication independenceVSAvoidresource requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If database blocks are shared among virtual partitions, then storage efficiency is improved, but modification independence worsens

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmodification independence
Core Design Contradiction:
Quantity of substanceVSEase of operation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10831707B2Virtual partitions in virtual databases
Publication Date: 2020.11.10 DELPHIX CORP
  • US10831707B2 patent drawing
  • US10831707B2 patent drawing
  • US10831707B2 patent drawing

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.