๐[DB] PK์ Integer๋ง๊ณ UUID?
UUID๋ฅผ ๊ฐ์๊ธฐ ์ ์ธ๊น?
์ฐ์ , ์ง๊ธ๊น์ง์ ๊ฒฝํ์ ์ ๋ถ ๋ ์ฌ๋ ค๋ด๋ PK์ Integer๊ฐ ์๋ ๋ค๋ฅธ ํ์ ์ ์ฌ์ฉํ ์ ์ ์์๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ UUID๋ฅผ ์ฌ์ฉํ์๋ ์๊ฒฌ์ด ๋์๊ณ ์ด๋ฅผ ์ ์ฉํ๋ ค๋ ์ฐฐ๋, UUID๊ฐ ๋ญ์ง ์ถ์ด์ ์ฐพ์๋ณด๊ฒ๋จ..
Integerํ PK๋ ํญ์ auto increment
์ต์
์ ์ถ๊ฐํด 1, 2, 3, 4, โฆ ์ ๊ฐ์ด ์์ฐจ์ ์ผ๋ก ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์๋ค.
๋ง์ฝ A๋ผ๋ ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์ฌ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ์..! โ PK = 1๋ก ์ฌ๋ผ๊ฐ๋ค๊ณ ์๊ฐํ์.
์ด ๋ B๋ผ๋ ๋์๋์ด ๋ํ๋ ์๊ธฐ ๊ธ์ ์์ ํ ๋ API ์์ฒญ ์ PK์ ๊ฐ์ 1๋ก ๋ฐ๊พผ๋ค๋ฉด..?
A๊ฐ ์ฌ๋ ธ๋ ๊ธ์ด B์ ์ํด ์์ ๋์ด๋ฒ๋ฆฌ๋ ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๊ฒ๋๋ค.
๊ทธ๋์ ๋น์ฆ๋์ค ๋ก์ง์์ ํด๋น ๊ฒ์๋ฌผ์ ์์ฑํ ์์ ์
์ ์์ ํ๋ ค๋ ์์ ์
๊ฐ ์ผ์นํ๋์ง ํ์ธํ ํ์๊ฐ ์๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๋น์ฆ๋์ค ๋ก์ง์ด ๋ณต์กํด์ง๋ค๋ฉด..?
๊ทธ๋ฅ ๊ฒ์๋ฌผ์ ์์ ์๋ฅผ ํ์ธํ์๊ณ ๋ณต์กํ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฑด ์กฐ๊ธ ๊ท์ฐฎ์๋ฏ..
๊ทธ๋์ ๋ฑ์ฅํ๊ฒ UUID
์!!
UUID๋ ๋๋ค ๊ฐ์ด๋ฏ๋ก, Increment๋ฅผ ํด์ค ํ์๋ ์๋ค.
UUID์ ๊ตฌ์กฐ
์์ฒ๋ผ 5๊ฐ์ ํ๋๋ก ๊ตฌ์ฑ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด increment๋ฅผ ์ฌ์ฉํด ์์ฑํ๋ PK์ ๋นํด์ ์ ์์ ์ธ PK ์ถ์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋น์ฐํ ๋จ์ ๋ ์กด์ฌํ๊ฒ ์ง..?
UUID์ ๋จ์
1. ๊ฐ๋ ์ฑ ๋จ์ด์ง
์ผ๋จ ๋น์ฐํ ์ฝ๊ธฐ๋ ๋ถํธํ๋ค..
5๊ฐ์ ํ๋๊ฐ์ ๋๋ค ๊ฐ์ด๋, ํ๋์ ์์๋ณด๊ธฐ๋ ์์ฒญ ์ด๋ ต๋ค.
2. ์ ๋ ฌ ์ด๋ ค์
ํ ์ด๋ธ ์ ๋ ฌ์ด ํ์ํ ๋, UUID๋ฅผ ์ฌ์ฉํด ํ ์ด๋ธ์ ์ ๋ ฌํ๋๊ฑด ์ด๋ ต๋ค.
๋๋ฌธ์ ์๊ฐํ๋ ํน์ ๋ค๋ฅธ ๊ณ ์ ๊ฐ์ ๊ฐ๋ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ์ ํ๋ ๊ฒ์ด ์ข๋ค.
3. ์ฉ๋์ ๊ฑฐ๋ํจ
Integerํ PK์ ๋นํด ๊ธธ์ด๊ฐ ์๋์ ์ผ๋ก ๊ธธ๋ค.
PK์๋ง ๋๋ฌด ํฐ ํฌ๊ธฐ์ ๊ฐ์ด ํ ๋น๋๊ณ , ํด๋น ํ ์ด๋ธ๊ณผ ์ฐ๊ด๋ ํ ์ด๋ธ์์ FK๋ฅผ ์ฐ๊ฒ๋๋ค๋ฉด ๋ ๊ทธ๋งํผ์ ์ฉ๋์ด ์ถ๊ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ