๐Ÿ†”
โ† ๊ฐ€์ด๋“œ ๋ชฉ๋ก์œผ๋กœ

UUID v4 vs UUID v7 โ€” ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?

ยท ํƒœ๊ทธ: uuid-v7, uuid-v4, rfc-9562, database, primary-key

RFC 9562(2024๋…„ 5์›”)์—์„œ ํ‘œ์ค€ํ™”๋œ UUID v7์€ UUID v4์˜ ์ฃผ์š” ์•ฝ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

UUID v4 (๋ฌด์ž‘์œ„)

UUID v4๋Š” 122๊ฐœ์˜ ๋ฌด์ž‘์œ„ ๋น„ํŠธ์™€ 6๊ฐœ์˜ ๊ณ ์ • ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์กฐ์ • ์—†์ด๋„ ๊ณ ์œ ์„ฑ์„ ๋ณด์žฅํ•˜์ง€๋งŒ, ์‹œ๊ฐ„์ ์œผ๋กœ ๋ฌด์ž‘์œ„๋กœ ๋ถ„์‚ฐ๋œ ID๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ B-tree ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ, ๋ฌด์ž‘์œ„ ID๋Š” ํŽ˜์ด์ง€ ๋ถ„ํ• ๊ณผ ์ธ๋ฑ์Šค ๋‹จํŽธํ™”๋ฅผ ์œ ๋ฐœํ•˜์—ฌ ์“ฐ๊ธฐ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ต๋‹ˆ๋‹ค.

UUID v7 (์‹œ๊ฐ„ ์ •๋ ฌ)

UUID v7์€ 48๋น„ํŠธ Unix ๋ฐ€๋ฆฌ์ดˆ ํƒ€์ž„์Šคํƒฌํ”„์™€ ๊ทธ ๋’ค์— ๋ฌด์ž‘์œ„ ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ž„์Šคํƒฌํ”„ ์ ‘๋‘์‚ฌ ๋•๋ถ„์— UUID๊ฐ€ ์ƒ์„ฑ ์‹œ๊ฐ„ ๊ธฐ์ค€์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ •๋ ฌ๋˜๋ฏ€๋กœ B-tree ๋‹จํŽธํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” ์—ฌ์ „ํžˆ ์ „์—ญ์ ์œผ๋กœ ๊ณ ์œ ํ•˜๋ฉฐ ์กฐ์ • ์—†์ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๊ต

| | UUID v4 | UUID v7 | |---|---------|---------| | ํ‘œ์ค€ | RFC 9562 | RFC 9562 | | ์ •๋ ฌ ๊ฐ€๋Šฅ | ์•„๋‹ˆ์š” | ์˜ˆ (์‹œ๊ฐ„ ๊ธฐ์ค€) | | DB ์„ฑ๋Šฅ | ๋‚ฎ์Œ | ์ข‹์Œ | | ๊ณ ์œ ์„ฑ | ์˜ˆ | ์˜ˆ | | ํƒ€์ž„์Šคํƒฌํ”„ ๋…ธ์ถœ | ์•„๋‹ˆ์š” | ์˜ˆ (๋ฐ€๋ฆฌ์ดˆ ์ •๋ฐ€๋„) |

๊ถŒ์žฅ ์‚ฌํ•ญ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ณธ ํ‚ค์—๋Š” UUID v7์„ ์‚ฌ์šฉํ•˜๊ณ , ์ƒ์„ฑ ์‹œ๊ฐ„์„ ๋…ธ์ถœํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” UUID v4๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ €ํฌ UUID ์ƒ์„ฑ๊ธฐ์—์„œ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

UUID v4 vs UUID v7 โ€” ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? - CoolTool