powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / BLU-компрессия
7 сообщений из 7, страница 1 из 1
BLU-компрессия
    #39282626
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.

Через 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-компрессию получше при загрузке пачками ?
...
Рейтинг: 0 / 0
BLU-компрессия
    #39283201
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешные объёмы, грузите всё сразу. =)
...
Рейтинг: 0 / 0
BLU-компрессия
    #39283633
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HunterikСмешные объёмы, грузите всё сразу. =)
Да не вопрос, если бы оно на фазе анализа не создавало файлик /db2/db2inst1/NODE0000/SQL00001/load/DB200002.PID/DB200023.OID/load.xld.000
равный некомпрессному размеру сорс-таблицы.
Да и в блу-бест-практиках говорят, что для перегрузки больших таблиц, дескать, загрузите сначала примерно 1/20 часть, а потом все остальное.
Забавно, что если сначала перегрузить всю таблицу в строчную, а потом внутри таргет-базы уже в пустую колоночную, то этот временный файл не создается.
...
Рейтинг: 0 / 0
BLU-компрессия
    #39284267
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1,
ну вот - сами разобрались, как и что работает. =)

Думаю, что 1/20 предполагает, что данных будет достаточно для оценки того, как лучше построить словарь.

Идея я же в BLU проста, чем чаще значение встречается, тем в меньшее количество байт оно сворачивается.

Чем более репрезентативным будет первый набор данных для оценки частоты повторяемости, тем лучше будет конечный результат.

Если я ошибаюсь - поправят.
...
Рейтинг: 0 / 0
BLU-компрессия
    #39285612
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
------------------------------------
Откуда читаете, не из пайпа?
...
Рейтинг: 0 / 0
BLU-компрессия
    #39286336
sysdummy1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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, но по факту оно делает пайп в этом дефолтном пути
...
Рейтинг: 0 / 0
BLU-компрессия
    #39287222
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdummy1CawaSPbОткуда читаете, не из пайпа?
Обычный DECLARE CURSOR ... DATABASE ...USER ... LOAD FROM CURSOR, но по факту оно делает пайп в этом дефолтном пути
BTW Я не уверен на 100%, но по идее, если делать в два прохода:
Код: sql
1.
2.
3.
4.
5.
DECLARE C1 CURSOR FOR ...;
LOAD from C1 of CURSOR  REPLACE RESETDICTIONARYONLY into ...;

DECLARE C2 CURSOR FOR ...;
LOAD from C2 of CURSOR  REPLACE KEEPDICTIONARY into ...;


то необходимость хранить полный объём таблицы отсутствует (первый проход - только фаза анализа, второй - всё остальное).
Тем не менее что-то оно там во временном каталоге сохраняет даже при RESETDICTIONARYONLY.
Проверьте, что будет в вашем случае.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / BLU-компрессия
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]