|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
следующим клиентам мы уже рекомендуем при обновлении сервера поставить 1 Тб оперативной памяти. так что задача сортировать всё в памяти и как можно быстрее становится как никогда актуальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 13:56 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22все данные в один кусок памятиГде ж взять такой один кусок памяти ? Увеличив TempCacheLimit ты можешь добиться сортировки в памяти, да. Но не в одном куске. Почему quicksort перестаёт быть quick на огромных объёмах памяти - изучай литературу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:00 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
Vlad FА это можно, технически, сделать? sysdba22только не на 100500, а на 256 Гб пока )) а так, да, именно этого и хочется. все данные в один кусок памяти и сортировка его. без разбиения на части и последующего слияния. и без вызовов функций обращения к дисковым файлам. пусть даже последние и кэшируются операционной системой в памяти. откуда такое странное желание убрать слияние? Вы уверены что без него будет быстрее? Ничего что сортировать надо не только одному пользователю? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:01 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22а так, да, именно этого и хочется. все данные в один кусок памяти и сортировка его. без разбиения на части и последующего слияния. и без вызовов функций обращения к дисковым файлам. ты же читал fb1tbtech, там для сортировки одного индекса потребовалось 182 гиг памяти, для других поменьше, но - если ты их будешь создавать параллельно, так суммарно на твоей терабайтной базе это может превысить 256 гиг. И что дальше? Так что пожелание "без вызовов функций обращения к дисковым файлам" выглядит абсолютно необоснованной блажью. Потому что ФБ продолжает сортировку во временных файлах только когда ему памяти для сортировки не хватает. У себя на сервере сравнил по времени создание индекса влезающего в sortmemsize и не влезающего? Разница есть? Какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:03 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22скажем так, в чем проблема. у нас тут 20 лет системе нашей и мы сейчас думаем, как так сделать, чтобы она спокойно проработала следующие 20. Оптимизацией заняться не пробовали? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:06 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
оптимизацией тоже занимаемся. просто, когда данных много, то их много... как ни крути. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:13 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
буду дальше эксперементировать... просто для фб важно оставаться конкурентноспособным. сейчас в железе произошли 2 важных изменения. во-первых, у всех наших больших клиентов уже стоят или SSD диски за RAID-ами с гигабайтами кэша или системы на модулях оперативной памяти от Intel с сумасшедшими числами рандом IO. Т.е. там где раньше алгоритмы упирались в скорость рандомного доступа, теперь такой проблемы нет. во-вторых, стали доступны немыслимые раньше объемы ОЗУ. PS: SAP, например, вообще создал новую БД с нуля: https://en.wikipedia.org/wiki/SAP_HANA которая всё держит в оперативной памяти. да, требования у них теперь от 1 Tb и выше на сервере, но и скорости в 10-100 раз выше против прежнего. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:22 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22когда данных много, то их много... как ни крути. Объём данных сам по себе лежит на диске мёртвым грузом и проблем не создаёт. Проблема возникает исключительно при применении кривых способов работы с этими данными. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:26 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
авторты же читал fb1tbtech, там для сортировки одного индекса потребовалось 182 гиг памяти, для других поменьше, но - если ты их будешь создавать параллельно, так суммарно на твоей терабайтной базе это может превысить 256 гиг. И что дальше? да, читал.но там индекс по 3.7 млрд записей. у меня же пока сотня индексов но по ~100 млн записей. Т.е. на порядок меньше. Соответственно я и расчитываю что при параллельном разбиении, скажем на 10 потоков, должно хватить 256 Гб на все индексы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:41 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22, то что в Firebird есть что оптимизировать (в том числе и сортировке) не подлежит сомнению, но у вас какие то странные предложения как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:47 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22да, читал.но там индекс по 3.7 млрд записей. у меня же пока сотня индексов но по ~100 млн записей. Т.е. на порядок меньше. Соответственно я и расчитываю что при параллельном разбиении, скажем на 10 потоков, должно хватить 256 Гб на все индексы. это смотря каких индексов. Сортировать BIGINT это одно, а какой нибудь VARCHAR(100) совсем другое. Вот мне интересно зачем вы так бьётесь над разовой операцией? Или вы каждый день индексы пересоздавать собрались? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 14:53 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
проблема в том что там на предприятии 24*7 цикл и к серверу в том числе подключено оборудование производственное. чтобы на 8-10 часов остановить базу на майские праздники мы уже сейчас начинаем вести переговоры... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:09 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22чтобы на 8-10 часов остановить базу на майские праздники мы уже сейчас начинаем вести переговоры...Что можно делать 8 часов с базой 200гб - не понятно. Индекс BIGINT на 100млн записей будет пересоздан, мягко говоря, быстрее. И 100 индексов тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:27 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22, я не очень понял этот коммент - к чему про 24х7? В таких случаях делается репликация, а для тестов база копируется еще куда-то, без всяких остановок (nbackup), и там уже можно и размеры сортировок для индексов проверить, и оптимизировать запросы, и так далее. Или это к длительности рестора? Я так и не увидел 1. сколько времени идет бэкап 2. сколько времени идет рестор 3. сколько времени экономит параллельное создание индексов после gbak -c -i по сравнению со штатным временем рестора. Пока только какие-то заявки на оптимизацию того, что в данном случае никаких ощутимых ускорений не даст. Хотя, думать на самом деле надо про 4. организацию репликации, с оценкой времени переключения на реплику при сбое основного сервера. Потому что на больших базах, от 500 гиг и выше, время рестора даже на хорошем оборудовании для организации уже критично. К примеру, в статье приведено хорошее и плохое время бэкапа http://www.ibase.ru/backupspeed3/ Например, отлично это когда база в 124 гига бэкапится за 40 минут. Значит, если у вас тоже хорошо, то бэкап 200 гиг сделается за 1.5 часа. Но время рестора обычно в 2-3 раза больше. А значит 200 гиг заресторится за 3.5 часов. А когда база вырастет до терабайта, то на том же железе рестор уже будет длиться 15 часов. 15 часов простоя плюс затраты на переввод документов с момента последнего бэкапа - это может быть совершенно неприемлемо. У середнячков, там же, в статье, 80 гиг бэкапятся за 40 минут, значит 200 гиг где-то часа два или более, а рестор уже часов 6, и более. Так вот, защититься от сбоев и потерь, и обеспечить нормальную скорость восстановления системы, для таких баз можно только репликацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:31 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22, только что провёл тест (120 млн записей) на древнем компе, 2 ядра, HDD, 2Гб оперативки. 5 минут. Так то да - получается 100 раз - 500 минут. Но сервер должен быть хотя бы на порядок быстрее этого моего компа. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:34 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22проблема в том что там на предприятии 24*7 цикл и к серверу в том числе подключено оборудование производственное. чтобы на 8-10 часов остановить базу на майские праздники мы уже сейчас начинаем вести переговоры...Как вы вообще без кластера дожили столько времени? У нас нет такого драконовского риалтайма и то держим несколько нод на репликации, чтобы можно было выводить на регламент требуемое железо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 15:44 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
на пожарный случай там есть резервный сервер на который несколько раз в сутки с помощью nbackup делается горячая копия бд. для репликации ждем FB 4 )) полный цикл бэкап-рестор там идет часов 7, но делали уже давно. сейчас может и чуть дольше. и за счет BIGINT база подрастет процентов на 20%, что тоже увеличит время... как-то так. ладно, сделаю парллельное восстановление, сюда сообщу о результате. даже если он будет отрицательным )) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 16:01 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22за счет BIGINT база подрастетЕсли нацеливаетесь на репликацию, может имеет смысл мигрировать сразу на uuid? Чтоб не рубить той несчастной собачке хвост по частям. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 16:32 |
|
Параллельное создание большого количества PK и FK
|
|||
---|---|---|---|
#18+
sysdba22полный цикл бэкап-рестор там идет часов 7 Код: plaintext
Т.е. будет "время бэкапа плюс время создания индексов". Возможно, "минус немного времени от записи файла бэкапа". P.S. До майских праздников можно успеть проверить и этот и многие другие варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2019, 17:12 |
|
|
start [/forum/topic.php?fid=40&msg=39762910&tid=1560830]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 274ms |
0 / 0 |