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

UUID๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ฒ”์šฉ ๊ณ ์œ  ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

ยท ํƒœ๊ทธ: uuid, guid, database, primary-key, uuid-v7

UUID(Universally Unique Identifier)๋Š” ์ •๋ณด๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” 128๋น„ํŠธ ๋ ˆ์ด๋ธ”์ž…๋‹ˆ๋‹ค. v4๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ UUID๊ฐ€ ๋‘ ๋ฒˆ ์ƒ์„ฑ๋  ํ™•๋ฅ ์€ ์ฒœ๋ฌธํ•™์ ์œผ๋กœ ๋‚ฎ์Šต๋‹ˆ๋‹ค โ€” 2.71ร—10^18๊ฐœ์˜ UUID๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ ์€ ๋Œ€๋žต 2^122๋ถ„์˜ 1์ž…๋‹ˆ๋‹ค.

UUID ๊ตฌ์กฐ

550e8400-e29b-41d4-a716-446655440000
|------||----||--||----||----------|
 time    time  ver  var    node
 low      mid

๋ฒ„์ „ ๋‹ˆ๋ธ”(13๋ฒˆ์งธ ๋ฌธ์ž)์€ ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค: v1์€ 1, v4๋Š” 4, v7์€ 7์ž…๋‹ˆ๋‹ค.

UUID vs Auto-Increment

| ๊ธฐ๋Šฅ | Auto-Increment | UUID v4 | UUID v7 | |---------|---------------|---------|---------| | ๊ณ ์œ ์„ฑ | ๋‹จ์ผ DB | ์ „์—ญ | ์ „์—ญ | | ์ •๋ ฌ ๊ฐ€๋Šฅ์„ฑ | ์˜ˆ | ์•„๋‹ˆ์š” | ์˜ˆ | | ์ถ”์ธก ๊ฐ€๋Šฅ์„ฑ | ๋†’์Œ | ์—†์Œ | ๋งค์šฐ ๋‚ฎ์Œ | | ๋ถ„์‚ฐ ํ™˜๊ฒฝ | ์–ด๋ ค์›€ | ์‰ฌ์›€ | ์‰ฌ์›€ | | ์ธ๋ฑ์Šค ์„ฑ๋Šฅ | ์ตœ์ƒ | ๋‚ฎ์Œ (B-tree ๋‹จํŽธํ™”) | ์ข‹์Œ (์‹œ๊ฐ„ ์ •๋ ฌ ๊ฐ€๋Šฅ) |

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด๋‚˜ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ID๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, UUID๊ฐ€ ํ‘œ์ค€ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์ €ํฌ ๋ฌด๋ฃŒ UUID ์ƒ์„ฑ๊ธฐ๋กœ ์ƒ์„ฑํ•ด ๋ณด์„ธ์š”.

UUID๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ฒ”์šฉ ๊ณ ์œ  ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์™„๋ฒฝ ๊ฐ€์ด๋“œ - CoolTool