Hva er tilkoblingspooling?
Connection pooling er betegnelsen for styring av tilkoblinger til brukere som stiller spørsmål til databaser. Selv om mange brukere kanskje ikke legger merke til det, når det er et stort antall brukere som søker tilgang til en applikasjonsserver som en database ligger på, kan det store volumet av tilkoblinger bli nesten umulig for en server å opprettholde god forbindelse med alle tilkoblinger på disse tider. Programvareteknikk som muliggjør sammenkobling av sammenkoblinger, gjør det mulig for en server å administrere tilkoblinger godt uavhengig av det høye volumet av tilkoblinger som gjør spørsmål og muliggjør svar på disse spørsmålene med hastigheter på under sekundet.
Tilkoblinger må være av identisk konfigurasjon for å bli inkludert i et tilkoblingsbasseng, så de fleste serverforbindelses-bassengprogrammer har forskjellige tilkoblingsbassenger som kjører samtidig. Når en bruker søker å koble seg, blir han eller hun tildelt et basseng med lignende konfigurasjoner, hvis det er ledig plass. Hvis det ikke er ledig plass, står forespørselen i kø for å bli tildelt så snart en kommer tilgjengelig. Det kan hende at en bruker ikke er klar over at han eller hun står i en kø, men kan ganske enkelt legge merke til at databasen virker treg i spørsmålssvaret; Imidlertid er det i back office for databasesystemer skanning av bassengene for å finne plass for brukeren til å finne en åpen forbindelse. De fleste tilkoblingsbassengprogrammer har en angitt liste over maksimale brukere per basseng og minimumsinnstillinger for tidsforbindelser som en tilkobling kan forbli inaktiv før tilkoblingen blir droppet og tilgjengeligheten blir returnert til bassenget.
Ved opprettelse av et tilkoblingsbasseng opprettes og legges et visst antall tilkoblingsobjekter til bassenget. For at et basseng skal anses som aktivt, trenger det et minimum av antall objekter. Disse tilkoblingsobjektene er tilgjengelige seter som binder en forbindelse til bassenget, og de kan opprettes og legges til bassenget etter behov opp til det maksimalt tillatte i et basseng. Ettersom brukerne er fornøyde med spørringen og slipper av tilkoblingsobjektet, blir objektene returnert til bassenget av tilkoblings-bassengprogrammene for bruk av en annen bruker eller den samme brukeren når han eller hun kommer tilbake.
En faktor som kan redusere responstider ved sammenkoblingspooling er det som kalles bassengfragmentering. Bassengfragmentering oppstår vanligvis på grunn av integrert sikkerhet eller for mange databaser som er bosatt på et eksisterende sett med servere. Et databasehåndteringssystem som autentiserer brukere og deretter står i kø eller tilordner dem til eksisterende tilkoblingsbassengobjekter, tapper minnet, og en strammere systemdesign for tilganger løser ofte problemet for mange databaser. Den integrerte designen av sikkerhetssystemer for Windows-baserte programmer i mange sammenkoblingspoolprogrammer krever at bare en Windows-basert bruker bor i et basseng om gangen. Dette kan ryddes ved å lage flere bassenger for å imøtekomme flere forespørsler som må besvares samtidig.
Hvis tilkoblings-pooling-programmet oppdager at en bruker har vært inaktiv utover en angitt tidsperiode eller tilkoblingen har blitt avbrutt, vil det returnere tilkoblingsobjektet til bassenget som et ugyldig objekt. Hvis en server går ned mens en tilkobling er i kraft, kan tilkoblingen fremdeles trekkes, selv om tilkoblingsbassenget ikke er klar over den koplede forbindelsen. ActiveX-tilkoblingsbassengprogrammer fortsetter deretter å tømme bassenget for disse tilkoblingene når serveren startes på nytt.