[Перевод] Более глубокий взгляд на старый UUIDv4 и новый UUIDv7 в PostgreSQL 18

UUIDv4 как первичный ключ в PostgreSQL обычно ругают за «случайность» — но за этим словом прячется конкретная физика: сплиты страниц B-дерева, рыхлый листовой уровень, фрагментация и лишний случайный I/O при чтении. В PostgreSQL 18 появился UUIDv7 — и это хороший повод посмотреть на проблему не на уровне вкусов, а на уровне того, как реально устроены индекс и heap: от корреляции и ctid до статистики страниц и плотности листьев.

https://habr.com/ru/companies/otus/articles/979212/

#UUIDv4 #postgresql #UUIDv7 #PostgreSQL_18 #первичный_ключ #Btree_индекс #фрагментация_индекса #локальность_данных

Более глубокий взгляд на старый UUIDv4 и новый UUIDv7 в PostgreSQL 18

TL;DR UUIDv4 в роли PK даёт случайные вставки → чаще приводит к page split → фрагментированный B-tree и более хаотичный доступ к heap, что бьёт по вставкам и чтению. UUIDv7 в PostgreSQL 18 ( uuidv7()...

Хабр

ULID, UUIDv4 и UUIDv7 в логах nginx: как сделать поиск по ID быстрым и удобным в ClickHouse

Когда вы работаете с распределённой системой — будь то микросервисы, фронтенд + бэкенд или nginx + приложение — жизненно важно иметь возможность «протянуть» один и тот же идентификатор запроса через все её компоненты. Это позволяет сопоставлять логи из разных источников, быстро находить ошибки и проводить корреляционный анализ. В nginx для этого из коробки есть переменная $request_id — 32-символьный hex-идентификатор (например, a1b2c3d4e5f678901234567890abcdef ). Его можно передать бэкенду через proxy_set_header X-Request-ID $request_id; или fastcgi_param HTTP_X_REQUEST_ID $request_id; , а также сохранить в access-логах. Однако стандартный $request_id — это просто случайная строка без временной привязки и без структуры, удобной для аналитики. В этой статье мы рассмотрим, как улучшить ситуацию с помощью ULID и UUIDv7.

https://habr.com/ru/articles/960266/

#clickhouse #nginx #uuid #uuidv7 #uuidv4 #ulid #logs

ULID, UUIDv4 и UUIDv7 в логах nginx: как сделать поиск по ID быстрым и удобным в ClickHouse

Зачем нужны ID запросов в логах? Когда вы работаете с распределённой системой — будь то микросервисы, фронтенд + бэкенд или nginx + приложение — жизненно важно иметь возможность «протянуть» один и тот...

Хабр

@carlton @kjaymiller @simon something like UUIDv47 can solve the UUIDv7 security related problem 💡

https://github.com/stateless-me/uuidv47

#UUIDv4 #UUIDv7 #UUIDv47 #Python #C #Rust #UUID

GitHub - stateless-me/uuidv47: ⚡ UUIDv47 = v4 privacy + v7 performance

⚡ UUIDv47 = v4 privacy + v7 performance. Contribute to stateless-me/uuidv47 development by creating an account on GitHub.

GitHub

UUIDv47: Store UUIDv7 in DB, emit UUIDv4 outside (SipHash-masked timestamp)

https://github.com/stateless-me/uuidv47

#HackerNews #UUIDv47 #UUIDv7 #UUIDv4 #SipHash #Database

GitHub - stateless-me/uuidv47: ⚡ UUIDv47 = v4 privacy + v7 performance

⚡ UUIDv47 = v4 privacy + v7 performance. Contribute to stateless-me/uuidv47 development by creating an account on GitHub.

GitHub

I recently ran into an interesting discrepancy:

What you see below are 120-bit Session IDs, one printed as hex and one in the format of a #UUIDv4.

After validating their randomness, I would classify the first as secure but raise concerns about the second.

Why?

Well, according to RFC 4122:

"Do not assume that UUIDs are hard to guess; they should not be used as security capabilities (identifiers whose mere possession grants access), for example."

And that's exactly what a session ID is: an identifier whose possession grants access. As such, UUIDs should not be used in such a case.

What do you think? Is this nitpicking? Or a valid security nuance?

Does the format in which data is displayed have an impact on its security?

I'd love to hear your thoughts.

#Pentesting #AppSec #InfoSec #CyberSecurity #BugBounty #Hacking

Идентификаторы в БД: INT vs UUID

Привет! Меня зовут Женя, я бэкенд-разработчик, и в этом посте хотела бы кратко обсудить плюсы и минусы разных вариантов идентификаторов в базе данных.

https://habr.com/ru/articles/864188/

#идентификатор #id #uuid #uuidv4 #uuidv7

Идентификаторы в БД: INT vs UUID

Привет! Меня зовут Женя, я бэкенд-разработчик, и в этом посте хотела бы кратко обсудить плюсы и минусы разных вариантов идентификаторов в базе данных. Sequential INT Думаю, все сталкивались с этим...

Хабр

#Proxmox just generates a #UUIDv4 like
3b7d2d2c-3732-41db-a678-8bc4aeaf9155 as a secret for auth tokens? 😱
This looks a lot like a bad security practice to me, especially when RFC4122 says:

"Do not assume that UUIDs are hard to guess; they should not be used as security capabilities (identifiers whose mere possession grants access), for example. A predictable random number source will exacerbate the situation."

#ITSecurity