
Anton [Mgn, az09@osm]
24.10.2017
07:53:23
эх, такая теория сорвалась)

Юрий
24.10.2017
07:55:35
Ребят, а у постгри есть асинхронный протокол? Чтобы по одному соединению более 1 запроса можно было гонять одновременно?
или только послал и сиди жди?

Vladislav
24.10.2017
07:56:57
в рамках сокета - жди

Google

Vladislav
24.10.2017
07:57:04
но никто не мешает открыть еще сессии
ну точнее, если никто не запрещает

Yaroslav
24.10.2017
08:00:59

Юрий
24.10.2017
08:01:46

Alexey
24.10.2017
08:02:51

Юрий
24.10.2017
08:03:50
Ок. А может кто знает, есть ли планы сделать настоящий асинхронный протокол? Чтобы по 1 соединению гонять много запросов.

Anton [Mgn, az09@osm]
24.10.2017
08:04:39

Vladislav
24.10.2017
08:07:01
все таки запросы, это не только селекты...

Юрий
24.10.2017
08:07:16
а у кого такое есть?
Вроде как rethinkdb умеет. Ну и там особой магии нету - добавляешь всем запросам айди, и потом при приеме ответа по айди понимаешь, какому запросу пришел ответ.

Аггей
24.10.2017
08:08:23

Anton [Mgn, az09@osm]
24.10.2017
08:08:23

Юрий
24.10.2017
08:09:14
точно-точно в один коннект?
Инфа не 100%, но вроде как да. Ну и я не вижу в этом особых проблем - я такое делал на уровне приложения по вебсокету. Это стандартная практика.

Google

Anton [Mgn, az09@osm]
24.10.2017
08:09:23

Юрий
24.10.2017
08:10:59
соль в том, чтобы при меньшем количестве соединений обслуживать больше запросов

Anton [Mgn, az09@osm]
24.10.2017
08:11:28
как быть с ворк_мем?
(посолить)

Юрий
24.10.2017
08:12:13
я не настоящий сварщик, я только спросить ?

Vladislav
24.10.2017
08:13:03

Yaroslav
24.10.2017
08:13:09
Я не об архитектуре, я об принципе возникновения такой ситуации. Вообще историю можно хранить в той же "таблице", если бить на партиции
Видите ли, я говорю о том, что у каждого, у кого как-то "плохо работает", скажем, EAV, на самом деле есть одна основная проблема, и она вовсе не с индексацией. ;)
Но приницип я понял, спасибо.

Юрий
24.10.2017
08:16:33
а зачем?
Меньше соединений - меньше накладных расходов. Плюс у нас есть шареный постгрес, и по требованию выдают только ограниченное количество соединений. Так был бы асинхронный драйвер и буквально парчкой соединений обошелся, и другим бы не мешал.

Vladislav
24.10.2017
08:17:40
что-то вы в этой предметной области не понимаете, либо я вас не понимаю...

Юрий
24.10.2017
08:20:49
что именно непонятно?

Alexey
24.10.2017
08:21:46

Anton [Mgn, az09@osm]
24.10.2017
08:21:50
https://en.wikipedia.org/wiki/RethinkDB (а вернее русский раздел) говорит о цепочках вызовов функций ReQL

Alexey
24.10.2017
08:23:12

Юрий
24.10.2017
08:23:23

Alexander
24.10.2017
08:24:12

Anton [Mgn, az09@osm]
24.10.2017
08:27:18
без джанг и питонов

No
24.10.2017
09:32:53
Подскажите, существует ли способ сделать ограничение по сумме строк?
http://sqlfiddle.com/#!17/7f8dc/1
CREATE TABLE items (
id serial primary key,
value int
);
INSERT INTO items (value) VALUES (1), (1), (0), (1), (1);
-- Какой-то триггер или constraint, чтобы сумма последних трёх строк не могла быть больше 2
-- не должно срабатать, можно вставить только 0:
INSERT INTO items (value) VALUES (1);

Alexander
24.10.2017
09:41:32
просто надо раз в 10 минут примерно синхронизировать (проверять, не сломалась ли одна панелька относительно другой)

Google

Alexander
24.10.2017
09:42:32
ну, в общем я вроде сделал, оно довольно быстро работает)

Yaroslav
24.10.2017
09:43:04

No
24.10.2017
09:44:45
Что значит "последних трёх"?
С максимальными тремя id, например. Надо было наверное пример с датами лучше. Строки за последние пять минут должны быть меньше определённого лимита.

Yaroslav
24.10.2017
09:45:37

No
24.10.2017
09:46:37
Я сделал c constraint trigger, но если в рамках одной транзакции вставить две записи по одтельности проходящие лимит, а в сумме дающие превышение, то триггер не ловит этот момент. Т.е. он не видит другую запись, которая ещё не закоммичена.

Yaroslav
24.10.2017
09:48:32

No
24.10.2017
09:51:59
С двумя конкурирующими транзакциями SERIALIZABLE меня спасёт? =)

Dasha
24.10.2017
09:53:05
Всем привет! Я Даша и вообще пишу на Python, но сейчас не об этом.
Тут ищу SQL разработчика в команду МегаФон. Предстоит участвовать в создании аналитических сервисов, предобрабатывать данные (верификация, селекция и т.д.) и поддерживать документацию по процессу обработки.
Нужно:
– Отлично знать SQL (само собой);
– Уметь в Excel продвинутом уровне;
– Опыт с промышленными СУБД (Oracle, PostgreSQL, MySQL тд);
– Опыт опыт построения систем хранения данных;
– Техническое образование.
Помимо зарплаты, ждет классный опыт в телекоме и обработке больших данных, офис в центре Москвы с возможностью гибкого графика, полное оформление, страховка и плюшки в виде компенсации мобильной связи и скидок в спортзале. Не кидайтесь тапками :) Кому интересно, резюме можно отправить тут → https://goo.gl/19eN7F

Yaroslav
24.10.2017
09:56:34

No
24.10.2017
09:57:42

Lev
24.10.2017
10:12:20
http://risovach.ru/upload/2017/10/mem/ne-nado-tak_159262837_orig_.jpg

Massimo
24.10.2017
10:19:36

Lev
24.10.2017
10:21:38
Почему, тоже бд.
Программный продукт для которого нужны совсем другие навыки, чем те, которыми обладают DBA

Massimo
24.10.2017
10:21:56
Я шутил)

Anton [Mgn, az09@osm]
24.10.2017
10:55:40
сохранил в #избранное
Курс молодого бойца PostgreSQL
https://habrahabr.ru/post/340460/
Tags: Программирование, SQL, PostgreSQL, Postgres, базы данных, СУБД
Author postgres on #habrahabr
однако какой себе ник отхватил автор...

Mike Chuguniy
24.10.2017
11:32:53
От скромности не умрёт.

Yury
24.10.2017
12:16:17

Stas
24.10.2017
12:18:05

Google

Stas
24.10.2017
12:19:48
последовательные прстые запрос-ответ в один поток это 30-40 ktps, что в постгресе, что в редисе

Yury
24.10.2017
12:20:02

Stas
24.10.2017
12:20:16
батчинг в протоколе
помогает это вылечить

Yury
24.10.2017
12:21:10
я бы батчингом это неназвал... скорее очередь
вопросс только кто должен крутить эвент луп, сам процесс по идее не может, постмастер?

Stas
24.10.2017
12:24:16
да не нужен ивент луп, клиент собирает 100 запросов в пачку, посылает их сразу в открытое соединение, конкретному процессу, он обрабатывает их и посылает сразу 100 ответов

Yury
24.10.2017
12:25:08
в этом виде это конечно бачинг

Stas
24.10.2017
12:25:08
в итоге посылается не 100 мелких пакетов, а один большой

Yury
24.10.2017
12:25:39
ну это к асинхронщине отношения не имеет

Sherzod
24.10.2017
12:26:08
Всем салам
кто пользуется PostgreSQL 10??

Stas
24.10.2017
12:26:34

Yury
24.10.2017
12:26:38
11dev

Sherzod
24.10.2017
12:26:40
она стабильна??

Alexey
24.10.2017
12:26:42

Yury
24.10.2017
12:27:01

Stas
24.10.2017
12:27:43

Google

Yury
24.10.2017
12:27:53
Стас, так вы уже это сделали?
или делаете?

Stas
24.10.2017
12:28:11
https://www.postgresql.org/message-id/flat/CAMsr+YFUjJytRyV4J-16bEoiZyH=4nj+sQ7JP9ajwz=B4dMMZw@mail.gmail.com#CAMsr+YFUjJytRyV4J-16bEoiZyH=4nj+sQ7JP9ajwz=B4dMMZw@mail.gmail.com

Yury
24.10.2017
12:28:17
ок спс

Stas
24.10.2017
12:28:36
вот тредик. Не мы и еще не закоммитили. Но работает)

Alexey
24.10.2017
12:29:22

Yury
24.10.2017
12:29:49
вопросс в обработке ошибок... хех

Sherzod
24.10.2017
12:30:56

Yury
24.10.2017
12:31:39

Stas
24.10.2017
12:32:36
https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-1.noarch.rpm
вот остюда можно на правильный линк выйти: https://www.postgresql.org/download/linux/redhat/

Sherzod
24.10.2017
12:34:03
+ k karme )

Vlad
24.10.2017
13:13:57
Sup, судари
Есть таблица attr вида: attr_p1, attr_p2, attr_p3
Задача: сделать INSERT INTO table (..) (select distinct attr_p1) и так для каждого аттрибута
Проблема: аттрибутов 30 штук, писать 30 insert'ов не очень хочется. С SQL не очень дружу, поэтому прошу помощи

Vladislav
24.10.2017
13:15:16
справочники делаете? делайте 30 инсертов
и в чем проблема? копипаст на пару минут
Можно конечно написать крутой и сложный запрос, который автоматически и гибко будет все это разруливать, но оно надо тратить так время?