Объем памяти в Delta после Delta Merge - PullRequest
1 голос
/ 15 марта 2019

В моей базе данных HANA я выполнил дельта-слияние для нескольких таблиц, для которых я выполнил ряд операторов INSERT

Я вижу, что команда слияния выполнена успешно

С другой стороны, когда я запрашиваю таблицу M_CS_TABLES, я вижу, что MEMORY_SIZE_IN_DELTA больше нуля и высокий процент по сравнению с MEMORY_SIZE_IN_MAIN.Я ожидал увидеть 0 или меньше процентов на самом деле.

Не могли бы вы помочь мне понять это дельта слияния и объем памяти в проблеме дельта?

Я создал таблицы образцов столбцов в моей схеме для базы данных HANA, заполненной данными с помощью команд INSERT.Затем я выполнил следующую команду

MERGE DELTA OF "SALESORDERHEADER";

Чтобы запросить статистику слияния для таблиц столбцов,

select * from M_CS_TABLES where schema_name = Current_schema;

Несмотря на то, что размеры таблиц довольно малы, я ожидал, что раздел delta или row-store в разделетаблицы должны быть близки к нулю

Кроме того, RAW_RECORD_COUNT_IN_DELTA для всех таблиц равны 0, так как я понимаю, это означает, что в объединении нет ожидающих записей.

enter image description here

Для статистики на основе столбцов я выполнил

select * from M_CS_ALL_COLUMNS
where schema_name = Current_schema and table_name = 'SALESORDERHEADER';

Вывод:

enter image description here

1 Ответ

0 голосов
/ 18 марта 2019

Спасибо за добавление информации.

Когда вы смотрите на размеры дельта-хранилищ для каждого столбца (M_CS_ALL_COLUMNS), вы видите, что большинство значений действительно близко к 8 КБ (8196 байт). Это не случайно, но внутренний минимальный размер размещения для структур дельта-хранилища.

Итак, да, если не осталось ни одной записи, которую нужно объединить, каждый столбец таблицы хранилища столбцов по-прежнему имеет структуру дельта-хранилища размером не менее 8 КБ, которая «висит на нем».

Ваше замечание об относительном размере этого дельта-хранилища действительно, но важно признать, что эта таблица крошечная . 480 КБ - это практически ничего с точки зрения таблиц базы данных.

И для таких крошечных таблиц структуры хранилища столбцов, как правило, занимают меньше места, чем другие структуры данных. Это, конечно, меняется, когда вы загружаете тома данных, для которых вы хотите / нуждаетесь в хранилище столбцов. Затем сжатие, распараллеливание, удобство использования кеша процессора и т. Д. Увеличивают объем дополнительной памяти, используемой для пустых дельта-хранилищ.

Во всяком случае, все хорошо здесь, ничего не видно ... двигаться дальше :-D

...