I am running apps in kubernetes, which for even one app, it may have multiple containers; thus, the jdbc pool won't work. Is there a layer similar to PgPool-II for oracle database?
Thanks in advance
Connection Pooling - feature of the database, Database Resident Connection Pooling
Limiting Exceeding Connections - limiting connections, feature of the database, PROFILE. Connection queuing, no such thing.
The above 2 are typically handled at application server layer.
Replication - disk mirroring can happen independently of the database, or using Automatic Storage Management, feature of the clusterware layer. For physical/logical replication, feature of the database: Introduction to Oracle Data Guard. For logical replication, feature of the database: Introduction to Oracle Streams, or other products such as Oracle Goldengate.
Load Balancing - feature of the clusterware layer, Load Balancing of Connections to Oracle RAC Databases
In Memory Query Cache - feature of the database: Result Cache
Database Resident Connection Pooling sounds like the feature you seek.
When To Use Database Resident Connection Pooling
- Database resident connection pooling is useful when multiple clients access the database and when any of the following apply:
- A large number of client connections need to be supported with minimum memory usage.
- The client applications are similar and can share or reuse sessions.
- Applications are similar if they connect with the same database credentials and use the same schema.
- The client applications acquire a database connection, work on it for a relatively short duration, and then release it.
- Session affinity is not required across client requests.
- There are multiple processes and multiple hosts on the client side.
Some of the other features of PGPool-II would require "special configuration" or are "not applicable" due Oracle's architecture.
/*+ cache */hint and the right driver. (OCI version, I believe)