
Darafei
15.03.2018
16:39:41
а как мгновенный каунт живёт в транзакциях?

Alexey
15.03.2018
16:40:13
table level locks, darling ?

Darafei
15.03.2018
16:41:09
я не могу сделать каунт, пока кто-то вставляется?

Alexey
15.03.2018
16:41:58
да

Google

Darafei
15.03.2018
16:42:50
теперь мне нравится эта шутка :)

Alexey
15.03.2018
16:43:38
но для read-only данных myisam — не storage, а конфетка! сжатие, fulltext, r-tree индексы, минимальный space amplification!
копирование таблиц на физическом уровне одним файлом!

Darafei
15.03.2018
16:45:09
это прямо cstore_fdw какой-то!

Alexey
15.03.2018
16:46:00
да, что твой cstore_fdw!

Darafei
15.03.2018
16:47:33
хотя, rtree
это похоже на шейпфайл!

Alexey
15.03.2018
16:48:26
вот сейчас непонятно было. но я на всякий случай согласен!

Darafei
15.03.2018
16:49:46
https://en.wikipedia.org/wiki/Shapefile

Alexey
15.03.2018
17:05:16
Нет, но btree myisam тоже умеет!

Данил
15.03.2018
17:21:06
ребят Привет. расскажите, зачем нужны красночерные деревья и в чем их преимущества по сравнению с другими?
зачем там цвета

Darafei
15.03.2018
17:22:43
привет, а где в постгресе используются красночёрные деревья?

Google

Данил
15.03.2018
17:23:02
ну это скорее общий вопрос про алгоритмы
не в курсе точно как реализованы индексы в постгресе, но вроде как на Б дереве

Darafei
15.03.2018
17:24:22
а ответ на твой вопрос не содержится прямо в википедии?

Данил
15.03.2018
17:25:04
я бы сказал не гуглятся вопросы типо "зачем нужно" "какие преимущества" и тд
в чем суть цветов и зачем они нужны

Darafei
15.03.2018
17:27:19
ответ на него хорошо искать из текста википедии начиная с самого определения
в определении иногда содержатся свойства, которыми нечто обладает
и тогда "зачем нужно что-то" можно найти, например, среди свойств
честно говоря, второе предложение в википедии отвечает на твой вопрос


Nikolay
15.03.2018
17:29:55
Красно-чёрные деревья — это один из первых шагов на пути развития мысли «как бы нам сделать структуру для поиска, гарантированно эффективную по чтению». Просто бинарные деревья плохи тем, что не сбалансированы, нет гарантий скорости поиска, может быстро дойдём до листа, а может и долго. Красно-черные — есть гарантия, но вылезают проблемы что на балансировку оверхед заметный. Дальше придумали АВЛ-деревья, тоже бинарные но уже «почти сбалансированные», то есть высота до разных листьев отличатся не более чем на 1. Погуглите, насколько помню, это три русские фамилии, АВЛ. А дальше придумали уйти от бинарщины и делать много дочерних вершин. Появилась свойство «сильноветвистое», это как раз Б-дерево, оно в общем случае подошло большинству и надолго стало королём СУБД

Daniil
15.03.2018
17:55:53
Красно-чёрные деревья довольно часто можно встретить в жизни. Например, плюсовый stl хранит так почти все контейнеры.

Arthur
15.03.2018
17:59:24
В postgres красно черные деревья тоже есть
https://github.com/postgres/postgres/blob/master/src/backend/lib/rbtree.c

Nikolay
15.03.2018
18:23:14

Arthur
15.03.2018
18:31:12

Alexander
15.03.2018
18:32:39
Раньше ещё в knn-gist использовались. Но потом заменили на pairing heap, который оказался быстрее в данном применении.

1Bot
15.03.2018
20:42:52
Задача: есть таблица с координатами точек (тип tvector одной размерности) , нужно по заданной точке найти ближайшую из таблицы, вектор имеет размерность 128

Evgeniy
15.03.2018
20:46:08
что если сделать PCA чтобы уменьшить размерность, натянуть на новый вектор какой-то куб ртрии и потом дофильтровывать более точным алгоритмом уже меньшую часть данных?

1Bot
15.03.2018
20:47:59

Evgeniy
15.03.2018
20:48:31
зависит
надо думать то есть

Google

Evgeniy
15.03.2018
20:48:52
пару пдфок прочитать

1Bot
15.03.2018
20:49:37
Функций агрегатных для этой задачи нет?
По минимуму расстояния для tvector?

Evgeniy
15.03.2018
20:52:15
чото я запутался с векторами и точками

1Bot
15.03.2018
20:53:21
Координаты точки в 128 мерном пространстве заданы массивом tvector

Evgeniy
15.03.2018
20:53:25
у тебя есть 128 мерное пространство координат и тебе надо найти ближайшую точку к какой-то другой?
ага
так вот, логика какая. тебе надо knn-gist у которого проблемы с такими размерностями
значит надо попробовать итеративно размерности убивать до приемлимых (4-5)
значит если я правильно посчитал, тебе надо 3 прыжка в размерности 5
5*5*5 = 128
но у нас точно есть более умные люди тут которые gist программируют
и лайфхачик может подскажут

1Bot
15.03.2018
20:57:29

Darafei
15.03.2018
21:00:05
а какие проблемы у knn-gist на этой размерности?

Evgeniy
15.03.2018
21:00:34
я думаю там mbr будут такие, что секскан

Darafei
15.03.2018
21:03:09
тогда spgist вроде подойдёт?

Alexander
15.03.2018
21:03:17
Чем больше число координат, тем хуже работает R-tree.
На 128-координатах, боюсь, не будет особо работать вообще.

Darafei
15.03.2018
21:03:45
ага, а knn в spgist не вкоммичен

Alexander
15.03.2018
21:03:53
Исключение, если данные сильно скоррелированы.

Google

Alexander
15.03.2018
21:04:13
Да с sp-gist тоже самое примерно.
Ты же не сделаешь сплит в sp-gist по всем измерениям сразу.
Потому что тогда будет 2^128 дочерних узлов.
Придётся сплитить по отдельным измерениям на разных уровнях.
И всё равно поиск будет вырождаться практически в seq scan.

Darafei
15.03.2018
21:05:37

Alexander
15.03.2018
21:05:57
Да, можно подрезать, это был бы наилучший вариант.

Evgeniy
15.03.2018
21:06:13
ну вот я это и предлагаю

Darafei
15.03.2018
21:06:38
что за координаты?
что будет, если просто потерять 125 из них?

Alexander
15.03.2018
21:08:09
Я довольно много статей прочитал про индексирование в пространствах больших размерностей. Везде суть сводится к следующему: "в таком-то частном случае задачу можно решить, а в общем случае всё плохо".

Darafei
15.03.2018
21:09:19

Evgeniy
15.03.2018
21:09:46

Darafei
15.03.2018
21:09:50
а что если тупо в лоб посчитать гипотенузу в numeric?

1Bot
15.03.2018
21:10:33
а какая физика под задачей?
Физически точка это состояние системы (координаты, скорости, фазовые координаты и другие параметры) , да некоторые параметры скорее всего имеют корреляцию

Darafei
15.03.2018
21:11:17
вот нашёл ты эту строку, что ты потом по ней добываешь?

1Bot
15.03.2018
21:11:45
а сколько точек?
Точек много, там решение системы дифф. уравнений с переменным шагом

Alexander
15.03.2018
21:12:09

Evgeniy
15.03.2018
21:12:16

Google

1Bot
15.03.2018
21:13:45

Darafei
15.03.2018
21:14:31
так может просто классификатор какой обучить?
https://madlib.apache.org/docs/v1.10/group__grp__pca__train.html

Сергей
15.03.2018
21:15:41
че-то мне кажется задача нее для БД

Evgeniy
15.03.2018
21:18:40
ну если надо много-много раз спросить "а кто тут ближайший" и быстро узнать в ответ, то очень даже
индекс же где-то надо строить
с другой стороны, может тут классификацию решений надо по-другому делать

Darafei
15.03.2018
21:19:50
ну, вдруг человек найдёт себе достаточную линейную аппроксимацию и будет у него одна строчка кода
или decision tree сгенерит и окажется она достаточно хорошей и будет у него гроздь ифов

Evgeniy
15.03.2018
21:20:49
да

1Bot
15.03.2018
21:23:36

Darafei
15.03.2018
21:24:12
главное в градиентный бустинг не лезь
а то потеряем человека

1Bot
15.03.2018
21:28:47
Ход решения задачи:
1. Выделить главные координаты и уменьшить размерность до их количества
2. Имеем ту же задачу, но уже с меньшей размерностью

Darafei
15.03.2018
21:30:39
https://www.depesz.com/2016/01/10/waiting-for-9-6-cube-extension-knn-support/

vigo
15.03.2018
21:33:05
Подскажите есть по оракл дб группа подобная?

Alexander
15.03.2018
21:33:08

Darafei
15.03.2018
21:33:42
уже и 11 скоро!

Denis
15.03.2018
21:39:43

Anton
15.03.2018
22:01:05
Привет! Подскажите куда гуглить? pg_dump у всех таблиц и обьектов делает префикс "public." . Как сказать pg_dump его не добавлять? Точно знаю что версия 10.2 так не делает, но сейчас для jessie я могу только 10.3 поставить, а там снова добавили по умолчанию вывод прификса этого. 9.6.x тоже прифекс этот добавляет по умолчанию