DBIT Connection Multiplexing for Database Connection Storms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of concurrent connections to databases due to web-based services scalability issues leads to memory and hardware demands, causing performance degradation, exceeding design limits, and inducing connection storms that overwhelm database capacity, resulting in significant interruptions and increased costs.
Innovation Solution
A DBIT server system multiplexes connections between application servers and databases using a custom communication protocol, implementing connection pooling and retry mechanisms to reduce the number of actual connections needed, optimize memory usage, and manage connection storms efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of concurrent connections to the database is increased to support web-based service scalability, then the service capacity and throughput are improved, but the memory consumption and hardware requirements increase significantly
Solution Approach 1:
The patent merges multiple application server connections into a single database connection through the gateway server. Multiple client connections are multiplexed over a shared database connection, allowing the system to support high service capacity while using minimal database connections and memory resources.
Solution Approach 2:
The gateway server acts as an intermediary between application servers and the database. It maintains a pool of database connections and manages them efficiently, mediating between the high connection demands of multiple application servers and the limited connection capacity of the database.
2Reliability
If additional RAM is added to database servers to support more connections, then the connection capacity is improved, but the hardware cost and system complexity increase
Solution Approach 1:
The patent combines multiple connection streams into a single shared connection pool managed by the gateway server, eliminating the need for additional RAM and hardware to support increased connection capacity.
Solution Approach 2:
The gateway server provides universal connection management functionality, serving multiple application servers with a single connection pool to the database, making the system scalable without additional hardware investments.
3Productivity
If the number of database connections is increased to handle connection storms, then the connection handling capacity is improved, but the system becomes overwhelmed and performance degrades
Solution Approach 1:
The gateway server pre-establishes a limited pool of database connections and maintains them ready for use. This preliminary action ensures that when connection storms occur, the system can handle requests efficiently without creating excessive connections that would overwhelm the database.
Solution Approach 2:
The connection pool managed by the gateway server is dynamic, adapting to varying connection demands while maintaining system stability. The gateway can adjust connection usage patterns to prevent overwhelming the database during connection storms.
Data Source
AI summary
A system automatically maintains a plurality of client connections associated with a plurality of clients, the plurality of client connections including active and idle connections. A first server receives a request from a client of the plurality of clients to access a second server of a plurality of second servers communicatively coupled to the first server, the plurality of second servers having varying communication protocols. The first server then identifies a first communication protocol associated with the second server and activating a link between the first server and the second server using the first communication protocol.


