Связь между DISTSTYLE и кодировкой сжатия в Redshift - PullRequest
0 голосов
/ 15 марта 2020

Есть ли какая-либо связь между DISTSTYLE и кодировкой Compression в Redshift. Как всякий раз, когда мы используем кодирование Compression, операционная система на вычислительном узле выполняет дополнительную работу по кодированию и декодированию данных; с DISTSTYLE, установленным как ALL, вы не думаете, что каждый узел должен был выполнять работу по декодированию и кодированию?

Любая концептуальная помощь здесь высоко ценится.

1 Ответ

1 голос
/ 16 марта 2020

Стиль распространения определяет, какой узел / срез будет хранить данные. Это не имеет никакого отношения или влияния на тип сжатия. Это просто говорит , где для хранения данных.

Сжатие, однако, тесно связано с ключом сортировки , который определяет порядок в котором хранятся данные. Некоторые методы сжатия используют «смещения» от предыдущих значений или даже сохраняют количество повторных значений, что может значительно сжать данные (например, «повторить это значение 1000 раз» вместо сохранения 1000 значений).

Сжатие в Amazon Redshift имеет два преимущества:

  • Меньше места для хранения (следовательно, меньше затраты)
  • Для каждого доступа к диску можно получить больше данных

Самая медленная операция любой базы данных - доступ к диску. Поэтому любое сокращение доступа к диску ускорит операции. Время, необходимое для распаковки данных, невелико по сравнению с временем, необходимым для дополнительной операции чтения с диска.

Вторая самая «дорогая» операция - отправка данных между узлами. Хотя сетевой трафик c быстрее доступа к диску, его лучше избегать.

При использовании DISTSTYLE ALL это просто означает, что данные доступны на каждом узле, что исключает необходимость передачи данных через сеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...