Multi-tenant Logical Database Allocation Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud database instances face high costs due to underutilization of resources, complex continuous integration and deployment setups, and cumbersome day-2 operations, especially in multi-tenant environments where high availability and geo-distribution are required.
Innovation Solution
An automated, infrastructure-agnostic system manages fleets of tenant-oriented logical RDBMS databases across physical servers using a tenant-aware API and database allocation engine, which selects eligible physical RDBMS servers and allocates logical databases, ensuring secure isolation and efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If physical resources are allocated to database instances to ensure high availability and geo-physical distribution, then reliability is improved, but cost increases due to substantial physical resource requirements
Solution Approach 1:
Multiple logical databases from different tenants are merged and co-located on the same physical database server. The system allows multiple PostgreSQL logical databases to share underlying physical resources (storage, compute, network) while maintaining logical isolation through connection-level separation, thereby reducing total physical resource requirements while preserving reliability.
Solution Approach 2:
A single physical database server is designed to serve multiple functions by hosting multiple logical databases for different tenants simultaneously. The physical infrastructure becomes universal, accommodating workloads from multiple tenants without requiring dedicated physical resources for each tenant, thus improving resource utilization and reducing costs.
2Reliability
If physical resources are allocated to database instances for geo-physical distribution, then reliability is improved, but resource utilization decreases due to under-utilization
Solution Approach 1:
The system merges multiple logical databases across different tenants onto shared physical infrastructure, including geo-distributed physical servers. This consolidation ensures that physical resources in each geographic location are fully utilized by multiple tenants rather than being under-utilized by single-tenant instances, thereby improving overall resource utilization while maintaining geo-physical distribution for reliability.
3Productivity
If database instances are scaled to meet peak demand, then productivity is improved, but cost increases due to over-provisioning during low-utilization periods
Solution Approach 1:
Physical database servers are designed with universal capacity to handle peak demands from multiple tenants collectively rather than each tenant requiring dedicated over-provisioned resources. During peak periods, multiple tenants can utilize the shared physical resources simultaneously, ensuring productivity is maintained while avoiding the cost of individual over-provisioning.
Solution Approach 2:
The system enables dynamic resource sharing where physical resource allocation is flexible and can be adjusted based on actual demand patterns across multiple tenants. Rather than static over-provisioning, the physical infrastructure dynamically serves multiple logical databases, allowing capacity to be optimized based on real-time utilization needs.
4Loss of energy
If multiple logical databases are hosted on shared physical servers for multi-tenancy, then resource utilization is improved, but maintaining logical isolation becomes more complex
Solution Approach 1:
The system segments logical databases at the connection level within PostgreSQL, where each tenant's logical database is isolated through dedicated connection contexts. This segmentation approach maintains clear logical boundaries between tenants while allowing physical resource sharing, thereby improving resource utilization without significantly increasing the complexity of isolation mechanisms.
Data Source
AI summary
According to some embodiments, methods and systems may manage a fleet of multi-tenant logical databases in Relational Database Management System (“RDBMS”) servers for a cloud computing environment. The system may include a pool of physical RDBMS servers (e.g., Postgre-Structured Query Language (“SQL”) servers) and a tenant-aware Application Programming Interface (“API”) that is accessed by tenants. A computer processor of a database allocation engine may receive, from the tenant-aware API, a request to provision a logical database including a tenant identifier associated with a requesting tenant. The database allocation may then select an eligible physical RDBMS server in the pool of physical RDBMS servers and allocate a logical database for the requesting tenant via the selected physical RDBMS server (e.g., using the tenant identifier).


