Connection Pool Dynamic Tenant Configuration via Database Events

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant database environments, adding a new tenant requires manual configuration, which is inefficient and resource-intensive, as connection objects must be created and initialized, consuming time and resources.

Innovation Solution

A connection pool system that dynamically configures a new tenant by consuming events generated when a pluggable database is added, allowing the new tenant to access shared connections without manual setup, and enabling sharing of existing pool properties like maximum pool size or connections per tenant.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual configuration is used to add a new tenant to the connection pool, then the tenant can be properly configured to access the database, but the process consumes significant time and resources for connection object creation and initialization

Engineering Contradiction:
Improveproper tenant configurationVSAvoidtenant addition time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-configuring the connection pool with template connection objects and pool properties before tenants are added. When a new tenant is added, the system automatically applies these pre-configured templates through event-driven automation, eliminating the need for manual configuration and reducing tenant addition time while maintaining proper configuration standards.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The connection pool system provides self-service capabilities by automatically detecting when a new tenant is added to the database and autonomously configuring the necessary connection objects and pool settings. The system uses event subscriptions to monitor database changes and automatically provisions new tenants without requiring manual intervention, thereby reducing time loss while ensuring reliable configuration.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual configuration is used to add a new tenant to the connection pool, then the tenant can be properly configured to access the database, but the process is inefficient and resource-intensive

Engineering Contradiction:
Improveproper tenant configurationVSAvoidresource consumption for connection creation
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system merges the configuration process for multiple tenants by using shared connection pool templates and common pool properties. Instead of creating unique connection objects for each tenant manually, the system consolidates configuration efforts into reusable templates that can be automatically applied to multiple tenants, reducing overall resource consumption while maintaining proper individual tenant configuration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The connection pool automatically configures new tenants by subscribing to database events and autonomously creating connection objects based on pre-defined templates. This self-service mechanism eliminates the need for manual configuration operations, significantly reducing the computational resources and energy required for tenant addition while ensuring consistent and reliable configuration across all tenants.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If the connection pool requires manual configuration for each new tenant, then configuration accuracy can be maintained, but the system lacks scalability and efficiency

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidtenant addition speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system uses connection pool templates as reusable copies that can be automatically instantiated for each new tenant. These templates contain pre-validated configuration settings that ensure accuracy, while the automated copying process to multiple tenants maintains configuration precision through template consistency and reduces the time required for tenant addition through batch processing capabilities.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements feedback mechanisms by subscribing to database events that notify the connection pool when new tenants are added. This event-driven feedback loop ensures that configuration is triggered only when necessary, maintains accuracy through automated validation against templates, and improves productivity by immediately provisioning new tenants without waiting for manual configuration processes.

Inventive Principle:
Principle #23Feedback

4Productivity

If the connection pool dynamically configures new tenants automatically, then tenant addition efficiency is improved, but the system complexity increases

Engineering Contradiction:
Improvetenant addition speedVSAvoidconnection pool configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces event templates and configuration templates as intermediary layers between the database and the connection pool. These templates act as mediators that simplify the automation process by providing standardized interfaces and pre-configured settings, reducing the apparent system complexity while enabling efficient automatic tenant addition through event-driven triggers and template-based provisioning.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10742748B2System and method for supporting live addition of a tenant in a connection pool environment
Publication Date: 2020.08.11 ORACLE INT CORP
  • US10742748B2 patent drawing
  • US10742748B2 patent drawing
  • US10742748B2 patent drawing

AI summary

Described herein are systems and methods for providing access to a database in a multi-tenant environment, including the use of a connection pool, and support for live addition of a tenant. When a pluggable database (PDB), for use by a tenant, is added to a multi-tenant database, it can generate an event to notify the connection pool. The connection pool environment consumes this PDB-add event, and dynamically configures a new tenant to access the shared pool. Since the new tenant addition is based on receipt of an event from the database, the connection pool does not require manual configuration for that tenant. Once a tenant is added, it can borrow connections from the pool in the same manner as existing tenants, and can also share existing pool properties, such as, for example a maximum pool size, or maximum number of connections per tenant.