Database Tenant Separation via Partition Converters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant database systems face high costs due to individual maintenance efforts for each tenant, including backup, recovery, and lifecycle management, and data security concerns arise when using a single database for multiple tenants.

Innovation Solution

Implementing a database system with a common partition for tenant-independent data and tenant-specific partitions, using a unique partition ID for each tenant, and employing converters to manage and move tenant data efficiently across database instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If a single database is used to store data of all tenants, then database-related costs are reduced, but data security concerns arise and individual tenant data cannot be easily moved or copied

Engineering Contradiction:
Improvedatabase-related costsVSAvoiddata security
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The database is segmented into a common database storing tenant-independent data and multiple tenant-specific databases or partitions storing tenant-specific data. This segmentation allows cost-effective shared infrastructure while maintaining data security and enabling independent data movement for each tenant through the conversion to database instance format.

Inventive Principle:
Principle #1Segmentation

2Reliability

If separate databases are used for each tenant, then data security and data movement capability are improved, but individual maintenance and administrative efforts increase costs

Engineering Contradiction:
Improvedata securityVSAvoidmaintenance and administrative efforts
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple tenant-specific databases are merged into a single database instance using a unified database format with tenant identification fields. This merging reduces maintenance and administrative efforts while preserving data security through logical separation and enabling data movement through standardized conversion processes.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If tenant-specific data is stored in a shared database, then resource utilization is improved, but copying and moving tenant data between database instances becomes difficult

Engineering Contradiction:
Improveresource utilizationVSAvoiddata copying and moving
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The database uses parameter changes including tenant identification fields and convertible database format to enable efficient resource utilization in a shared database while facilitating easy copying and moving of tenant data through standardized conversion to database instance format.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2395439B1Tenant separation within a database instance
Publication Date: 2020.03.04 SAP SE
  • EP2395439B1 patent drawingFigure 1
  • EP2395439B1 patent drawingFigure 2
  • EP2395439B1 patent drawingFigure 3~5

AI summary

A system includes a database instance, a data storage system, and a database management system. The data storage system stores a first data partition and a second data partition. The first data partition includes a first plurality of database pages storing tenant-independent data and a first converter associated with the first partition. The second data partition includes a second plurality of database pages storing tenant-independent data and a second converter associated with the second partition. The database management system is to receive a request for a database object, determine whether the database object is associated with tenant-independent data or with tenant-specific data, determine, if the database object is associated with tenant-independent data, a location of first database pages associated with the database object within the first plurality of database pages based on the first converter, and determine, if the database object is associated with tenant-specific data, a location of second database pages associated with the database object within the second plurality of database pages based on the second converter.