En ingeniería de software , un pool de conexiones es un caché de conexiones de base de datos que se mantiene de modo que las conexiones se puedan reutilizar cuando se requieran futuras solicitudes a la base de datos. [1] Los pools de conexiones se utilizan para mejorar el rendimiento de la ejecución de comandos en una base de datos. Abrir y mantener una conexión de base de datos para cada usuario, especialmente las solicitudes realizadas a una aplicación de sitio web dinámica impulsada por una base de datos , es costoso y desperdicia recursos. En el pool de conexiones, después de crear una conexión, se coloca en el pool y se vuelve a utilizar para que no sea necesario establecer una nueva conexión. Si se están utilizando todas las conexiones, se realiza una nueva conexión y se agrega al pool. El pool de conexiones también reduce la cantidad de tiempo que un usuario debe esperar para establecer una conexión a la base de datos.
Las aplicaciones empresariales y basadas en la Web utilizan un servidor de aplicaciones para gestionar la agrupación de conexiones. Las páginas web dinámicas sin agrupación de conexiones abren conexiones a servicios de base de datos según sea necesario y las cierran cuando la página termina de atender una solicitud en particular. Las páginas que utilizan agrupación de conexiones, por otro lado, mantienen abiertas las conexiones en un grupo. Cuando la página requiere acceso a la base de datos, simplemente utiliza una conexión existente del grupo y establece una nueva conexión solo si no hay conexiones agrupadas disponibles. Esto reduce la sobrecarga asociada con la conexión a la base de datos para atender solicitudes individuales.
Las aplicaciones locales que necesitan un acceso frecuente a las bases de datos también pueden beneficiarse de la agrupación de conexiones. Se pueden mantener conexiones abiertas en aplicaciones locales que no necesitan atender solicitudes remotas independientes, como los servidores de aplicaciones, pero las implementaciones de la agrupación de conexiones pueden volverse complicadas. Varias bibliotecas disponibles implementan la agrupación de conexiones y la agrupación de consultas SQL relacionada, lo que simplifica la implementación de agrupaciones de conexiones en aplicaciones con uso intensivo de bases de datos.
Los administradores pueden configurar grupos de conexiones con restricciones en la cantidad de conexiones mínimas, conexiones máximas y conexiones inactivas para optimizar el rendimiento de la agrupación en contextos de problemas específicos y en entornos específicos.