๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
System Design

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ Unique ID ์ƒ์„ฑ๊ธฐ ์„ค๊ณ„

by ์ฃผ๋ฐœ2 2025. 5. 12.
๋ฐ˜์‘ํ˜•

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=278536695

 

[์ „์ž์ฑ…] ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ

16๊ฐ€์ง€ ์‹ค์ œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฉด์ ‘ ๋ฌธ์ œ์™€ ์ƒ์„ธํ•œ ๋‹ต์•ˆ์„ ์ œ์‹œํ•œ๋‹ค. ์‹œ์Šคํ…œ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ ์ฃผ๋Š” 188๊ฐœ์˜ ๋„ํ•ด๋กœ ์„ค๋ช…ํ•˜๋ฉด์„œ 4๋‹จ๊ณ„ ์ ‘๊ทผ๋ฒ•์œผ๋กœ ๋ฉด์ ‘ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค. ์ด ์ฑ…

www.aladin.co.kr

 

 

๊ฐœ์š”


์ด๋ฒˆ ํŒŒํŠธ์—์„œ๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋  Unique ID ์ƒ์„ฑ๊ธฐ๋ฅผ ์„ค๊ณ„ํ•ด๋ณด์ž.

 

๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ, ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋“ฑ์œผ๋กœ ID๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ๋Š” 'auto_increment' ์†์„ฑ์ด ์„ค์ •๋œ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ณค ํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ๋Š” 'auto_increment'๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ํ•œ ๋Œ€๋กœ๋Š” ์š”๊ตฌ๋ฅผ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์„๋ฟ๋”๋Ÿฌ, ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๋™์‹œ์— auto_increment ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค๋ฉด ์ค‘๋ณต๋œ ๊ฐ’์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ID๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žˆ์„ํ…๋ฐ, ์—ฌ๊ธฐ์„  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ ํƒ์ง€๋ฅผ ์‚ดํŽด๋ณผ ์˜ˆ์ •์ด๋‹ค.

  • ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ๋ณต์ œ (multi-master replication)
  • UUID (Universally Unique Identifier)
  • ํ‹ฐ์ผ“ ์„œ๋ฒ„ (Ticket Server)
  • ํŠธ์œ„ํ„ฐ ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ (Twitter SnowFlake) ์ ‘๊ทผ๋ฒ•

์œ„์˜ ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ž.

 

 

๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ๋ณต์ œ (Multi-Master Replication)

๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ๋ณต์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ auto_increment ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š”๋ฐ, ๋‹ค์Œ ID ๊ฐ’์„ ๊ตฌํ•  ๋•Œ 1๋งŒํผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„œ๋ฒ„ ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” k๋งŒํผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

 

์œ„์˜ ์˜ˆ์ œ์—์„œ๋Š” ํŠน์ • ์„œ๋ฒ„๊ฐ€ ๋งŒ๋“ค์–ด ๋‚ผ ๋‹ค์Œ ID ๊ฐ’์€, ํ•ด๋‹น ์„œ๋ฒ„์—์„œ ์ด์ „์— ์ƒ์„ฑํ•œ ID ๊ฐ’ + 2 ์„ ์–ป๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ทœ๋ชจ ํ™•์žฅ์„ฑ ๋ฌธ์ œ๋ฅผ ์–ด๋А ์ •๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ , ์ถฉ๋Œ ์—†๋Š” ๋ถ„์‚ฐ ID๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์น˜๋ช…์ ์ธ ๋ฌธ์ œ์ ์ด ์กด์žฌํ•œ๋‹ค.

  • ID์˜ ์œ ์ผ์„ฑ์€ ๋ณด์žฅ๋˜๊ฒ ์œผ๋‚˜ ์‹œ๊ฐ„ ํ๋ฆ„์— ๋งž์ถ”์–ด ์ปค์ง€๋„๋ก ์ˆœ์„œ ๋ณด์žฅ์ด ์–ด๋ ต๋‹ค.
  • ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ๋„ ๊ธฐ์กด ๊ฐ’๋“ค๊ณผ ์ถฉ๋Œ ์—†์ด ๋™์ž‘ํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.

 

 

UUID (Universally Unique Identifier)

UUID๋Š” ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ID๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ID๋ฅผ ๋งŒ๋“œ๋Š” ๋˜ ํ•˜๋‚˜์˜ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ธ UUID๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ €์žฅ๋˜๋Š” ์ •๋ณด๋ฅผ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ 128๋น„ํŠธ์˜ ๊ณ ์œ  ์‹๋ณ„์ž์ด๋‹ค. UUID ๊ฐ’์€ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ์ง€๊ทนํžˆ ๋‚ฎ์€๋ฐ, ์œ„ํ‚คํ”ผ๋””์•„์— ์˜ํ•˜๋ฉด "์ค‘๋ณต UUID๊ฐ€ 1๊ฐœ ์ƒ๊ธธ ํ™•๋ฅ ์„ 50%๋กœ ๋Œ์–ด ์˜ฌ๋ฆฌ๋ ค๋ฉด ์ดˆ๋‹น 10์–ต๊ฐœ์˜ UUID๋ฅผ 100๋…„๋™์•ˆ ๊ณ„์†ํ•ด์„œ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค"๊ณ  ํ•œ๋‹ค.

 

์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฑฐ์˜ ์—†๊ธฐ์—, ID๊ฐ’ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ Unique ํ•œ ๊ฐ’์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ๋งŽ์ด๋“ค ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

https://www.linkedin.com/pulse/pros-cons-using-uuids-unique-identification-saeed-anabtawi/

 

 

UUID ๊ฐ’์€ '09c93e62-50b4-468d-bf8a-c031842b' ์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ, ์„œ๋ฒ„ ๊ฐ„ ์กฐ์œจ ์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

UUID์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ค๋ช…์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”:
https://docs.tosspayments.com/resources/glossary/uuid

 

 

์žฅ์ 

  • UUID๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋‹จ์ˆœํ•˜๊ณ , ์„œ๋ฒ„ ๊ฐ„ ์กฐ์œจ์ด ํ•„์š” ์—†๊ธฐ์— ๋™๊ธฐํ™” ์ด์Šˆ๋„ ์—†๋‹ค.
  • ๊ฐ ์„œ๋ฒ„์—์„œ ID๋ฅผ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ตฌ์กฐ์ด๋ฏ€๋กœ ๊ทœ๋ชจ ํ™•์žฅ๋„ ์‰ฝ๋‹ค.
import java.util.UUID

val uuid = UUID.randomUUID()

 

๋‹จ์ 

  • ID๊ฐ€ 128๋น„ํŠธ๋กœ ๊ธธ๊ธฐ์— ์ €์žฅ ๊ณต๊ฐ„์„ ๋งŽ์ด ์ฐจ์ง€ํ•œ๋‹ค.
  • ์ˆœ์„œ ๋ณด์žฅ์ด ์—†๊ธฐ์— ID๋ฅผ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์—†๋‹ค.
ID๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ด ๊ต‰์žฅํžˆ ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ ธ์„œ count๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ id ๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ด์„œ ๋Œ€๋žต์ ์ธ ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , ๊ทธ ์™ธ ID ๊ฐ’์œผ๋กœ ์ •๋ ฌ์„ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์„ํ…๋ฐ ์ด๋Ÿฌํ•œ ๋กœ์ง ์ž์ฒด๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค.

 

 

ํ‹ฐ์ผ“ ์„œ๋ฒ„

ํ‹ฐ๊ฒŸ ์„œ๋ฒ„๋Š” ์œ ์ผ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ID๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋˜ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

ํ”Œ๋ฆฌ์ปค(Flicker)๋Š” ๋ถ„์‚ฐ ํ™˜๊ฒฝ์˜ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•ด ํ‹ฐ์ผ“ ์„œ๋ฒ„ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

Ticket Servers: Distributed Unique Primary Keys on the Cheap

 

ํ‹ฐ์ผ“ ์„œ๋ฒ„์˜ ํ•ต์‹ฌ์€ auto_increment ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ์ค‘์•™ ์ง‘์ค‘ํ˜•์œผ๋กœ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

 

์žฅ์ 

  • ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ID๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๊ณ , ์ค‘์†Œ ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•˜๋‹ค.

๋‹จ์ 

  • ํ‹ฐ์ผ“ ์„œ๋ฒ„๊ฐ€ SPOF(Single Point Of Failure)๊ฐ€ ๋œ๋‹ค.
  • ์ฆ‰, ํ‹ฐ์ผ“ ์„œ๋ฒ„์—์„œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ID๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์ด ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ํ‹ฐ์ผ“ ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€ ์ค€๋น„ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ๋Ÿฌ๋ฉด ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

ํŠธ์œ„ํ„ฐ ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ (Twitter SnowFlake) ์ ‘๊ทผ๋ฒ•

์œ„์—์„œ ์‚ดํŽด๋ณธ ๋ฐฉ๋ฒ•๋“ค์€ ๋ชจ๋‘ ํŠน์ • ๋ฌธ์ œ๋“ค์ด ์กด์žฌํ•˜์˜€๊ณ , ์ด๋ฒˆ์—๋Š” ํŠธ์œ„ํ„ฐ(X)๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ ๋ผ๋Š” ID ์ƒ์„ฑ ๊ธฐ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

์•„๋ž˜๋Š” ์Šค๋…ธํ”Œ๋ ˆ์ดํฌ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•  64๋น„ํŠธ ID์˜ ๊ตฌ์กฐ์ด๋‹ค.

  • ์‚ฌ์ธ(sign) ๋น„ํŠธ: 1๋น„ํŠธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ๋‹น์žฅ์— ์“ฐ์ž„์ƒˆ๋Š” ์—†์œผ๋‚˜ ์ถ”ํ›„ ์Œ์ˆ˜/์–‘์ˆ˜ ๊ตฌ๋ณ„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํƒ€์ž„์Šคํƒฌํ”„: 41๋น„ํŠธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ๊ธฐ์› ์‹œ๊ฐ ์ดํ›„ ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ๊ฒฝ๊ณผํ–ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ด๋‹ค.
  • ๋ฐ์ดํ„ฐ์„ผํ„ฐ ID: 5๋น„ํŠธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 2^5 = 32๊ฐœ์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์„œ๋ฒ„ ID: 5๋น„ํŠธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋‹น 32๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ผ๋ จ๋ฒˆํ˜ธ: 12๋น„ํŠธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ๊ฐ ์„œ๋ฒ„์—์„œ ID๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ 1๋งŒํผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

 

์ƒ์„ธ ์„ค๊ณ„

https://apoorvtyagi.tech/generating-unique-ids-in-a-large-scale-distributed-environment

๋ฐ์ดํ„ฐ์„ผํ„ฐ ID์™€ ์„œ๋ฒ„ ID๋Š” ์‹œ์Šคํ…œ์ด ์‹œ์ž‘๋  ๋•Œ ๊ฒฐ์ •๋˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ์Šคํ…œ ์šด์˜ ์ค‘์—๋Š” ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.

 

Snowfalke ID๋Š” ์ด 4๊ฐœ์˜ ๋ถ€๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

 

sign

  • ์Œ์ˆ˜/์–‘์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋‚˜ ํฐ ์šฉ๋„๋Š” ์—†์Œ

timestamp

  • ID ๊ตฌ์กฐ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ 41๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค.
  • ๊ธฐ์› ์‹œ๊ฐ(epoch) ์ดํ›„ ๊ฒฝ๊ณผํ•œ ๋ฐ€๋ฆฌ์ดˆ์˜ ์‹œ๊ฐ„
  • ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ์ ์  ๊ฐ’์ด ์ปค์ง€๋ฏ€๋กœ ๊ฒฐ๊ตญ ์‹œ๊ฐ„ ์ˆœ ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

workerId

  • ๊ณ ์œ ํ•œ ์ธ์Šคํ„ด์Šค์˜ ID ๊ฐ’์œผ๋กœ ์ด 1,024๋Œ€(2^10) ๊นŒ์ง€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

sequence

  • ID๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ์ฆ๊ฐ€๋˜๋Š” ๊ฐ’์œผ๋กœ, 1๋ฐ€๋ฆฌ ์ดˆ๊ฐ€ ๊ฒฝ๊ณผํ•˜๋ฉด ๊ฐ’์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๊ฐ€ ๋œ๋‹ค.

 

์žฅ์ 

  • 64bit๋กœ UUID์— ๋น„ํ•ด ์ฐจ์ง€ํ•˜๋Š” ์ €์žฅ ๊ณต๊ฐ„์ด ์ž‘๋‹ค.
  • timestamp ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ’์ด ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•˜๋‹ค.

๋‹จ์ 

  • UUID์— ๋น„ํ•ด ๊ตฌํ˜„์ด ๋” ๋ณต์žกํ•˜๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€