Tenant-Aware Database Schema for SaaS Data Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in supporting multiple tenants in a single database, leading to issues such as poor scalability, high maintenance costs, and data isolation problems in Software as a Service (SaaS) environments.

Innovation Solution

A tenant-aware relational database management system with a storage manager that includes a tenant table, tenant/user table, tenant/object table, multi-tenant table structures, and multi-tenant index structures, allowing for a single schema definition with multiple data instances, providing data isolation and efficient maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a separate database is used for each tenant, then data isolation is achieved, but scalability and maintenance become difficult

Engineering Contradiction:
Improvedata isolationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple tenant databases into a single shared database instance, allowing multiple tenants to coexist in one database while maintaining logical isolation through schema separation. This eliminates the need for separate database servers for each tenant, improving scalability and reducing infrastructure complexity while preserving data isolation boundaries.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared database instance serves multiple tenants simultaneously, making the database infrastructure universal rather than dedicated to a single tenant. The system achieves multi-functionality by supporting multiple tenants through a single database instance with tenant-specific schemas, thereby improving resource utilization and scalability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a single shared database with separate schema for each tenant is used, then data isolation is maintained, but schema synchronization becomes difficult

Engineering Contradiction:
Improvedata isolationVSAvoidschema maintenance
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent combines multiple tenant schemas into a single shared database instance, allowing centralized schema management. Schema changes can be applied once to the shared database structure and automatically benefit all tenants, eliminating the need to synchronize schema changes across multiple separate databases while maintaining tenant-specific data isolation through logical schema separation.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of manufacture

If a single shared database with shared schema for all tenants is used, then maintenance is simplified, but data isolation and security are compromised

Engineering Contradiction:
Improvemaintenance easeVSAvoiddata isolation
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies local quality by creating tenant-specific schemas within the shared database instance. Each tenant has their own logical schema boundary that provides data isolation and security, while the underlying shared database infrastructure enables simplified maintenance. This approach allows different parts of the database (tenant schemas) to have different security and isolation properties while maintaining overall system simplicity.

Inventive Principle:
Principle #3Local quality

4Reliability

If multiple separate database servers are deployed for each tenant, then data isolation is ensured, but system resource requirements and infrastructure costs increase

Engineering Contradiction:
Improvedata isolationVSAvoidsystem resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple tenant database instances into a single shared database server, consolidating system resources while maintaining data isolation through logical schema separation. This approach reduces the total number of database servers required, lowering infrastructure costs and resource consumption while preserving the data isolation boundaries through tenant-specific schemas.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared database instance performs multiple functions by serving multiple tenants simultaneously, making the infrastructure universal rather than dedicated. This multi-functional approach allows a single database server to handle workloads from multiple tenants, thereby reducing the quantity of system resources needed compared to deploying separate dedicated database servers for each tenant.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9898549B1Tenant-aware database for software as a service
Publication Date: 2018.02.20 PROGRESS SOFTWARE CORP
  • US9898549B1 patent drawing
  • US9898549B1 patent drawing
  • US9898549B1 patent drawing

AI summary

A system for providing a tenant-aware database includes a relational database management system comprising a query engine, a transaction manager, a buffer manager, a recovery manager and a storage manager. The storage manager includes a tenant table, a tenant/user table, a tenant/object table, a multi-tenant table structure and multi-tenant index structure. The tenant table, the tenant/user table, the tenant/object table, the multi-tenant table structure and the multi-tenant index structure cooperate to provide a mechanism that has a single schema definition with multiple data instances for tables and their associated indexes, one for each tenant. The use of multi-tenant structures and associated components in the storage manager is advantageous because it provides: good isolation among tenant's data (each tenant's data can be stored in one or multiple storage areas independent of other tenants), simple schema updates as there is only one schema to update, easy maintenance that can be done for individuals tenant's data without affecting others, good performance and good scalability. The present invention also includes a variety of methods including: a method for reading or writing using the storage manager, a method for reading or writing using the multi-tenant table structure and the multi-tenant index structure, a method for determining the tenant of a user and a method for making multi-tenant schema changes.