Как одно слово превращается в короткий код
В таблице продаж название товара может повторяться миллионы раз. Если хранить каждую копию целиком, память займут снова и снова одни и те же символы. SAP HANA может представить столбец в виде двух частей: словаря уникальных значений и последовательности коротких числовых кодов, которые указывают на записи этого словаря.
Например, вместо многократного хранения слова «кресло» система записывает его код. При чтении она сопоставляет код со словарём и восстанавливает исходное значение. Чем больше повторов и меньше разных значений, тем заметнее экономия. Такой способ называется словарным сжатием; код здесь служит не самим значением, а ссылкой на него.
Почему это помогает анализу
HANA обычно организует аналитические данные по столбцам: значения одного типа лежат рядом. Это удобно, когда запросу нужны лишь несколько полей из большой таблицы, а словарные коды можно обрабатывать компактно — например, сравнивать или группировать без постоянного чтения длинных строк.
Однако выигрыш зависит от данных. Столбец с небольшим набором повторяющихся категорий сжимается хорошо; если почти каждое значение уникально, словарь и коды дают меньший эффект. Кроме того, оперативная память остаётся ограниченным ресурсом, поэтому важны и другие способы хранения и управления данными. Для восстановления после перезапуска HANA сохраняет данные и журнал изменений на постоянном носителе: работа в памяти не означает, что единственная копия существует только там.
Именно сочетание компактных представлений и быстрого доступа к оперативной памяти позволяет анализировать очень большие массивы, не расходуя память на повторное хранение каждого одинакового значения.






