Размер снапшота ViQube

Тип статьи

Полезное знание

Компетенции

Администратор, аналитик

Версия платформы

2.24

Статус

бета

Сложность

средне

Полезные ссылки

https://habr.com/ru/post/95181/

Дополнительные сведения

 

Введение


В системных требованиях платформы указана формула расчета необходимого кол-ва ОЗУ и места на накопителе: 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 (Байт)