|
BLU-компрессия
|
|||
---|---|---|---|
#18+
День добрый. Через LOAD FROM CURSOR гружу данные пачками по ~50M строк в колоночную таблицу Первая пачка (56M строк) в таблице занимает 2.3Gb, вторая пачка (54M строк) уже увеличивает размер до 11GB. На второй загруке видно, что фазы ANALYZE нет, т.е. уже используется построенный в первой загрузке словарь. Сорс-база DB2 10.5.7 на AIX 7.1 TL4 SP1, таргет-база DB2 10.5.7 на SLES 11 SP3 UTIL_HEAP_SIZE = 4 000 000, после двух загрузок в mempools говорят, что HWM=6.6GB Привычный по строчным таблицам REORG ....RESETDICTIONARY не поддерживается ;-) Как бы сделать BLU-компрессию получше при загрузке пачками ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2016, 12:19 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
Смешные объёмы, грузите всё сразу. =) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2016, 00:02 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
HunterikСмешные объёмы, грузите всё сразу. =) Да не вопрос, если бы оно на фазе анализа не создавало файлик /db2/db2inst1/NODE0000/SQL00001/load/DB200002.PID/DB200023.OID/load.xld.000 равный некомпрессному размеру сорс-таблицы. Да и в блу-бест-практиках говорят, что для перегрузки больших таблиц, дескать, загрузите сначала примерно 1/20 часть, а потом все остальное. Забавно, что если сначала перегрузить всю таблицу в строчную, а потом внутри таргет-базы уже в пустую колоночную, то этот временный файл не создается. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2016, 09:34 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
sysdummy1, ну вот - сами разобрались, как и что работает. =) Думаю, что 1/20 предполагает, что данных будет достаточно для оценки того, как лучше построить словарь. Идея я же в BLU проста, чем чаще значение встречается, тем в меньшее количество байт оно сворачивается. Чем более репрезентативным будет первый набор данных для оценки частоты повторяемости, тем лучше будет конечный результат. Если я ошибаюсь - поправят. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2016, 00:37 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
sysdummy1HunterikСмешные объёмы, грузите всё сразу. =) Да не вопрос, если бы оно на фазе анализа не создавало файлик /db2/db2inst1/NODE0000/SQL00001/load/DB200002.PID/DB200023.OID/load.xld.000 равный некомпрессному размеру сорс-таблицы. Да и в блу-бест-практиках говорят, что для перегрузки больших таблиц, дескать, загрузите сначала примерно 1/20 часть, а потом все остальное. Забавно, что если сначала перегрузить всю таблицу в строчную, а потом внутри таргет-базы уже в пустую колоночную, то этот временный файл не создается. BTW Про LOAD в column-organized: ------------------------------------ The input data source is processed twice if a column compression dictionary must be built. If the input source can be reopened, it is read twice. If the input source cannot be reopened, its contents are temporarily cached in the load temporary file directory. The default path for load temporary files is located under the instance directory, or in a location that is specified by the TEMPFILES PATH option on the LOAD command. ------------------------------------ Откуда читаете, не из пайпа? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2016, 17:35 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
CawaSPb. The default path for load temporary files is located under the instance directory, or in a location that is specified by the TEMPFILES PATH option on the LOAD command. Спасибо, проглядел я как-то про TEMPFILES PATH CawaSPbОткуда читаете, не из пайпа? Обычный DECLARE CURSOR ... DATABASE ...USER ... LOAD FROM CURSOR, но по факту оно делает пайп в этом дефолтном пути ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2016, 15:14 |
|
BLU-компрессия
|
|||
---|---|---|---|
#18+
sysdummy1CawaSPbОткуда читаете, не из пайпа? Обычный DECLARE CURSOR ... DATABASE ...USER ... LOAD FROM CURSOR, но по факту оно делает пайп в этом дефолтном пути BTW Я не уверен на 100%, но по идее, если делать в два прохода: Код: sql 1. 2. 3. 4. 5.
то необходимость хранить полный объём таблицы отсутствует (первый проход - только фаза анализа, второй - всё остальное). Тем не менее что-то оно там во временном каталоге сохраняет даже при RESETDICTIONARYONLY. Проверьте, что будет в вашем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2016, 14:22 |
|
|
start [/forum/topic.php?fid=43&fpage=12&tid=1600560]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 298ms |
total: | 452ms |
0 / 0 |