¿Qué es la agrupación de conexiones?

La agrupación de conexiones es el término para la gestión de las conexiones de los usuarios que realizan consultas de bases de datos. Aunque es posible que muchos usuarios no lo noten, cuando hay una gran cantidad de usuarios que buscan acceso a un servidor de aplicaciones en el que reside una base de datos, el gran volumen de conexiones puede volverse casi imposible para que un servidor mantenga una buena conexión con todas las conexiones en estos tiempos. La ingeniería de software que permite la agrupación de conexiones hace posible que un servidor administre bien las conexiones independientemente del alto volumen de conexiones que realizan consultas y permite responder a estas consultas con velocidades inferiores a un segundo.

Las conexiones deben tener una configuración idéntica para que se incluyan en un grupo de conexiones, por lo que la mayoría de los programas de grupos de conexiones del servidor tienen diferentes grupos de conexiones que se ejecutan simultáneamente. Cuando un usuario busca conectarse, se le asigna a un grupo con configuraciones similares, si hay espacio disponible. Si no hay espacio disponible, la solicitud se pone en cola para ser asignada tan pronto como esté disponible. Es posible que un usuario no se dé cuenta de que está en una cola, pero puede que simplemente observe que la base de datos parece lenta en la respuesta a la consulta; sin embargo, en el back office de los sistemas de administración de bases de datos, hay un escaneo de los grupos para encontrar espacio para que el usuario encuentre una conexión abierta. La mayoría de los programas de agrupación de conexiones tienen una lista establecida de usuarios máximos por agrupación y cantidades mínimas de configuración de tiempo para las cuales una conexión puede permanecer inactiva antes de que se interrumpa la conexión y se devuelva la disponibilidad a la agrupación.

En la creación de un grupo de conexiones, se crea una cierta cantidad de objetos de conexión y se agregan al grupo. Para que un grupo se considere activo, necesita un número mínimo de objetos. Estos objetos de conexión son los puestos de disponibilidad que vinculan una conexión al grupo, y se pueden crear y agregar al grupo según sea necesario hasta el máximo permitido dentro de un grupo. A medida que los usuarios están satisfechos con su consulta y abandonan su objeto de conexión, los programas de agrupación de conexiones devuelven los objetos al grupo para que los utilice otro usuario o el mismo usuario cuando regrese.

Un factor que puede ralentizar los tiempos de respuesta en la agrupación de conexiones es lo que se denomina fragmentación de agrupaciones. La fragmentación del grupo suele ocurrir debido a la seguridad integrada o a demasiadas bases de datos que residen en un conjunto de servidores existente. Un sistema de administración de bases de datos que autentica a los usuarios y luego los pone en cola o los asigna a los objetos del grupo de conexiones existente agota la memoria, y un diseño de sistema más estricto para los accesos a menudo resuelve el problema de demasiadas bases de datos. El diseño del sistema de seguridad integrado de los programas basados ​​en Windows en muchos programas de agrupación de conexiones exige que solo un usuario basado en Windows resida dentro de una agrupación a la vez. Esto se puede aclarar mediante la creación de más grupos para dar cabida a solicitudes adicionales que deben responderse al mismo tiempo.

Si el programa de agrupación de conexiones detecta que un usuario ha estado inactivo más allá de un período de tiempo establecido o la conexión se ha cortado, devolverá el objeto de conexión a la agrupación como un objeto no válido. Si un servidor deja de funcionar mientras una conexión está en vigor, la conexión aún se puede retirar aunque el grupo de conexiones no tenga conocimiento de la conexión interrumpida. Los programas de grupo de conexiones ActiveX normalmente proceden a borrar el grupo de estas conexiones cuando se reinicia el servidor.