@pgsql

Страница 1015 из 1062
Lestat -
03.10.2018
15:57:43
друзья, к PostgreSQL можно прицепить python, да так чтобы в инлайне использовать питонячьи функции в процедурах postgres'a ? p.s. задача поссчитать косинусное расстояние между векторами, но средствами sql это получится медленно, покуда в моём случае это 128 селф джоинов (т.к. вектор из 128-и измерений)

Lestat -
03.10.2018
16:01:49
А почему 128 джойнов это медленно?
как обычно пытаюсь наложить механику одной базы на другую… в MSSQL N джоинов генерирует factorial(n) планов запросов и выбирает "наилучший" ахаха, нет. В общем выбирает он посредственный план

Google
Ilya
03.10.2018
16:03:12
Ну тогда питон.

Впрочем я мало знаю за векторы из 128 измерений, возможно в постгресе есть подходящие геометрические функции.

Сергей
03.10.2018
16:04:39
видео наверно

Lestat -
03.10.2018
16:04:57
Ну тогда питон.
понимаю что ты уже ответил, но всё -таки)) вот прям в постгресной функции инлайном пишу питон ?

Ilya
03.10.2018
16:05:12
Если питон будет тормозить, то придётся писать расширение к постгресу на Си.

Lestat -
03.10.2018
16:06:03
Ilya
03.10.2018
16:06:25
понимаю что ты уже ответил, но всё -таки)) вот прям в постгресной функции инлайном пишу питон ?
Да, можно запилить функцию на питоне, насчёт инлайновости не скажу.

nietzschebrod
03.10.2018
16:06:54
тред не читал звучит как plpython

Ilya
03.10.2018
16:07:41
тред не читал звучит как plpython
Да, но тут вопрос, запустится ли при этом 128 потоков питона? Не будет ли это слишком жостка?

Lestat -
03.10.2018
16:08:52
Да, можно запилить функцию на питоне, насчёт инлайновости не скажу.
наверняка знаешь, но хочется пояснить, вижу инлайн так: select python_fn(v1.vector * v2.vector) from vector v1 join vector v2 on v1.col = v2.col

F
03.10.2018
16:10:03
https://www.postgresql.org/developer/roadmap/
это же про минорные версии, а 11 мажорная

Darafei
03.10.2018
16:10:04
Да, но тут вопрос, запустится ли при этом 128 потоков питона? Не будет ли это слишком жостка?
Будет один питон, в который экзекьютор будет нырять и выныривать

Инлайна с питоном нет, он же интерпретируемый

Google
Yaroslav
03.10.2018
16:11:06
как обычно пытаюсь наложить механику одной базы на другую… в MSSQL N джоинов генерирует factorial(n) планов запросов и выбирает "наилучший" ахаха, нет. В общем выбирает он посредственный план
Здесь примерно так же (а то и похуже). Это фундаментальная проблема, вообще-то. Но, может быть, можно как-то обойтись без self-JOIN-ов вообще?

Lestat -
03.10.2018
16:11:58
Yaroslav
03.10.2018
16:12:31
можно! вот и спрашиваю про питон ))) ну, а если не взлетит то посмотрим в сторону .с
Я имел в виду, что, может быть, это можно выразить на SQL?

Lestat -
03.10.2018
16:24:37
а какой формат таблицы и что конкретно нужно сделать?
колонки float(32)[] между которыми нужно посчитать косинусное расстояние

Yaroslav
03.10.2018
16:31:06
можно, но это 128 джоинофф
Почему? Вы ещё, кстати, ничего не показали...

Lestat -
03.10.2018
16:31:35
Yaroslav
03.10.2018
16:32:45
а что нужно показать?
Да хоть что-то! Таблицу(ы) / тестовые данные / примерный запрос (или нужный результат на этих данных).

Yaroslav
03.10.2018
16:35:24
v1(hash float(32)[]) v2 —//— cosine(v1.hash, v2.hash)
По-Вашему, это таблицы? ;) (Вот нет бы sqlfiddle показать, вместо того, чтобы "руками махать".)

Dmitry
03.10.2018
16:42:10
Lestat -
03.10.2018
16:48:16
Если не хочется писать на C, посмотрите в сторону PL/V8.
очень интересно, спасибо! а питон так же работает? ну т.е. указывается $$LANGUAGE и фсё?

Ilya
03.10.2018
17:16:11
Если не хочется писать на C, посмотрите в сторону PL/V8.
Говорят что оно в данном случае не сильно лучше питона.

Nikita
03.10.2018
17:37:45
v8 это разве не js?

тогда уж лучше питухон

Lestat -
03.10.2018
17:38:04
js

Bogdan
03.10.2018
17:45:07
Если питон будет тормозить, то придётся писать расширение к постгресу на Си.
почему-бы не пописать на JS (v8) думаю быстрее пайтона будет но я читал статью одну, там Lua рвал всех по скорости

Google
Ilya
03.10.2018
17:46:20
почему-бы не пописать на JS (v8) думаю быстрее пайтона будет но я читал статью одну, там Lua рвал всех по скорости
Питон хотябы прост как три копейки. Если уж морочиться с чем-то сложным то надо Си или всё же птыатться как-то обыграть на sql

Bogdan
03.10.2018
17:47:05
вот статейка http://okbob.blogspot.com/2014/05/a-speed-of-pl-languages-for-atypical.html

Ilya
03.10.2018
17:48:58


Bogdan
03.10.2018
17:50:54
а вобще обязвтельно это делать в базе? Условие вьыорки зависит от этого расстояния ? почему-бы не сделать на уровне аппликешена

Ilya
03.10.2018
17:54:22
А ещё в пользу питона надо сказать что там можно подвязывать всякие Сишные библиотеки и если вынести в эти библиотеки всё тяжелое то это работает очень быстро. Правда хз как это сделать при встраивании в постгрес.

Darafei
03.10.2018
17:57:14
Собрать все в массивы и в питоне скормить в numpy?

Ilya
03.10.2018
17:58:45
Собрать все в массивы и в питоне скормить в numpy?
Да, вполне. Правда я не знаю что там за задача и можно ли это эффективно использовать в конкретно этой задаче...

Я бы всё же попробовал на sql

elfiki
03.10.2018
17:59:40
Пацаны, а есть какой-нибудь аналог пгхеро?

Darafei
03.10.2018
18:15:48
А можно делать биндинги сразу в постгрес

Dmitry
03.10.2018
18:17:18
Ilya
03.10.2018
18:19:11
Это оправдано только если заранее знать JS

А вот так чтобы ради постгресовской задачи я бы не стал учить JS, лучше питон. Из двух зол - меньшее.

Dmitry
03.10.2018
18:20:11
Дык можно, но зачем?
Это Вы зачем-то упомянули про биндинги в Питоне. Я так и понял зачем ?

Из двух зол V8 быстрее.

Ilya
03.10.2018
18:20:55
Из двух зол V8 быстрее.
Смотря в чём. :)

Dmitry
03.10.2018
18:21:20
Смотря в чём. :)
Ну я не знаю в чём медленнее. Может Вы в курсе?

Google
Darafei
03.10.2018
18:21:22
V8 все равно лишний слой

Там вначале инлайнинг хотели

Dmitry
03.10.2018
18:22:06
V8 все равно лишний слой
Ну так и Питон тоже лишний слой ? Если человек умеет в C, то ему всё лишний слой.

Ilya
03.10.2018
18:22:06
Ну я не знаю в чём медленнее. Может Вы в курсе?
Например в разработке если надо что-то изучать с нуля. Питон можно гораздо быстрее освоить, практически мимоходом.

Darafei
03.10.2018
18:22:23
Инлайниться умеет sql и с pg11 - си

Dmitry
03.10.2018
18:25:03
Инлайниться умеет sql и с pg11 - си
Это отлично, но для тех, кто на "ты" с C. V8 просто показывает очень впечатляющие результаты в плане производительности. И если нет знаний C, но есть знания JS (что очень верятно, учитывая его мнополию в вебчике), то V8 - отличный вариант.

Demuz
03.10.2018
18:25:28
Блин, что-то найти не могу, подскажите пожалуйста, в Patroni как реализовывается connection pooling? Мастер падает и потом на этом же ip работает другой сервер.

Dmitry
03.10.2018
18:27:10
Ilya
03.10.2018
18:27:39
Dmitry
03.10.2018
18:28:36
Питон всё равно гораздо проще и лаконичнее.
И гораздо медленее в рантайме. Даже Emacs Lisp быстрее ? Но это холивар уже, продолжать не хочу.

Stanislav
03.10.2018
18:29:36
кто считает что у жс низкий порог входа войдите в промисы, отладку и настройку вебпака со всеми транспиляциями :)

Ilya
03.10.2018
18:30:25
В каких-то паралельных вычислениях быстрее всего Go или Erlang. В однопоточном питон вполне резвый, а если там самое тяжелое вынесено в Сишную библиотеку то это ваще киллер-фича: оно получается предельно просто в разработке и скорость Сишная.

Ilya
03.10.2018
18:32:28
А Вы точно сейчас про *порог вхождения* говорите?
А зачем входить туда, где если проще то только сначала? :)

Dmitry
03.10.2018
18:33:42
А зачем входить туда, где если проще то только сначала? :)
Чтобы сделать юзабельный UI в браузере. На Питоне то его не сделать ?

Кстати, кто-нибудь хочет сделать PL/Go для Postgres? ?

Ilya
03.10.2018
18:34:50
Чтобы сделать юзабельный UI в браузере. На Питоне то его не сделать ?
Это не значит что JS - лучшее, оно безальтернативное в данных задачах.

Google
Stanislav
03.10.2018
18:34:52
Чтобы сделать юзабельный UI в браузере. На Питоне то его не сделать ?
чтобы сделать юзабельный уи нужно все что я перечислил плюс еще вагон технологий от фронтенд фреймворков типа стейт менеджмента

Ilya
03.10.2018
18:35:57
Хотя вот лично мне сайты на JS кажутся какашкой, искренее не понимаю зачем все так ударились их делать.

Stanislav
03.10.2018
18:36:35
Да нет, нужно HTML, CSS и немного JS. KISS, понимаешь.
в 2010 году возможно. тогда еще нужен шаблонизатор и вообще какаянибудь джанга

Ilya
03.10.2018
18:38:17
они быстрее проще интеравтинее
Возможно я слишком старый, но мне не заходит. Мне до сих пор кажется идеальным минималистичный дизайн без всяких свистелок.

Джанга, питон
В джанге разве нет вкраплений JS?

Stanislav
03.10.2018
18:39:05
Да нет, в 2018 хватит HTML,CSS и немного JS.
пойду скажу ребятам из фронтэнд чата :) как раз влезу в обсуждение react suspense с context api

Dmitry
03.10.2018
18:39:41
пойду скажу ребятам из фронтэнд чата :) как раз влезу в обсуждение react suspense с context api
Нет, ну кто хочет инвестировать время в очередной ура-фреймворк, который помрёт через год-два - пожалуйста ? Я не против ?

Dmitry
03.10.2018
18:40:31
Не, СУБД как раз нужны.

Ilya
03.10.2018
18:41:00
так а причем тут дизайн? спа можно и очень минималистичным сделать
Ну я не веб разработчик, мне видится что если нужны простые страницы - то нафиг не нужен никакой JS... или я ошибаюсь?

Dmitry
03.10.2018
18:41:01
А вот 100500-фреймворков запудрили мозги основательно, и, похоже, бесповоротно.

Stanislav
03.10.2018
18:41:33
Stanislav
03.10.2018
18:42:05

Страница 1015 из 1062