LINUX.ORG.RU

Чем лучше сжимать UUIDv4/5

 , , ,


0

1

Привет!
Есть БД под террабайт, каждая таблица содержит guid в виде UUIDv5, это поле первичного ключа.
Вопрос, какой метод сжатия для подобного типа лучше применить? Из доступных:

LZ4
LZ4HC
ZSTD


Из специализированных кодеков:

T64
Delta
DoubleDelta
Gorilla
FPC


Вообще чем вы жмёте uuid?

★★★★★

Последнее исправление: splinter (всего исправлений: 1)

Ничем. Если у тебя там не кособоко распределенные числа, приведенные к UUIDу, а реально случайные UUIDы, то они жаться не должны.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

В доке для кх есть интересная пометка:

Due to historical reasons, UUIDs are sorted by their second half. UUIDs should therefore not be used directly in a primary key, sorting key, or partition key of a table.

stave ★★★★★
()
Ответ на: комментарий от intelfx

Проблема в том что в clikhouse вообще не рекомендует жать «ничем», я так полагаю, тогда надо брать кодек который быстрее всего распаковывает?

splinter ★★★★★
() автор топика

Сгенерируй пачку UUIDов и потестируй.

А вообще, если не знаешь, чем сжимать - используй zstd. Это оптимальное сочетание эффективности и скорости.

MaZy ★★★★★
()
Ответ на: комментарий от Bfgeshka

Да, тоже об этом подумал. Но в этом случае правильнее всего будет переделать нахрен схему и хранить в int128, а не жать :D

intelfx ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария