Tenant Resource Limits for Predictable Multi-Tenant Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tenant database architectures face challenges in efficiently managing shared computing resources, leading to unpredictable performance degradations due to 'noisy neighbor' effects where one tenant consumes excessive resources, impacting others.
Innovation Solution
Implementing configurable and enforceable resource limits per tenant, using workload classes that define resource constraints for database sessions, and a hierarchical mapping system to manage resource usage, ensuring predictable performance and isolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If a single database instance is used to manage data of multiple tenants, then resource sharing efficiency is improved, but performance predictability deteriorates due to noisy neighbor effects
Solution Approach 1:
The patent changes the parameter of resource allocation by introducing workload classes with configurable resource limits (CPU, memory, I/O, connections) that can be dynamically assigned to tenants. This allows the system to adjust resource distribution parameters to balance sharing efficiency with performance predictability, preventing noisy neighbor effects while maintaining high resource utilization.
Solution Approach 2:
The patent implements dynamic resource limit adjustment through workload classes that can be modified at runtime. Tenant resource constraints are not fixed but can be dynamically changed based on current system conditions and tenant needs, allowing the system to adapt between maximizing resource sharing and ensuring performance predictability as conditions change.
2Reliability
If a database instance per tenant architecture is used, then tenant data isolation is improved, but resource utilization efficiency deteriorates due to over-provisioning
Solution Approach 1:
The patent segments tenant isolation at the logical level through workload classes and resource limit assignments rather than requiring physical database instance segmentation. Each tenant receives guaranteed resource limits that provide effective isolation, while the underlying infrastructure remains shared, eliminating over-provisioning waste.
Solution Approach 2:
The patent merges multiple tenant workloads into a single database instance while maintaining effective isolation through workload classes. By combining physical resources while preserving logical separation mechanisms, the system achieves both high resource utilization and sufficient tenant isolation without requiring separate database instances for each tenant.
3Reliability
If resource limits are enforced per tenant, then performance predictability is improved, but system complexity increases due to configuration and management overhead
Solution Approach 1:
The patent creates a universal workload class framework that serves multiple functions: resource limitation, performance guarantee, tenant isolation, and system monitoring. This multi-functional approach consolidates what could be separate complex systems into a unified mechanism, reducing overall configuration complexity while maintaining performance predictability.
Solution Approach 2:
The patent enables self-service configuration where workload classes and resource limits can be defined and adjusted through standardized interfaces. The system automatically enforces these limits and monitors compliance, reducing the operational complexity of managing resource constraints across multiple tenants without sacrificing performance predictability.
Data Source
AI summary
Systems and methods include reception, at a database instance hosting a plurality of database tenants, of a statement for execution in a first database session associated with a first tenant, determination of first tenant-level resource limits associated with the database session, determination, for one or more resources, of a total amount consumed by the first database session, determination, based on the first tenant-level resource limits and the total amount of the one or more resources consumed by the first database session, of whether the statement can be executed by the database instance in compliance with the first tenant-level resource limits, and execution of the statement if it is determined that the statement can be executed by the database instance in compliance with the first tenant-level resource limits.


