Pula połączeń
Pula połączeń (ang. connection pool) – rozwiązanie umożliwiające zmniejszenie obciążenia związanego z obsługą połączeń. Pula połączeń znajduje się pomiędzy bazą danych i aplikacją. Nawiązuje stałą liczbę połączeń z bazą i pozostawia je otwarte niezależnie od żądań ze strony aplikacji dotyczących otwarcia nowego lub zerwania stałego połączenia. Kiedy klient kończy sesję, połączenie nie zostaje zerwane, zeruje się jedynie sesję klienta, a połączenie może być ponownie wykorzystane dla nowej sesji. Pula połączeń zmniejsza również ilość czasu konieczną do nawiązania połączenia z bazą danych.
Zastosowania
[edytuj | edytuj kod]Łączenie się z serwerem bazy danych zazwyczaj składa się z kilku czasochłonnych etapów. Musi zostać ustanowiony fizyczny kanał np. łącze nazwane lub gniazdo, serwer musi wysłać potwierdzenie, dane połączenia muszą zostać sparsowane, połączenie musi zostać uwierzytelnione przez serwer itd. W praktyce większość aplikacji używa tylko jednego lub kilku różnych konfiguracji połączeń. Oznacza to, że w czasie działania aplikacji, wiele identycznych połączeń będzie wielokrotnie otwieranych i zamykanych. Pula połączeń jest techniką optymalizacji umożliwiającą ograniczenie narzutu związanego z połączeniami.
Implementacje
[edytuj | edytuj kod]Pulę połączeń wspierają następujące systemy bazodanowe:
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ IBM Connection Pooling Support
- ↑ SQL Server Connection Pooling (ADO.NET)
- ↑ MySQL Connection Pooling. [dostęp 2013-09-15]. [zarchiwizowane z tego adresu (2011-10-26)].
- ↑ OCI Driver Connection Pooling
- ↑ PostgreSQL Replication, Clustering and Connection Pooling