Size: a a a

2019 July 23

P

Pepega in Kotlin JVM
Да, читал, просто хотел узнать чем плохо применение runBlocking :)
источник

AE

Alexandr Emelyanov in Kotlin JVM
Pepega
Да, читал, просто хотел узнать чем плохо применение runBlocking :)
понятно :) не стоит) мне второй вариант с Deffered нравится, я бы его использовал
источник

НГ

Наиль Гилазиев in Kotlin JVM
Коллеги, посоветуйте, пожалуйста, какой выбрать драйвер для работы с postgresql из ktor.
Вводные следующие. А точнее отличительные особенности использования следубщие:
* raw sql statements - в системе не будет использоваться ORM, управление транзакциями и формирование селектов и прочего прямо в сыром виде.
* Будет использоваться listen / notify , поэтому стандартный набор HikariCP + PostgreSQL JDBC Driver не  подходит, так как стандартный JDBC  cannot receive asynchronous notifications

из достойных драйверов я вижу два:
1) асинхронный драйвер, на чистой java, который недавно стал частью экосистемы vert.x - ссылка на репозиторий

2) синхронный драйвер, "допиленный" jdbc - pgjdbc-ng - ссылка на репозиторий
источник

НГ

Наиль Гилазиев in Kotlin JVM
с асинхронным драйвером - многообещающий проект,
но из-за переезда под крыло vert.x  документация страдает + неизвестно как это повлияло на стабильность и неизвестно насколько это хорошо работает без самого vert.x (сколько зависимостей от vert.x придется притащить в проект)
выглядит так, будто у проекта "переезжающий/перестраивающийся" статус.
+ есть несколько свежих issues, на первый взгляд c критичными багами встроенного пула соединений.


pgjdbc-ng как я понимаю более стабильное и знакомое решение + тот же HikariCP можно с ним использовать.
И с документаией тоже лучше
источник

AE

Alexandr Emelyanov in Kotlin JVM
Наиль Гилазиев
с асинхронным драйвером - многообещающий проект,
но из-за переезда под крыло vert.x  документация страдает + неизвестно как это повлияло на стабильность и неизвестно насколько это хорошо работает без самого vert.x (сколько зависимостей от vert.x придется притащить в проект)
выглядит так, будто у проекта "переезжающий/перестраивающийся" статус.
+ есть несколько свежих issues, на первый взгляд c критичными багами встроенного пула соединений.


pgjdbc-ng как я понимаю более стабильное и знакомое решение + тот же HikariCP можно с ним использовать.
И с документаией тоже лучше
r2dbc пробовали?
источник

BV

Boris Vanin in Kotlin JVM
GitHub - jasync-sql/jasync-sql: Java & Kotlin Async DataBase Driver for MySQL and PostgreSQL written in Kotlin
https://github.com/jasync-sql/jasync-sql
источник

BV

Boris Vanin in Kotlin JVM
Я правда использовал его немного совсем и не знаю как у него там с асинхронными нотификациями
источник

НГ

Наиль Гилазиев in Kotlin JVM
Alexandr Emelyanov
r2dbc пробовали?
Он не поддерживает listen notify  насколько я понял
источник

НГ

Наиль Гилазиев in Kotlin JVM
Boris Vanin
Я правда использовал его немного совсем и не знаю как у него там с асинхронными нотификациями
Поддержка заявлена. Она попадалась мне во время поиска, но почему то я ее сразу отсеял.
Это реинкарнация заброшенного репозитория Mauricio  с его скала based драйвером от какой-то компании не очень известной мне.
Чистый субъективизм, но репозиторий vertx внушает больше доверия. По крайней мере при поверхностном рассмотрении
источник

НГ

Наиль Гилазиев in Kotlin JVM
+ В прошлом году я у автора спрашивал, в чем отличие его драйвера от Mauricio driver. Его ответ:
https://github.com/eclipse-vertx/vertx-sql-client/issues/94

TLDR его драйвер лучше :)
источник

BV

Boris Vanin in Kotlin JVM
Наиль Гилазиев
Поддержка заявлена. Она попадалась мне во время поиска, но почему то я ее сразу отсеял.
Это реинкарнация заброшенного репозитория Mauricio  с его скала based драйвером от какой-то компании не очень известной мне.
Чистый субъективизм, но репозиторий vertx внушает больше доверия. По крайней мере при поверхностном рассмотрении
🤷‍♂ ну, это не лучший критерий, мне так кажется
источник

НГ

Наиль Гилазиев in Kotlin JVM
Да, поэтому я ещё раз подробнее взгляну на неё. Поизучаю issues, поищу benchmark’и, поищу информацию в интернете, статьи, в документации покопаюсь...
Сообщество послушаю, поэтому и попросил совета тут, у более опытных в этой теме людей, более объективный взгляд и понимание ситуациии
источник
2019 July 24

AE

Alexandr Emelyanov in Kotlin JVM
Наиль Гилазиев
Он не поддерживает listen notify  насколько я понял
А как он работает тогда?
источник

AO

Alexey Otts in Kotlin JVM
Наиль Гилазиев
с асинхронным драйвером - многообещающий проект,
но из-за переезда под крыло vert.x  документация страдает + неизвестно как это повлияло на стабильность и неизвестно насколько это хорошо работает без самого vert.x (сколько зависимостей от vert.x придется притащить в проект)
выглядит так, будто у проекта "переезжающий/перестраивающийся" статус.
+ есть несколько свежих issues, на первый взгляд c критичными багами встроенного пула соединений.


pgjdbc-ng как я понимаю более стабильное и знакомое решение + тот же HikariCP можно с ним использовать.
И с документаией тоже лучше
https://jdbc.postgresql.org/documentation/head/listennotify.html вроде и в офф драйвере оно есть
источник

AO

Alexey Otts in Kotlin JVM
Наиль Гилазиев
Поддержка заявлена. Она попадалась мне во время поиска, но почему то я ее сразу отсеял.
Это реинкарнация заброшенного репозитория Mauricio  с его скала based драйвером от какой-то компании не очень известной мне.
Чистый субъективизм, но репозиторий vertx внушает больше доверия. По крайней мере при поверхностном рассмотрении
а он кстати портировал драйвер на котлин, но там как то всё странно
источник

НГ

Наиль Гилазиев in Kotlin JVM
Alexey Otts
а он кстати портировал драйвер на котлин, но там как то всё странно
Да портирован
источник

НГ

Наиль Гилазиев in Kotlin JVM
Работает по технике поллинга
Note
A key limitation of the JDBC driver is that it cannot receive asynchronous notifications and must poll the backend to check if any notifications were issued. A timeout can be given to the poll function, but then the execution of statements from other threads will block.
источник

AO

Alexey Otts in Kotlin JVM
Наиль Гилазиев
Работает по технике поллинга
Note
A key limitation of the JDBC driver is that it cannot receive asynchronous notifications and must poll the backend to check if any notifications were issued. A timeout can be given to the poll function, but then the execution of statements from other threads will block.
Ну не так уж и плохо
источник

НГ

Наиль Гилазиев in Kotlin JVM
Вы бы не стали из-за этого менять проверенный стек на альтернативные решения?
источник

AO

Alexey Otts in Kotlin JVM
Да, не, я всегда за потыкать что то новое
источник