184 похожих чатов

Гайз, какая концептульаная разница между хранением UUID и string ?

11 ответов

33 просмотра

UUID это FixedString(16) - 16 байт String репрезентация минимум вообще хранить в clickhouse (и в любой базе) классический uuid v4 довольно бесполезная затея ;-) много места занимает, искать неудобно (значения не монолитно возрастают, через data skip indexes при select ничего толком не ускоряется (ну разве что bloom что-то ускорит) как промежуточное решение можно sequential uuid попробовать генерировать на стороне приложения https://www.google.by/search?q=sequential+uuid+github как более компактное решение twitter snowflake id / sonyflake id в UInt64 хранить..

Mishanya- Автор вопроса
Slach [altinity]
UUID это FixedString(16) - 16 байт String репрезен...

То есть если у меня юид как тип юид- он не даст никак х плюсов или минусов в сравнении с обычной строкой ?

Mishanya
То есть если у меня юид как тип юид- он не даст ни...

но лучше использовать "натуральные ключи" конечно...

Mishanya- Автор вопроса
【D】【J】
но лучше использовать "натуральные ключи" конечно....

что значит натуральные ? обычные инкременттальные айдишки ? если вы про это, то у меня нет особо выбора. у меня в кафке есть данные от стороннего сервсиа и я вот думал что лучше юзать. Где-то юзаем string, где-то uuid но какой-тот разницы я не заметил, решил здесь спросить спасибо)

Mishanya
То есть если у меня юид как тип юид- он не даст ни...

будет быстрее в двое по сравнению с обычной строкой читать с диска быстрее в два раза сравнивать 16 байт вместо 32

Mishanya
что значит натуральные ? обычные инкременттальные ...

ну странно что вы разницы никакой незаметили... можете тесты какие то расшарить что вы делали?

Mishanya- Автор вопроса
Slach [altinity]
ну странно что вы разницы никакой незаметили... м...

у меня нет условий выборки по этим ключам, тоолько чтение если нужно, поэтому, насколько я понимаю, мне не сильно прям критично но я услышал про количество данных для чтения с диска, спасибо)

Mishanya
у меня нет условий выборки по этим ключам, тоолько...

CREATE TABLE uuid_table AS SELECT UUIDv4(), number FROM numbers(1000000); SELECT name, type, compression_codec, formatReadableSize(compressed_data_size), formatReadableSize(uncompressed_data_size) FROM system.columns WHERE table='uuid_table'; CREATE TABLE string_table AS SELECT toString(UUIDv4()), number FROM numbers(1000000); SELECT name, type, compression_codec, formatReadableSize(compressed_data_size), formatReadableSize(uncompressed_data_size) FROM system.columns; ну и там еще всякие compression_codec поиграться можно с ZSTD

Mishanya
что значит натуральные ? обычные инкременттальные ...

Натуральные - имеющие смысл (даты + ключи, если не получится то сонифлейк/сноуфлейк как Слач уже подсказал). а стринг вс ююид не сделает большой погоды

Slach [altinity]
будет быстрее в двое по сравнению с обычной строко...

не будет ) у КХ какое-то убер быстрое сравнение строк (мы тут проверяли в прошлом году спорили по поводу cityHash64(string) vs string для ключей, и получилось что на коротких строках +/- одинаково)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта