Сравнение Oracle UCP, C3P0 и HikariCP

#oracle #connection-pooling #c3p0 #hikaricp #ucp

#Oracle #объединение пулов соединений #c3p0 #hikaricp #ucp

Вопрос:

Я пытаюсь сравнить некоторые библиотеки пула соединений Java, но пока я не нашел удовлетворительного ответа. Прямо сейчас в моем приложении используется C3P0, но я хочу предложить другие библиотеки пулов соединений, но у меня нет никакой достоверной информации для перехода на любой другой механизм пула соединений. Я читал, что UCP Oracle использует механизм сбора данных о соединениях, но я не знаю, насколько он полезен, и предоставляет ли какой-либо другой поставщик механизм сбора данных. Какие пункты можно включить для сравнения различных механизмов объединения пулов соединений. Может кто-нибудь, пожалуйста, подсказать мне, какой из них лучше среди Oracle UCP, C3P0 и HikariCP? Есть ли какой-либо другой механизм, доступный лучше, чем выше 3?

Ответ №1:

Версия UCP 12.2.0.1 (скачать можно здесь) имеет неблокирующую архитектуру, которая была описана на сеансе в JavaOne и которая делает ее очень масштабируемой. У вас могут быть тысячи потоков, которые используют один и тот же пул UCP, и у вас не возникнет никаких проблем с масштабируемостью в пуле (конечно, у вас могут закончиться соединения, но это другая проблема).

Ответ №2:

ИМХО, сбор данных о соединениях — это анти-шаблон. Как правило, лучше освободить ресурс как можно скорее после использования, особенно соединения с БД (подумайте о блокировках и одновременных пользователях) Если у вас нет «специфичных» для oracle или веб-сервера ограничений, HikariCP — хороший вариант. почему это хорошо? проверьте их сайт и вики.

Комментарии:

1. Большое вам спасибо, Нитин. Не могли бы вы предложить мне несколько руководств по объединению пулов соединений, которые дают глубокое представление о выполнении / работе пула соединений.