|
Альтернативы PostrgreSQL, для наискорейшего массового изменения | ☑ | ||
---|---|---|---|---|
0
GANR
22.10.23
✎
09:11
|
Существует ли в природе СУБД или иное средство, способное максимально быстро выполнить подобную операцию Postgresql 12.6. Как ускорить скрипт с update? Обновление 18 млн записей по юрлицам РФ ?
Время от начала изменения данных до его окончания с возможностью восстановления быстрого поиска должно быть минимально. На слуху такие вещи как Kassandra, графовая БД, Elastic Search, тарантул. Что может помочь? |
|||
1
АНДР
22.10.23
✎
09:46
|
Огласите бюджет и характеристики помещения серверной.
|
|||
2
shuhard
22.10.23
✎
09:47
|
(1) ты хотел сказать Дата центра ?
|
|||
3
vde69
22.10.23
✎
09:58
|
типичный подход новой школы
новая школа - дайте мне супер инструмент тогда сделаю эту хрень старая школа - у нас нет супер инструментов, значит изменим задачу так, что-бы текущим инструментом можно решить. к сожалению старой школы все меньше и меньше.... |
|||
4
Кирпич
22.10.23
✎
10:44
|
(0) Так там же вроде проблема была в том, что какой то дятел засунул данные, по которым нужно чего то вычислять, в JSON.
Кассандра-массандра выбирается в зависимости от задачи. Какая задача - неизвестно. Может нужны текстовые файлы и компилятор, а может просто запрос в Postgresql надо правильно написать. |
|||
5
Волшебник
22.10.23
✎
11:06
|
(0) Для скорейшего изменения есть колоночные СУБД, например, wiki:ClickHouse
Там нет транзакций и UPDATE только пакетный. Зато всё быстро |
|||
6
GANR
22.10.23
✎
12:36
|
(5) Спасибо! Беру на заметку.
(1) Предположим, если 1Тб SSD и 200Гб ОЗУ раздобыть что это даст? |
|||
7
shuhard
22.10.23
✎
12:40
|
(6) [1Тб SSD] если у тебя до сих пор HDD, то SSD решит проблему "узких" мест
|
|||
8
ansh15
22.10.23
✎
12:41
|
GT.M или аналог https://platforms.su/platform/5261
Если не страшно окунаться в MUMPS.. :) А так - grep, sed, awk, еще что-нибудь. Для структурированног о текста 18-20 млн. строк вполне должно хватить, комп только поприличней. |
|||
9
GANR
22.10.23
✎
12:45
|
(8) [grep, sed, awk] хотите сказать, сунуть файлы ЕГРЮЛа на диск, а потом просто работать с ними обычными файловыми операциями без всяких СУБД?
|
|||
10
H A D G E H O G s
22.10.23
✎
13:37
|
(0) Автор, что не так с отдельными колонками поиска? Которые один раз надо заполнить из json и потом искать уже по ним?
|
|||
11
ansh15
22.10.23
✎
13:39
|
(9) Почему нет? Попробовать же можно. Причем, каждый файл можно обрабатывать в отдельном процессе, по числу высокоэффективных ядер, если файлы большие.
|
|||
12
Djelf
22.10.23
✎
15:08
|
(10) Они давал ссылку в (0) что "По одному ОГРН возможно несколько записей.".
Что мешает ему это выкинуть в отдельную таблицу SQL из JSON мне не ведомо. Да и работает он на достаточно древнем PostrgreSQL 12.6, в более новых версиях, работа с индексами JSON значительно расширена, насколько могу это заметить. |
|||
13
Chai Nic
22.10.23
✎
17:50
|
(3) нет, старая школа это "у нас нет инструментов для решения задачи, значит будем делать инструменты, а задача потом"
|
|||
14
Chai Nic
22.10.23
✎
18:01
|
JSON, равно как и XML, несовместимы с производительностью. Для производительности структуру БД надо приводить к нормальной форме согласно теории реляционных баз данных. Не должно быть никаких подлежащих парсингу блобов в полях.
|
|||
15
NorthWind
22.10.23
✎
18:35
|
Хм... Ну хорошо, найдете вы средство для расшива узких мест. Но вам ведь придется сначала влить 18 лямов записей в это средство, потом вернуть измененное назад в Postgres. Вы думаете, это будет лучше, чем в имеющемся Postgres перейти от JSON к колоночному представлению, например?
|
|||
16
GANR
22.10.23
✎
19:11
|
(14) Это точно - поля по которым идет поиск надо выносить из блобов. Я надеялся, что индекс сохранит значения этих полей и постгрес будет искать инфу в индексе, однако поделав простые селекты я понял, что это так не работает - все равно СУБД лезет в эту блобину.
|
|||
17
dmrjan
23.10.23
✎
08:12
|
А как насчет того, чтобы поставить задачу в компанию Постгрес Профессионал. Кстати - у Вас какая версия - стандарт или enterprise?
|
|||
18
Chai Nic
23.10.23
✎
08:25
|
(16) Надо данные хранить нормализованно без блобов, а для выдачи в пользовательское АПИ c json формировать view. Тогда будет быстро и правильно.
|
|||
19
Garikk
23.10.23
✎
09:59
|
(18) не всегда надо прям вообще все данные хранить нормализовано, иначе будет очень большие накладные расходы на их извлечение
|
|||
20
Garikk
23.10.23
✎
09:59
|
если они не учавтсвуют в поиске, то иногда правильнее хранить их в блобе
|
|||
21
Valdis2007
23.10.23
✎
10:09
|
(0) На слуху такие вещи как Kassandra, графовая БД, Elastic Search, тарантул ...тогда еще Redis добавь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |