Если у вас есть одна база данных и два пула соединений, по 5 соединений в каждом, у вас будет 10 соединений с базой данных. Если у вас есть 5 пулов подключений по 2 подключения в каждом, у вас есть 10 подключений к базе данных. В итоге у вас есть 10 подключений к базе данных. База данных не знает, что ваш пул существует, не осведомлена.
Любые метаданные, которыми обмениваются пул и БД, будут происходить при каждом соединении. Когда соединение установлено, когда оно разорвано и т. Д. Итак, если у вас есть 10 соединений, этот трафик будет происходить 10 раз (как минимум, при условии, что все они остаются работоспособными для жизни пула). Это произойдет, если у вас есть 1 или 10 пулов.
Что касается "1 БД на приложение", если вы не говорите с отдельным экземпляром базы данных для каждой БД, то это в принципе не имеет значения.
Если у вас есть сервер БД, на котором размещено 5 баз данных, и у вас есть подключения к каждой базе данных (скажем, по 2 на каждую), это потребует больше накладных расходов и памяти, чем та же БД, на которой размещена одна база данных. Но эти издержки в лучшем случае незначительны и совершенно незначительны на современных машинах с буферами данных размером в ГБ. Помимо определенного момента, все, что касается базы данных, - это отображение и копирование страниц данных с диска в оперативную память и обратно.
Если у вас была большая избыточная таблица в дублированных базах данных, это может быть потенциально расточительным.
Наконец, когда я использую слово «база данных», я имею в виду логическую сущность, которую сервер использует для объединения таблиц. Например, Oracle действительно любит иметь одну «базу данных» на сервер, разбитую на «схемы». Postgres имеет несколько БД, каждая из которых может иметь схемы. Но в любом случае все современные серверы имеют логические границы данных, которые они могут использовать. Я просто использую здесь слово «база данных».
Таким образом, пока вы используете один экземпляр сервера БД для всех своих приложений, пулы соединений и т. Д. На самом деле не имеют большого значения, поскольку сервер будет совместно использовать всю память и ресурсы через клиентов по мере необходимости.