Connection pools for parallel processing applications accessing distributed databases
AssigneeOracle International Corporation
InventorsSumit Sahu, Lakshminarayanan Chidambaran, Krishna Itikarlapalli, Srinath Krishnaswamy
Life of this patent
Estimating the term…
Abstract
A server system provided according to an aspect of the present disclosure provides a shared connection pool to parallel execution entities accessing database instances of a distributed database when processing requests. A shared connection pool implies that each pool connection of the connection pool may be used for serving different execution entities requiring access to different database instances. In an embodiment, the database instances correspond to shards together implementing a distributed database, and the parallel execution entities correspond to threads.
Claims20
A server system comprising:
- one or more memories for storing instructions;
- and
- one or more processors, wherein execution of the instructions by the one or more processors causes the server system to perform the actions of:
- executing an application instance employing a plurality of parallel execution entities for processing respective sets of requests,
- wherein each parallel execution entity accesses a respective set of database instances of a plurality of database instances together implementing a distributed database;
- and
- providing a shared connection pool to all of said plurality of parallel execution entities for accessing said plurality of database instances of said distributed database.
A method implemented in a server system, said method comprising:
- maintaining a plurality of physical connections, with each physical connection being established as a corresponding pool connection of a shared connection pool,
- wherein each physical connection is established for communication at any time instance with only a single database instance of a plurality of database instances together implementing a distributed database;
- receiving a first request from an execution entity for a first end-to-end connection to a first database instance;
- and
- allocating said first end-to-end connection based on a first physical connection of said plurality of physical connections.
A non-transitory machine readable medium storing one or more sequences of instructions for causing a server system to provide a shared connection pool, wherein execution of said one or more instructions by one or more processors contained in said server system causes performance of the actions of:
- maintaining a plurality of physical connections, with each physical connection being established as a corresponding pool connection of a shared connection pool,
- wherein each physical connection is established for communication at any time instance with only a single database instance of a plurality of database instances together implementing a distributed database;
- receiving a first request from an execution entity for a first end-to-end connection to a first database instance;
- and
- allocating said first end-to-end connection based on a first physical connection of said plurality of physical connections.
Dependencies are inferred from the claim text.