UUID v4, UUID v7, ULID๋ฅผ ์์ฑํฉ๋๋ค. ์ผ๊ด ์์ฑ๊ณผ ๊ฐ์ข ํฌ๋งท ์ต์ ์ง์.
UUID v4(๋๋ค), UUID v7(ํ์์คํฌํ ํฌํจ), ULID ์ค ์์ฑํ๊ณ ์ถ์ ํ์์ ์ ํํฉ๋๋ค.
๋๋ฌธ์/์๋ฌธ์, ํ์ดํ ์ ๋ฌด, ์์ฑ ์(1~100๊ฐ)๋ฅผ ์ค์ ํฉ๋๋ค.
ใ์์ฑใ๋ฒํผ์ ํด๋ฆญํ๊ณ ์์ฑ๋ ID๋ฅผ ใ๋ณต์ฌใ๋ฒํผ์ผ๋ก ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํ ์ ์์ต๋๋ค.
1~100์ ์ ์
๊ธฐ๋ก์ด ์์ต๋๋ค
UUID/ULID ์์ฑ ๋๊ตฌ๋ ๊ณ ์ ์๋ณ์(์ ๋ํฌ ID)๋ฅผ ์์ฑํ๋ ์จ๋ผ์ธ ๋๊ตฌ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ํค๋ API ์๋ณ์ ๋ฑ ์ค๋ณต๋์ง ์๋ ์๋ณ์๊ฐ ํ์ํ ์ํฉ์์ ํ์ฉํ ์ ์์ต๋๋ค. UUID v4(์์ ๋๋ค), UUID v7(ํ์์คํฌํ ํฌํจ), ULID(์ ๋ ฌ ๊ฐ๋ฅ)์ 3๊ฐ์ง ํ์์ ์ง์ํฉ๋๋ค.
UUID v4๋ 122๋นํธ๊ฐ ๋๋ค์ผ๋ก ์์ ํ ๋ฌด์์์ธ ์๋ณ์์ ๋๋ค. UUID v7์ ์๋ถ๋ถ์ ํ์์คํฌํ๊ฐ ํฌํจ๋์ด ์์ฑ ์์๋๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค. ULID๋ ์๊ฐ์ ์ ๋ ฌ์ด ๊ฐ๋ฅํ์ง๋ง, 26๋ฌธ์์ Base32 ํ์์ผ๋ก UUID๋ณด๋ค ์งง์ URL์ด๋ ํ์ผ๋ช ์ ์ ํฉํฉ๋๋ค.
์ด๋ก ์ ์ผ๋ก๋ ์กด์ฌํ์ง๋ง, UUID v4์ ๊ฒฝ์ฐ ์ถฉ๋ ํ๋ฅ ์ด ๊ทนํ ๋ฎ์(์ฝ 2^122๊ฐ์ง) ์ค์ฉ์ ์ผ๋ก๋ ๋ฌด์ํ ์ ์์ต๋๋ค. 1์ด์ 10์ต ๊ฐ๋ฅผ ์์ฑํด๋ ์ค๋ณต์ด ๋ฐ์ํ๋ ค๋ฉด ์ฝ 85๋ ์ด ๊ฑธ๋ฆฌ๋ ๊ณ์ฐ์ ๋๋ค.
UUID v7 ๋๋ ULID๋ฅผ ๊ถ์ฅํฉ๋๋ค. ํ์์คํฌํ ์์ผ๋ก ์ ๋ ฌํ ์ ์์ด B-tree ์ธ๋ฑ์ค ํจ์จ์ด ์ข๊ณ ์ฝ์ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค. UUID v4๋ ๋๋ค์ด๋ฏ๋ก ์ธ๋ฑ์ค๊ฐ ๋จํธํ๋๊ธฐ ์ฌ์ด ๊ฒฝํฅ์ด ์์ต๋๋ค.
URL ํ๋ผ๋ฏธํฐ๋ ํ์ผ๋ช ๋ฑ ํ์ดํ์ด ๋ค๋ฃจ๊ธฐ ์ด๋ ค์ด ์ํฉ์์ ์ฌ์ฉํฉ๋๋ค. 32๋ฌธ์์ ์ฐ์๋ ๋ฌธ์์ด์ด ๋์ง๋ง ๊ณ ์ ์ฑ์ ๋ณํ์ง ์์ต๋๋ค.
์๋์, ๋ชจ๋ ์ฒ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ๋ด์์ ์๋ฃ๋ฉ๋๋ค. ์ํธํ์ ์ผ๋ก ์์ ํ ๋์ ์์ฑ๊ธฐ(crypto.getRandomValues)๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์์ฑ๋ ID๊ฐ ์๋ฒ๋ก ์ ์ก๋๋ ์ผ์ ์์ต๋๋ค.