В программной инженерии , пул соединений является кэш из соединений с базой данных поддерживаются таким образом , что соединения могут быть повторно использованы , если запросы в будущем к базе данных не требуется. Пулы соединений используются для повышения производительности выполнения команд в базе данных. Открытие и поддержание соединения с базой данных для каждого пользователя, особенно запросов к динамическому веб - сайту, управляемому базой данных.приложение, является дорогостоящим и тратит впустую ресурсы. В пуле соединений после создания соединения оно помещается в пул и используется снова, так что новое соединение не нужно устанавливать. Если все подключения используются, создается новое подключение, которое добавляется в пул. Пул соединений также сокращает время, которое пользователь должен ждать, чтобы установить соединение с базой данных.
Приложения [ править ]
Веб- приложения и корпоративные приложения используют сервер приложений для обработки пула соединений. Динамические веб-страницы без подключения объединяют открытые подключения к службам базы данных по мере необходимости и закрывают их, когда страница завершает обслуживание определенного запроса. С другой стороны, страницы, использующие пул соединений, поддерживают открытые соединения в пуле. Когда странице требуется доступ к базе данных, она просто использует существующее соединение из пула и устанавливает новое соединение только в том случае, если нет доступных соединений из пула. Это снижает накладные расходы, связанные с подключением к базе данных для обслуживания отдельных запросов.
Локальные приложения, которым требуется частый доступ к базам данных, также могут извлечь выгоду из пула соединений. Открытые соединения могут поддерживаться в локальных приложениях, которым не нужно обслуживать отдельные удаленные запросы, такие как серверы приложений, но реализация пула соединений может стать сложной. Ряд доступных библиотек реализуют пулы соединений и связанные с ними пулы SQL-запросов , упрощая реализацию пулов соединений в приложениях, интенсивно использующих базы данных.
Администраторы могут настроить пулы соединений с ограничениями на количество минимальных, максимальных и незанятых соединений, чтобы оптимизировать производительность пула в определенных проблемных контекстах и в определенных средах.
Поддержка базы данных [ править ]
Пул соединений поддерживается IBM DB2 , [1] Microsoft SQL Server , [2] Oracle , [3] MySQL , [4] PostgreSQL , [5] и Neo4j . [6]
См. Также [ править ]
Ссылки [ править ]
- ^ Поддержка IBM Connection Pooling [ постоянная неработающая ссылка ]
- ^ Объединение подключений к SQL Server (ADO.NET)
- ^ Объединение подключений драйвера OCI в пул
- ^ Пулы подключений MySQL
- ^ Репликация, кластеризация и объединение соединений PostgreSQL
- ^ «4.2. Клиентские приложения - Глава 4. Драйверы» . neo4j.com . Проверено 23 февраля 2018 .
Ссылки [ править ]
- Правильная обработка объединенных соединений JDBC , блог Кристофера Шульца