172 похожих чатов

Нефига себе, открыл вику, а там про постгрис вон что

пишут.
Это что, в Postgres хранимки можно на Java писать?)))

39 ответов

21 просмотр

Может быть это про хранимые процедуры имел в виду автор?

Anatoliy-Burov Автор вопроса

На JAVA не пробовал, а на питоне запросто

Anatoliy-Burov Автор вопроса
Slava Rozhnev SQLtest.online https://phpize.online
На JAVA не пробовал, а на питоне запросто

я смотрю там и php есть, и js... Интересно, если Java код решит в файл писать инфу какую-то, при вызове из postgres'а, это будет работать? По идее, никаких проблем не должно быть, т.к для исполнения java кода нужно запустить jvm процесс, который никак не будет связан с postgres, а значит у него будут свои ограничения - если никто писать не запретил, пишет... Можно же и вычисления распараллелить...rowset передал в java метод, он быстренько посчитал что-нибудь и вернул результат... или сформировал красивый Xls отчёт, например, используя Java API и положив его на ftp....

Anatoliy Burov
я смотрю там и php есть, и js... Интересно, если J...

а еще, java может создать коннешен к БД, вытащить данные, быстро общитать и положить их обратно и это, невероятно

Anatoliy-Burov Автор вопроса
Artur Karapetov
а еще, java может создать коннешен к БД, вытащить ...

это другое. Для таких целей нужно асинхронный драйвер юзать. P.S но попытка троллинга защитана:) P.P.S хотя фиг вам, не защитана. Вы не поняли же фишки...))

Anatoliy Burov
это другое. Для таких целей нужно асинхронный драй...

то есть разница только в том, что обычно java —> db, а так db —> java, но при этом никаких преимуществ (ну кроме того что управляющий код в БД, а значит там и бизнес логика будет) если бы это было круто и инновационно, сейчас все круды делались бы как PL/Java, PL/Python, но этого не происходит, к счастью.

Anatoliy-Burov Автор вопроса
Artur Karapetov
то есть разница только в том, что обычно java —> d...

Да не, я не к тому, что давайте ломанемся писать на pl/java. Тоже считаю, что это не нужно, т.к огромное число dbd знают pl/sql, а не какой то там pl/java :) Просто, допустим есть задача получения большого красивого отчета в Excel. Какие варианты? Можно запустить в процессе java поток, взять из пула свободный коннект и выполнить запрос. Что в таком случае будет? Висит коннект, висит поток. А зачем нам это безобразие? Окей, идём дальше, чтобы не висел поток и коннект. Тогда, надо, чтобы база положила куда то итог, чтобы потом его можно было обработать. Ну, окей. Но появляются какие то промежуточные итоги полученных данных, которые затем опять надо хендлить. И тут 2 варианта: или асинхронный драйвер или написать на java функцию генерации отчёта и складирования его на ftp, которая автоматом вызовется, как только будет получен result set или его часть, например. Таким образом не будет ненужного промежуточного хранения данных где то + мы не будем держать коннект к базе и поток на уровне java в холостую.

Anatoliy Burov
Да не, я не к тому, что давайте ломанемся писать н...

дабы не разводить холивар, я просто скажу: я бы не пошел дальше =)

Anatoliy-Burov Автор вопроса
Artur Karapetov
дабы не разводить холивар, я просто скажу: я бы не...

А как вы решаете задачу, если например минут 5 сборка данных для отчёта идёт, если не через асинхронный драйвер? Промежуточные результаты храните?

Anatoliy Burov
А как вы решаете задачу, если например минут 5 сбо...

ETL —> elastic search. аналитику делать на горячей базе - такое себе

OLAP? Cognos? BI? ну вообщем точно не запросами в БД

Anatoliy-Burov Автор вопроса
Artur Karapetov
OLAP? Cognos? BI? ну вообщем точно не запросами в...

Сейчас пробуем Clickhouse, Greenplum, я ещё хочу Couchbase попробовать.... :) Но вообще я про текущую реализацию в несколько ТБ у нас про Postgres говорил:) Вот ему тяжеловато olap на таких объёмах.

Anatoliy Burov
Сейчас пробуем Clickhouse, Greenplum, я ещё хочу C...

Так я понял что на постгре. Ну вот я бы не стал ее юзать для этих целей, хотя я ваши цели и не знаю собственно. Но я не сварщик, поэтому все может быть.

Anatoliy Burov
А как вы решаете задачу, если например минут 5 сбо...

А что за асинхронный драйвер? Я например делаю коннект из Java к пг через какой-то jdbc, он не асинхронный? Если я например сделаю в джаве пять потоков, они не смогут параллельно подключиться что-ли?

Anatoliy-Burov Автор вопроса
Zakhary
А что за асинхронный драйвер? Я например делаю кон...

Нет, он синхронный. Открыли коннект и пока БД не вернёт ответ, коннект занят. Ну и ваш поток в java тоже ждёт.

Anatoliy Burov
Нет, он синхронный. Открыли коннект и пока БД не в...

А нельзя как-то в Java приложении просто создать несколько экземпляров драйвера ?

Anatoliy-Burov Автор вопроса
Zakhary
А нельзя как-то в Java приложении просто создать н...

Не, ну у вас 5 потоков то будут работать конечно, просто они откроют 5 коннектов, если когда новому потоку нужно выполнить операцию, а предыдущий коннект не вернулся в пул коннектов. То, о чем я писал, про асинхронный драйвер, это r2dbc

Anatoliy-Burov Автор вопроса

Ну r2dbc тащить туда, где он не нужен, точно не надо. К этому нужно прийти😊 Когда упретесь, как говорится, тогда усложнив систему будете его юзать, если других решений не найдёте.

Anatoliy Burov
Ну r2dbc тащить туда, где он не нужен, точно не на...

Да я точно не упрусь, у меня пет проект, в нём постгрес как гаубица для стрельбы по мухе)))

Anatoliy Burov
Не, ну у вас 5 потоков то будут работать конечно, ...

это реактивный драйвер, не просто асинхронный, и он по скорости проигрывает jdbc брать только для задач стриминга и то, тут других решений полно прям на уровне расширений постгреса нормальный реактивный драйвер только один - vertx reactive sql driver, production ready а так, скоро лум залетит в джаву, второе дыхание для jdbc, вопрос окончательно закрыт будет (с альтернативами блокирующему драйверу)

Anatoliy-Burov Автор вопроса
Dima
это реактивный драйвер, не просто асинхронный, и о...

Про vertx, вы имеете ввиду vertx reactive Postgres client?

Anatoliy Burov
Про vertx, вы имеете ввиду vertx reactive Postgres...

да, это единственный продакшен реди драйвер-альтернатива jdbc

Anatoliy-Burov Автор вопроса
Dima
да, это единственный продакшен реди драйвер-альтер...

Ну они под капотом тоже юзают специфический драйвер https://github.com/mauricio/postgresql-async

Anatoliy Burov
Ну они под капотом тоже юзают специфический драйве...

нет, не юзают - https://github.com/eclipse-vertx/vertx-sql-client

Anatoliy-Burov Автор вопроса
Dima
нет, не юзают - https://github.com/eclipse-vertx/v...

Вы кидаете ссылку на клиентов, а я на драйвер, который используется под капотом у клиентов) это разные вещи

Anatoliy Burov
Вы кидаете ссылку на клиентов, а я на драйвер, кот...

я вам кидаю ссылку, чтобы вы прочитали pom.xml и убедились, как вы не правы драйвер написан с нуля, никаких зависимостей нет то, что вы скинули, не имеет отношения к современному vertx driver

Anatoliy-Burov Автор вопроса
Anatoliy Burov
Ну jasync там? Новая версия mauricio

боже, нет, это разные драйверы, vertx driver с нуля написан - легко проверить по гитхаб ссылке и зависимостям в мэйвен модулях

Anatoliy-Burov Автор вопроса
Dima
боже, нет, это разные драйверы, vertx driver с нул...

Я с мобилы и сплю уже, а вы кидаете ссылки на сайты, где много текста😊 Киньте прямо ссылку на помник, в чем проблема? :)

Anatoliy Burov
Я с мобилы и сплю уже, а вы кидаете ссылки на сайт...

давайте по-простому https://github.com/jasync-sql/jasync-sql - это порт драйвера маурисио его когда-то юзал вертикс драйвер старый - https://github.com/vert-x3/vertx-mysql-postgresql-client (в этом репозитории есть ссылка на новый уже) новый же - https://github.com/eclipse-vertx/vertx-sql-client написан с нуля https://github.com/eclipse-vertx/vertx-sql-client/blob/master/pom.xml https://github.com/eclipse-vertx/vertx-sql-client/blob/master/vertx-pg-client/pom.xml https://github.com/eclipse-vertx/vertx-sql-client/blob/master/vertx-sql-client/pom.xml

Anatoliy-Burov Автор вопроса
Dima
давайте по-простому https://github.com/jasync-sql...

Ещё раз уточню - вы понимаете разницу между драйвером и клиентом к базе данных? :)

Anatoliy Burov
Ещё раз уточню - вы понимаете разницу между драйве...

да, вас не должно смузать название client у vertx, это не обертка над чем бы то ни было, полностью самостоятельная реализация протокола postgres

Anatoliy-Burov Автор вопроса
Dima
да, ссылки выше

В ссылках клиент, а я говорил про драйвер. Для начала поймите разницу😊 Спокойной ночи.

Anatoliy Burov
В ссылках клиент, а я говорил про драйвер. Для нач...

Для начала, научитесь слушать собеседника и подтяните свои устаревшие знания. Я три раза сказал, что vertx sql client - это написанный с нуля альтернативный драйвер. Никаких оберток над jasync или другими вещами. Видно же, вы не работали с ним, кидаете старые ссылки из гугла. И остерегайтесь советовать использовать то, что не использовали сами, у r2dbc куча подводных. Доброй ночи.

Непонятно, почему PL/COBOL не добавлен!

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта