Tenant-Aware Database Schema for SaaS Data Isolation
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If a separate database is used for each tenant, then data isolation is achieved, but scalability and maintenance become difficult
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.
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.
2Reliability
If a single shared database with separate schema for each tenant is used, then data isolation is maintained, but schema synchronization becomes difficult
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.
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
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.
4Reliability
If multiple separate database servers are deployed for each tenant, then data isolation is ensured, but system resource requirements and infrastructure costs increase
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.
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.
Data Source
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.


