Введение
Все проекты с которыми я работал использовали пул соединений к БД и для этого есть веские причины. Иногда мы можем забыть зачем применили какой-то шаблон проектирования или технологию, поэтому стоит сделать шаг назад и объяснить это. Каждое технологическое решение имеет и достоинства и недостатки, и если вы не видите каких-то недостатков, то нужно задуматься что вы пропустили.
Жизненный цикл соединений к БД
Каждая операция чтения или записи из БД требует соединения. Так давайте же представим как выглядит цикл соединения с БД:
Этапы:
- Слой данных приложения запрашивает у DataSource соединения к БД
- DataSource использует драйвер к БД для открытия соединения
- Соединение БД создается и TCP сокет открывается
- Приложение пишет/читает в БД
- Соединение больше не требуется и поэтому закрывается
- Сокет закрывается