
Alex
12.09.2017
14:01:40
давайте его уже забаним ? :)

Vasya
12.09.2017
14:02:26
Хоть из Нигерии, можно же вести себя нормально или это сложно?

Shaz
12.09.2017
14:04:20

Ilia
12.09.2017
14:04:24
Тут не работает нифига

Google

Ilia
12.09.2017
14:04:37
Нет можордома...

Al
12.09.2017
14:04:41

Ilia
12.09.2017
14:04:55
А инструкция где ?

Al
12.09.2017
14:05:11

Ilia
12.09.2017
14:05:12

Stanislav
12.09.2017
14:10:03
/warn

Al
12.09.2017
14:14:03
Че эт вы делаете?

Алексей
12.09.2017
14:15:37
Кастуют бан или просто выражют свою активную гражданскую позицию)

Vasya
12.09.2017
14:15:59
/warn

Al
12.09.2017
14:20:44

lost
12.09.2017
14:27:54

Sergey
12.09.2017
14:29:56
/warn

Google

Sergey
12.09.2017
14:30:00
/warn

Maksim
12.09.2017
14:31:33
/stat@combot

Combot
12.09.2017
14:31:33
combot.org/chat/-1001045152752

Kirill
12.09.2017
17:12:05
Читал в захлеб

Al
12.09.2017
17:18:45

Dmitriy
12.09.2017
17:46:03
Привет DBA. Есть вопрос. Имеется 30 слов в таблице words.
Нужно нагенерировать в бд ~30^6 уникальных комбинаций из этих слов в таблицу comb
БД PGSQL, но мы можем взять любую если нужно
Как мы решали:
Создавали таблицу без индексов, а индексы ставили потом.
1. Написали функцию которая брала. например первые 4 комбинации и генерировала .
16 одновременно дабы в 16 потоков. долго
2. В несколько потоков генерировали ЯП. очень долго
3. Фунцией генерировали в рам таблицу и уже раз в пару часов переносили в нормальную.
Если еще идеи как ускорить ? или сменить бд может быть?
Если что пробовали на сервере с 96 гб рам и ксеоном с 16 потоками.
Генерировали чисто числа, добивались маленького прироста

Александр
12.09.2017
17:54:30
вы собираетесь вставить 729 млн строк
какая скорость у вас получилась? (сколько времени потратили на вставку?)

Dmitriy
12.09.2017
17:55:00
Если бы только вставить. нам еще их нагенерировать нужно.

Александр
12.09.2017
17:55:41
генерируется любым языком программирования очень быстро (на порядки раз быстрее чем вставлять в бд)

Dmitriy
12.09.2017
17:55:59
От недели и выше, в зависимости от метода.

Александр
12.09.2017
17:56:08
не, неделя много
1205/сек вы вставляете
это очень медленно

Dmitriy
12.09.2017
17:57:40
В целом алгоритм верный ? или может колоночные бд лучше подойдут(ничего не знаю о них) ?

Александр
12.09.2017
18:00:22
я сейчас потыкал на руби
с 36 словами

Google

Александр
12.09.2017
18:00:56
генерирует мгновенно 1251677700 комбинаций
из 12 слов перекрёстных
прям даже без задержки

Ilia
12.09.2017
18:01:21

Александр
12.09.2017
18:01:25
у вас узкое место конечно же - это вставка в БД
words.combination(12).each { |pr| p pr }
вот программа на руби =)
память не жрёт
фигачит быстро

Ilia
12.09.2017
18:02:34
Да надо через Bulck copy вставляю

Vladislav
12.09.2017
18:02:35

Ilia
12.09.2017
18:02:39
Вставлять

Александр
12.09.2017
18:02:47

Dmitriy
12.09.2017
18:02:53

Александр
12.09.2017
18:03:02
а может всё писать частями в текстовые файлы и импортить их

Ilia
12.09.2017
18:03:28
Это пофиг

Александр
12.09.2017
18:03:39
на мускуле самая быстрая вставка через LOAD DATA INFILE ...

Ilia
12.09.2017
18:03:44
Как угодно

Александр
12.09.2017
18:03:54
то есть тупо файлики с разделением табами клепаешь и частями вгружаешь
и индексы да, потом назначать
ну на постгре думаю тоже такой способ есть

Google

Vladislav
12.09.2017
18:04:25
Возможно лучше будет хадупы и т.п., но точно не уверен и это выкидывание постгреса по сути

Александр
12.09.2017
18:05:28

Dmitriy
12.09.2017
18:06:48

Vladislav
12.09.2017
18:07:14

Ilia
12.09.2017
18:07:15
Ваще мудрее было бы вообще не вставлять эти 30 млн

Александр
12.09.2017
18:07:33
https://www.postgresql.org/docs/current/static/sql-copy.html
вот аналог того что я про мускуль писал

Al
12.09.2017
18:07:47

Vladislav
12.09.2017
18:07:51

Александр
12.09.2017
18:08:01
кстати, да
а зачем вам в базу это совать?

Al
12.09.2017
18:08:32
Главное логи отключить
В ту же касандру вали все кучей

Dmitriy
12.09.2017
18:09:30
А в чем практический смысл?
На счет комбинаций.
Нужно знать в какие комбинации входит определенный обьект. Мы постоянно считаем эти комбинации и сравниваем.

Александр
12.09.2017
18:09:51
так хешируйте и сравнивайте хеши?
и хранить это барахло не надо будет
аааа, он может частично совпадать?

Dmitriy
12.09.2017
18:10:34
да
Тоже думали. но раз в 24 часа у обьектов могут меняться комбинации

Александр
12.09.2017
18:11:47

Google

Александр
12.09.2017
18:11:58
ну есть объект, у него какие-то слова признаки
значит можете в памяти все комбинации для него рассчитать (дополнив недостающими)

Dmitriy
12.09.2017
18:12:14
А где еще ? Хранить то это говно нужно

Александр
12.09.2017
18:12:17
и это быстрее чем в базу лазить

Al
12.09.2017
18:12:33

Александр
12.09.2017
18:12:59

Al
12.09.2017
18:13:51
А то звучит типа вот запускаем а оно рычит и не взлетает.. а потом выяснится что у вас танк и ему вообще не нада летать