Размер снапшота ViQube
Тип статьи | Полезное знание |
---|---|
Компетенции | Администратор, аналитик |
Версия платформы | 2.24 |
Статус | бета |
Сложность | средне |
Полезные ссылки | Колоночные СУБД — принцип действия, преимущества и область применения |
Дополнительные сведения |
|
Введение
В системных требованиях платформы указана формула расчета необходимого кол-ва ОЗУ и места на накопителе: 1,8 * N + 10 ГБ, где N – объем резервной копии данных ViQube (колоночное хранение). Данная статья поможет оценить значение N на примере.
Описанная здесь формула и изложенный пример находятся в стадии активной доработки, поэтому нельзя рассчитывать на высокую точность расчета и учитывание всего великого множества кейсов с разными датасетами и источниками данных.
Формула объёма снапшота Викуба:
N = N1 + N2 * 1.13
Где N1 - объем нетекстовых столбцов, а N2 - объем текстовых столбцов.
Для N1 объём в байтах считаем по формуле:
Общее кол-во строк в таблице * Кол-во нетекстовых столбцов * 8.
Для N2 объём в байтах считаем по формуле:
8 * Общее кол-во строк в таблице * Кол-во текстовых столбцов + (Средняя длина уникальных текстовых строк * 2 + 16) * Кол-во уникальных значений во всех текстовых столбцах.
Предполагается, что все количества и длину из формул N1 и N2 аналитик подсчитывает самостоятельно в SQL запросах или другими способами (в зависимости от источника данных).
Пример расчета:
Дано:
100 000 строк,
5 столбцов с текстом (в каждой строке текст 22 символа, строки предполагаются уникальные, поэтому всех 500 000 уникальных значений во всех текстовых столбцах),
5 столбцов с числами,
2 столбца с датой.
Найти: N (предполагаемый размер снапшота Викуба)
Расчет:
N = N1 + N2 * 1.13
N1 = 100 000 * 7 * 8
N2 = 8 * 100 000 * 5 + (22 * 2 + 16) * 500 000
N = (100 000 * 7 * 8) + (8 * 100 000 * 5 + (22 * 2 + 16) * 500 000) * 1.13 = 44 020 000 (Байт)