¿Qué es la agrupación de conexiones?
La agrupación de conexiones es el término para la gestión de las conexiones de usuarios que realizan consultas de bases de datos. Aunque muchos usuarios pueden no notarlo, cuando hay un gran número de usuarios que buscan acceso a un servidor de aplicaciones en el que reside una base de datos, el gran volumen de conexiones puede ser casi imposible para un servidor para mantener 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 la respuesta a estas consultas con velocidades inferiores a un segundo.
Las conexiones deben tener una configuración idéntica para incluirse en un grupo de conexiones, por lo que la mayoría de los programas de agrupación de conexiones del servidor tienen diferentes grupos de conexiones ejecutándose 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. Un usuario puede no ser consciente de que está en una cola, pero simplemente puede notar que la base de datos parece lenta en la respuesta de la consulta; sin embargo, en la oficina administrativa de los sistemas de administración de bases de datos, se escanean 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 configuraciones de tiempo para las cuales una conexión puede permanecer inactiva antes de que se corte la conexión y se devuelva la disponibilidad a la agrupación.
En la creación de un grupo de conexiones, se crea un cierto número de objetos de conexión y se agrega al grupo. Para que un grupo se considere activo, necesita un mínimo de número de objetos. Estos objetos de conexión son los asientos de disponibilidad que unen 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 sus consultas y dejan su objeto de conexión, los objetos son devueltos a la agrupación por los programas de agrupación de conexiones para que los use 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 la agrupación. La fragmentación de la agrupación generalmente ocurre debido a la seguridad integrada o al exceso de 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 existentes del grupo de conexiones drena la memoria, y un diseño de sistema más estricto para los accesos a menudo aclara 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 solucionar mediante la creación de más grupos para dar cabida a solicitudes adicionales que deben responderse simultáneamente.
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 hay una conexión en vigor, la conexión aún puede retirarse aunque el grupo de conexiones no sea consciente de la conexión cortada. Los programas del grupo de conexiones ActiveX generalmente proceden a borrar el grupo de estas conexiones a medida que se reinicia el servidor.