@pgsql

Страница 220 из 1062
Alexandr
17.01.2017
08:37:30
добрый день

Vladislav
17.01.2017
08:38:09
так оно и есть, говорю как разработчик postgres, у postgres вообще проблемы с запросами у которых больше 8 join
поэтому давайте делать БД чтобы не было больше 8 таблиц? не кажется это бредом?

Alexandr
17.01.2017
08:39:12
почтенные господа дба, подскажите, где есть годные калькуляторы, которые посчитают все параметры postgres.conf чтобы СУБД использовала максимальный размер оперативной памяти?

Google
Vladislav
17.01.2017
08:39:18
вы сейчас больше напоминаете фанбоев, которые под БД подстраиваются, чем логически рассуждаете, как правильно сделать

при чём тут колличество таблиц?
про 8 join'ов кто написал? при том и таблицы

Alexandr
17.01.2017
08:40:07
а вам для чего?
вопрос из разряда "а с какой целью интересуешься" :)

Vladislav
17.01.2017
08:40:18
Alexandr
17.01.2017
08:40:20
с целью оптимизации использования памяти как раз

Yury
17.01.2017
08:40:21
вопрос из разряда "а с какой целью интересуешься" :)
ну типо того, просто там разная память есть

Alexandr
17.01.2017
08:40:38
меня смущает, что используется только половина оперативки

Fike
17.01.2017
08:40:41
вы сейчас больше напоминаете фанбоев, которые под БД подстраиваются, чем логически рассуждаете, как правильно сделать
блин, чувак, ты тоже держишься одной точки зрения, не особо реагируя на приводимые доводы

Yury
17.01.2017
08:40:57
с целью оптимизации использования памяти как раз
если для создания индексов то это work_mem если в целом тот шареная память желательно половину от оперативки если это linux

Vladislav
17.01.2017
08:41:14
блин, чувак, ты тоже держишься одной точки зрения, не особо реагируя на приводимые доводы
я не вижу очевидных плюсов, по сравнению с минусами, чтобы поменять эту точку зрения

Google
Fike
17.01.2017
08:41:26
потому что все тупые. мы уже поняли.

Vladislav
17.01.2017
08:41:33
я такого не писал

в споре рождается истинна

Yury
17.01.2017
08:41:49
меня смущает, что используется только половина оперативки
половину и надо, так как postgres не использует прямой доступ к диску и работает через дисковый кеш ОС.

Alexandr
17.01.2017
08:42:08
а, т.е. всё норм

Vladislav
17.01.2017
08:42:17
но пока никто не обосновал, кроме фразы "8 join'ов в запросе" почему избыточность данных и повышение процесса записи - это выгодно

Fike
17.01.2017
08:42:41
я умываю руки

Yury
17.01.2017
08:42:46
я не вижу очевидных плюсов, по сравнению с минусами, чтобы поменять эту точку зрения
вам просто надо на практике это увидеть тогда думаю будет понятнее... в веб проектах (или похожих) такое очень часто.

Vladislav
17.01.2017
08:43:15
Yury
17.01.2017
08:43:36
но пока никто не обосновал, кроме фразы "8 join'ов в запросе" почему избыточность данных и повышение процесса записи - это выгодно
за счёт этого вы ускоряете причём в разы выборку по нужному вам запроссу. Если вы очень редко пишете и часто читаете то вот и ОНО.

Vladislav
17.01.2017
08:44:16
Vladislav
17.01.2017
08:44:23
где профит?

Fike
17.01.2017
08:45:50
Чем матвьювы плохи для подобных случаев?
Насколько понимаю, это одно и то же, только ответственность генерации висит на приложении, а не на бд. Ну и возможности чуть пошире, если часть данных берется из стороннего источника, c matview могут быть проблемы.

Yury
17.01.2017
08:45:56
такое часто только в сборе аналитики в веб-проектах, но это не панацея
ну вот конкретно мой вариант - у меня есть many to many где 500 000 с одной стороны, 70 000 с другой и 2 500 000 связей между ними. Постоянно надо искать что то в первой стороне (таблице) по данным из второй таблицы. join или select 1 карйне медленны, зато int array + GiST индекс + query int даёт десятикратный прирост производительности.

Петр
17.01.2017
08:48:03
если для создания индексов то это work_mem если в целом тот шареная память желательно половину от оперативки если это linux
половину от оперативки - это слишком, зачем одно и то же держать и в файловом кэше и в шаред?

https://wiki.postgresql.org/wiki/Performance_Optimization

Denis
17.01.2017
08:49:05
Yury
17.01.2017
08:51:15
половину от оперативки - это слишком, зачем одно и то же держать и в файловом кэше и в шаред?
что бы быстрее работало т.к. шареная память в данном случае быстрее чем дисковый кеш

Google
Denis
17.01.2017
08:51:18
many to many? Без нормализации? Месье знает толк в извращениях...
нормализация есть у него, просто данные продублированны в денормализованном виде

если я правильно понял

Mike Chuguniy
17.01.2017
08:55:15
@stalkerg если настолько редкая вставка, то почему не матвью? Не дешевле будет?

Fike
17.01.2017
09:04:29
Чем матвьювы плохи для подобных случаев?
Если взять тот проект, с которым сейчас кочевряжусь: данные хранятся в виде стрима событий над сущностью в json (event sourcing), и фактически БД не может сама полностью собрать сущность - это может только приложение. У этих же сущностей есть поле metadata, в котором лежит произвольный объект, по ключам и значениям которого надо искать. Приложение при каждом апдейте сущности не только добавляет событие в стрим, но и обновляет все связанные таблицы, по которым производится поиск.

Mike Chuguniy
17.01.2017
09:25:42
@etkee, без словесной постановки задачи мне сказать в принципе нечего. Но упоминание связки json+СУБД вводит меня в уныние и безрадостность, ибо "модно, задорно, молодёжно". :( А гнаться за модой, задором и молодёжностью - занятие зело бесперспективное.

Pavel
17.01.2017
09:31:07
Простите за офтоп, но как же режет глаз читать все эти ??⏳??Super/Duper_Puper в нике каждый раз в сообщении.

Pavel
17.01.2017
09:33:47
Да хотел прочитать лог дискуссии но уже через 30 секунд начал дергаться глаз.

Dmitry
17.01.2017
09:35:58
спор не о чем, РСУБД пытаются использовать как денормализованное хранилище.

и говорят что это "нормально"

Fike
17.01.2017
09:37:25
шутка про то, что "ненормально" уже заложено в слово "денормализация"

Аггей
17.01.2017
09:37:36
Матвью - вот она "правильная" форма денормализации )

Mike Chuguniy
17.01.2017
09:38:35
Матвью - вот она "правильная" форма денормализации )
Вот я и пытаюсь понять, почему эта форма денормализации не используется.

Dmitry
17.01.2017
09:39:49
Вот я и пытаюсь понять, почему эта форма денормализации не используется.
потому реализация не позволяет удобно использовать?

Pavel
17.01.2017
09:40:49
> и фактически БД не может сама полностью собрать сущность - это может только приложение вот основное

денормализованная таблица не может собраться лишь из других таблиц путем SQL преобразований.

Аггей
17.01.2017
09:43:37
денормализованная таблица не может собраться лишь из других таблиц путем SQL преобразований.
А функции на pg perl там или прочих языках нельзя использовать? Я сам не пробовал просто

Fike
17.01.2017
09:44:52
это проще делать из приложения

Google
Pavel
17.01.2017
09:45:13
А чем тогда это будет отличаться от уровня приложения? Может побыстрее будет, но работать в приложении на родном языке со всеми инструментами отладки гораздо проще и удобнее.

И держать доменную логику в одном месте

Dmitrii
17.01.2017
09:55:51
Всем привет. Какие есть международные хорошие конфы по постгресу?

Ildar
17.01.2017
10:05:31
https://wiki.postgresql.org/wiki/Events

Dmitrii
17.01.2017
10:14:07
Ключевое было "хорошие" :)

Или в сообществе pg плохих ивентов не бывает?)

Вот взять например PgDay в Москве. Сколько там будет докладов на английском? Мне бюджет не дадут, если будет много докладов на русском с переводом. На сайте не написано об этом ни слова, программы нет.

Mike Chuguniy
17.01.2017
10:19:59
pgday - в Питере. В Москве - pgconf2017

Dmitrii
17.01.2017
10:24:31
Ой, я щас смотрел pgconf в Москве.

В смысле сообщение выше мое было как раз про Pgconf

Ildar
17.01.2017
11:17:43
pgconf.us, pgcon в оттаве, pgconf.eu наверное самые представительные

Alex
17.01.2017
11:41:47
а когда будет опубликован список докладов для pgconf ?

(московский который)

Ildar
17.01.2017
11:46:22
на московскую конференцию еще не завершен прием докладов

"25 января будет опубликована предварительная программа конференции."

blkmrkt
17.01.2017
17:03:23
Хочу вести базу хешей картинок (конкретно pHash) для similarity search в нормальном движке - может есть какой экстеншон типа mvp tree, чтоб индексировал многомерные данные?

для постгреса конечно*

Vadim
17.01.2017
18:49:53
Об этом речь? https://github.com/jirutka/smlar

blkmrkt
17.01.2017
19:31:29
Об этом речь? https://github.com/jirutka/smlar
тут просто набор ф-й которые можно использовать в кастомном индексе? Не вижу как из этого можно mvp tree построить

Vadim
17.01.2017
19:35:22
Попробуйте посмотреть в сторону KNN для SP-GIST

Google
Stas
17.01.2017
19:44:04
вот тут дока подробнее написана: https://github.com/postgrespro/imgsmlr

для многомерных данных можно посмотреть cube и intarray в contrib

первое будет работать с knn для небольших размерностей (типо до десятка)

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

Еще много данных можно привести к малой размерности или или малой уникальности координат сделав кластеризацию или PCA

такие дела)

Vadim
17.01.2017
19:53:14
Стас, спасибо за краткий обзор)

blkmrkt
17.01.2017
21:22:47
Попробуйте посмотреть в сторону KNN для SP-GIST
Неа, не пойдет для моей задачи. нужно искать N похожих среди нескольких миллиардов вот таких хешей: ba19c8ab5fa05a59

но спасибо за обзор, почитаю немного про imgsmlr

blkmrkt
17.01.2017
21:27:13
Stas
17.01.2017
21:28:17
16 измерений, 16 уникальных значений в каждом. Intarray потянет

сложно сказать про миллиарды, не пробовал

700М в r-дереве с cube хорошо работало, но индекс был уже сильно жирный

blkmrkt
17.01.2017
21:31:44
вот тоже боюсь что индекс оч расплывется

интересно было бы посмотреть на реализацию чистой mvp бд с шардингом

Stas
17.01.2017
21:34:50
если есть готовые данные я бы попробовал intarray knn на них

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