PingCAP์ ์ต๊ทผ TiDB ๋ฒกํฐ ๊ฒ์์ ๊ณต๊ฐ ๋ฒ ํ ๋ฒ์ ์ ์ถ์ํ๊ณ AI ์ํ๊ณ์ ๋ํ ํต์ฐฐ๋ ฅ์ ๊ณต์ ํ์ต๋๋ค. TiDB๋ ๋ถ์ฐํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก, ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. TiDB ๋ฒกํฐ ๊ฒ์์ TiDB์ ๋ฒกํฐ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํฉํ์ฌ LLM ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ ๋ฐ ์ถ๋ก ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ์ด ๊ณต๊ฐ ๋ฒ ํ ๋ฒ์ ์ ๊ฐ๋ฐ์๋ค์ด TiDB ๋ฒกํฐ ๊ฒ์์ ์ง์ ๊ฒฝํํ๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ, PingCAP์ AI ์ํ๊ณ์ ๋ํ ์ธ์ฌ์ดํธ๋ฅผ ๊ณต์ ํ์ฌ TiDB ๋ฒกํฐ ๊ฒ์์ด AI ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ป๊ฒ ์ฌ์ฉ๋ ์ ์๋์ง ๋ณด์ฌ์ฃผ์์ต๋๋ค.
TiDB ๋ฒกํฐ ๊ฒ์์ TiDB์ ๋ฒกํฐ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํฉํ์ฌ LLM ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ ๋ฐ ์ถ๋ก ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ธฐ์ ์ ๋๋ค. TiDB๋ MySQL๊ณผ ํธํ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด MySQL ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฝ๊ฒ TiDB ๋ฒกํฐ ๊ฒ์์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
- TiDB ๋ฒกํฐ ๊ฒ์์ ๊ณต๊ฐ ๋ฒ ํ ๋ฒ์ ์ถ์๋ ๊ฐ๋ฐ์๋ค์ด TiDB ๋ฒกํฐ ๊ฒ์์ ์ง์ ์ฌ์ฉํด ๋ณด๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด TiDB ๋ฒกํฐ ๊ฒ์์ ๋์ฑ ๋ฐ์ ํ๊ณ ๊ฐ์ ๋ ์ ์์ต๋๋ค.
- PingCAP์ TiDB ๋ฒกํฐ ๊ฒ์์ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฉํ ์ ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ ์ํ์ต๋๋ค. AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋น ๋ฅธ ๋ฐ์ดํฐ ๋ถ์์ด ํ์ํ๋ฉฐ, TiDB ๋ฒกํฐ ๊ฒ์์ ์ด๋ฌํ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์ํฌ ์ ์๋ ์ด์์ ์ธ ์๋ฃจ์ ์ ๋๋ค.
- TiDB๋ ์คํ ์์ค ํ๋ก์ ํธ๋ก, ๊ฐ๋ฐ์๋ค์ TiDB์ ์ฝ๋์ ์ ๊ทผํ๊ณ ๊ธฐ์ฌํ ์ ์์ต๋๋ค. ์ด๋ TiDB ์ปค๋ฎค๋ํฐ๋ฅผ ๋์ฑ ํ์ฑํํ๊ณ ๋ฐ์ ์ํค๋ ๋ฐ ๊ธฐ์ฌํ ๊ฒ์ ๋๋ค.
- ๋ถ์ฐํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- MySQL ํธํ์ฑ
- ๋ฒกํฐ ๊ฒ์ ๊ธฐ๋ฅ ํตํฉ
- ๊ณ ์ฑ๋ฅ, ํ์ฅ์ฑ, ๋์ ๊ฐ์ฉ์ฑ
- ๋ค์ํ AI ์ ํ๋ฆฌ์ผ์ด์ ์ง์
TiDB ๋ฒกํฐ ๊ฒ์ ์ค์น๋ PingCAP ์น์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํ ์ค์น ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ฌ ์งํํ ์ ์์ต๋๋ค.
TiDB ๋ฒกํฐ ๊ฒ์์ MySQL๊ณผ ์ ์ฌํ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๋ฐ์๋ค์ ๊ธฐ์กด MySQL ์ ํ๋ฆฌ์ผ์ด์ ์ TiDB ๋ฒกํฐ ๊ฒ์์ผ๋ก ์ฝ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
TiDB ๋ฒกํฐ ๊ฒ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๊ณ ์ฑ๋ฅ ํธ๋์ญ์ , ํ์ฅ์ฑ, ๋์ ๊ฐ์ฉ์ฑ์ด ํ์ํ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํ ์๋ฃจ์ ์ ๋๋ค. ํนํ LLM ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ ๋ฐ ์ถ๋ก ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐ ํจ๊ณผ์ ์ผ ์ ์์ต๋๋ค.
- TiDB ๋ฒกํฐ ๊ฒ์์ ์์ง ๊ฐ๋ฐ ์ค์ด๋ฉฐ, ๋ชจ๋ ๊ธฐ๋ฅ์ด ์๋ฒฝํ๊ฒ ์ง์๋์ง ์์ ์ ์์ต๋๋ค.
- TiDB ๋ฒกํฐ ๊ฒ์์ ์ฌ์ฉํ๊ธฐ ์ ์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ฌ ์ฌ์ฉ ๋ฐฉ๋ฒ ๋ฐ ์ ์ฝ ์ฌํญ์ ํ์ธํด์ผ ํฉ๋๋ค.
SimpleDB๋ UCLA ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์์ ํ์ตํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์คํฌ๋์น๋ถํฐ ๊ตฌํํ ๊ธฐ๋ณธ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์ ๋๋ค. ์ด ํ๋ก์ ํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ ๋์ ๋ฐฉ์์ ๋ํ ์ดํด๋ฅผ ๋์ด๊ธฐ ์ํด ์งํ๋์์ต๋๋ค. SimpleDB๋ SQL ์ฟผ๋ฆฌ ํ์, ํธ๋์ญ์ , ์ฟผ๋ฆฌ ์ต์ ํ ๋ฑ ๊ธฐ๋ณธ์ ์ธ RDBMS ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค.
SimpleDB๋ ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ก์ธ์ค ๋ฐฉ์: SimpleDB๋ ๋ฐ์ดํฐ ํ์ ํํ๋ก ์ ์ฅํ๋ฉฐ, ๊ฐ ํํ์ ์ด ๊ฐ์ ๋ํ๋ด๋ ํ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํ์ฌ ๋ฌธ์์ด ๋ฐ ์ ์ ํ๋ ํ์ ๋ง ์ง์ํฉ๋๋ค. ํํ์ ํ์ด์ง์ ์ ์ฅ๋๊ณ , ํ์ด์ง๋ ๋์คํฌ์ ์ ์ฅ๋ฉ๋๋ค. ๊ฐ ํ ์ด๋ธ์ DbFile ๊ฐ์ฒด๋ก ๊ด๋ฆฌ๋๋ฉฐ, ํ์ด์ง์ ํํ์ ๋์คํฌ์ ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์นดํ๋ก๊ทธ: SimpleDB๋ ์นดํ๋ก๊ทธ ๊ฐ์ฒด๋ฅผ ํตํด ์๋ก์ด ํ ์ด๋ธ์ ์ถ๊ฐํ๊ณ , ์คํค๋ง ๋ฐ ๊ธฐ๋ณธ ํค ์ ๋ณด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ๋ฒํผ ํ: ๋ฒํผ ํ ๊ฐ์ฒด๋ ๋ชจ๋ ํ์ด์ง ์ก์ธ์ค์ ์์ ์ ๊ด๋ฆฌํ๋ฉฐ, ์์ฃผ ์ฌ์ฉ๋๋ ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑํฉ๋๋ค. ์บ์ฑ๋ ํ์ด์ง๋ ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์๋๋ฅผ ๋์ฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
- ์ฟผ๋ฆฌ ์ต์ ํ: SimpleDB๋ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ ผ๋ฆฌ์ ๊ณํ์ผ๋ก ๋ณํํ ํ, ๊ด๊ณ ๋์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌผ๋ฆฌ์ ๊ณํ์ผ๋ก ๋ณํํฉ๋๋ค. ๋ฌผ๋ฆฌ์ ๊ณํ์ ์ฟผ๋ฆฌ๋ฅผ ์ค์ ๋ก ์คํํ๋ ์ญํ ์ ํฉ๋๋ค.
- ํธ๋์ญ์ : SimpleDB๋ ํธ๋์ญ์ ์ ํตํด ACID ์์ฑ(์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ์ฑ, ๋ด๊ตฌ์ฑ)์ ๋ณด์ฅํฉ๋๋ค. SimpleDB๋ 2PL(Two-Phase Locking) ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฒฝํฉ์ ๋ฐฉ์งํ๊ณ , ํ์ด์ง ์์ค์ ์ ๊ธ์ ์ฌ์ฉํฉ๋๋ค.
- ์ฟผ๋ฆฌ ์คํ: SimpleDB๋ ์ฟผ๋ฆฌ ๊ณํ์ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ๋ฌ ์ข ๋ฅ์ ์ฐ์ฐ์ (์์ฐจ์ ํ ์ด๋ธ ์ค์บ, ์ฝ์ , ์ญ์ , ์ ๋ ฌ, ํํฐ, ํ๋ก์ ์ , ์ง๊ณ, ์ค์ฒฉ ๋ฃจํ ์กฐ์ธ, ํด์ ์กฐ์ธ ๋ฑ)๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ฅ์ : SimpleDB๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ์ ์ธ ์๋ ๋ฐฉ์์ ์ดํดํ๋ ๋ฐ ๋์์ ์ฃผ๋ ์ ์ฉํ ํ์ต ๋๊ตฌ์ ๋๋ค.
- ๋จ์ : SimpleDB๋ ์์ง ์ด๊ธฐ ๋จ๊ณ์ ํ๋ก์ ํธ์ด๋ฉฐ, ์ค์ ํ๊ฒฝ์์ ์ฌ์ฉํ๊ธฐ์๋ ๊ธฐ๋ฅ ๋ฐ ์ฑ๋ฅ ์ธก๋ฉด์์ ์ ํ์ ์ ๋๋ค.
- ๋์: MySQL, PostgreSQL, SQLite ๋ฑ ๋ค์ํ RDBMS๊ฐ ์กด์ฌํ๋ฉฐ, SimpleDB๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- SQL ์ฟผ๋ฆฌ ํ์: SimpleDB๋ SQL ์ฟผ๋ฆฌ๋ฅผ ํ์ฑํ๊ณ ํด์ํฉ๋๋ค.
- ํธ๋์ญ์ ๊ด๋ฆฌ: SimpleDB๋ ํธ๋์ญ์ ์ ์ง์ํ๋ฉฐ ACID ์์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- ์ฟผ๋ฆฌ ์ต์ ํ: SimpleDB๋ ์ฟผ๋ฆฌ ๊ณํ์ ์ต์ ํํ์ฌ ์คํ ์๋๋ฅผ ๋์ ๋๋ค.
- ๋ฌผ๋ฆฌ์ ์ฐ์ฐ์: SimpleDB๋ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๋ค์ํ ๋ฌผ๋ฆฌ์ ์ฐ์ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- SimpleDB๋ Github์์ ์์ค ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์ปดํ์ผํฉ๋๋ค.
- SimpleDB REPL(Read-Eval-Print Loop)์ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
SimpleDB๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๊ตฌํ ๋ฐฉ์์ ๋ํ ์ดํด๋ฅผ ๋์ด๊ธฐ ์ํ๋ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ํ๋ก์ ํธ์ ๋๋ค.
- SimpleDB Github Repository: https://github.com/awelm/simpledb
- SimpleDB๋ ๊ฐ๋ฐ ์ค์ธ ํ๋ก์ ํธ์ด๋ฉฐ, ์ค์ ํ๊ฒฝ์์ ์ฌ์ฉํ๊ธฐ์๋ ์์ ์ฑ ๋ฐ ์ฑ๋ฅ์ด ์ถฉ๋ถํ์ง ์์ต๋๋ค.
- SimpleDB๋ ํ์ฌ ํ์ต ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ์ค์ ์๋น์ค ํ๊ฒฝ์ ๋ฐฐํฌํ๊ธฐ ์ํ ์ถ๊ฐ ๊ฐ๋ฐ์ด ํ์ํฉ๋๋ค.
์ํ์น ์นดํ์นด๋ ์ค์๊ฐ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ, ๋ฐ์ดํฐ ํตํฉ ๋ฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์์คํ ์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์์คํ ์ ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ ์นดํ์นด์ ์๋ ๋ฐฉ์, ์์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ํตํด ์นดํ์นด์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๋ฅผ ์ ๊ณตํฉ๋๋ค.
์นดํ์นด๋ ๋งํฌ๋์ธ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ฒ์-๊ตฌ๋ ๋ฉ์์ง ์์คํ ์ผ๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์ค๋๋ ์๋ ํฌ์ถ 100๋ ๊ธฐ์ ์ 80% ์ด์์ด ์ฌ์ฉํ๋ ์คํ ์์ค ๋ถ์ฐ ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ๋๋ค. ์นดํ์นด๋ ์ค์๊ฐ ๋ฐ์ดํฐ ๋ถ์, ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋ฉ๋๋ค.
- ์นดํ์นด์ ์ฅ์ : ๋์ ์ฒ๋ฆฌ๋, ์ฅ์ ํ์ฉ์ฑ, ๋ณต์๋ ฅ, ํ์ฅ์ฑ, ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก, ์คํ ์์ค
- ์นดํ์นด์ ๋จ์ : ๋ณต์กํ ์ค์ ๋ฐ ์ด์, ๋์ ํ์ต ๊ณก์
- ์นดํ์นด์ ์ฌ์ฉ ์ฌ๋ก: ์ค์๊ฐ ๋ถ์, ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ, ๋ก๊ทธ ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ, ๋ฉ์์ง ํ, ๋ง์ดํฌ๋ก ์๋น์ค ํต์ , ๋ฐ์ดํฐ ๋ณต์
- ๊ณ ์ฑ๋ฅ: ์ด๋น ์๋ฐฑ๋ง ๊ฑด์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๋์ ์ฒ๋ฆฌ๋์ ์ ๊ณตํฉ๋๋ค.
- ๋ถ์ฐ ์ฒ๋ฆฌ: ์ฌ๋ฌ ๋ ธ๋์ ๋ถ์ฐ๋์ด ์์ด, ๋จ์ผ ์ง์ ์ฅ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ํ์ฅ์ฑ์ ๋์ ๋๋ค.
- ๋ด๊ตฌ์ฑ: ๋ฉ์์ง๋ ๋์คํฌ์ ์ง์์ ์ผ๋ก ์ ์ฅ๋์ด ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํฉ๋๋ค.
- ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์กํ์ฌ ๋น ๋ฅธ ์๋ต์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ์คํ ์์ค: ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์ปค๋ฎค๋ํฐ ์ง์์ ๋ฐ์ ์ ์์ต๋๋ค.
์นดํ์นด๋ Apache Software Foundation์์ ์ ๊ณตํ๋ ์คํ ์์ค ์ํํธ์จ์ด๋ก, ๊ณต์ ์น์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ๊ฒ์์๋ ์นดํ์นด์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ฌ ์คํธ๋ฆผ์ ์์ฑํฉ๋๋ค.
๋ฐ์ดํฐ ๊ตฌ๋ ์๋ ์นดํ์นด์์ ์คํธ๋ฆผ์ ๊ตฌ๋ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ฒ๋ฆฌํฉ๋๋ค.
์ํ์น ์นดํ์นด๋ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ์คํธ๋ฆฌ๋ฐ์ ์ํ ๊ฐ๋ ฅํ ํ๋ซํผ์ ๋๋ค. ๋์ ์ฒ๋ฆฌ๋, ๋ถ์ฐ ์ฒ๋ฆฌ, ๋ด๊ตฌ์ฑ์ ํ์๋ก ํ๋ ์์คํ ์ ์ ํฉํ๋ฉฐ, ๋ฐ์ดํฐ ๋ถ์, ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ, ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์ด ๊ธ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ๋ชจ๋ ๊ณ์ธต์ ์ ์ฉ๋ ์ ์๋ ์บ์ฑ ๊ธฐ๋ฒ์ ๋ํด ์์ธํ ์ค๋ช ํฉ๋๋ค. ์บ์ฑ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ํ์์ ์ธ ๊ธฐ์ ์ด๋ฉฐ, ํ๋ก ํธ์๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊น์ง ๋ค์ํ ๊ณ์ธต์์ ํ์ฉ๋ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ ๊ฐ ๊ณ์ธต์์ ์บ์ฑ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง, ๊ทธ๋ฆฌ๊ณ ๋ค๋จ๊ณ ์บ์ฑ ์ ๋ต์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ด ๋๋ค.
๋ค๋จ๊ณ ์บ์ฑ์ ์ฌ๋ฌ ๊ณ์ธต์ ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ต์ ํํ๋ ๊ธฐ์ ์ ๋๋ค. ๊ฐ ๊ณ์ธต์ ๋ค๋ฅธ ์บ์ฑ ๋ฉ์ปค๋์ฆ๊ณผ ์ง์ ์๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ด๋ฅผ ํตํด ๋น ๋ฅธ ์๋ต ์๊ฐ๊ณผ ๋์ ์ฒ๋ฆฌ๋์ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
- ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ : ์น ๋ธ๋ผ์ฐ์ ๋ HTTP ์๋ต, ์์ฐ ํ์ผ, HTML ํ์ด์ง ๋ฑ์ ์บ์ฑํฉ๋๋ค. ๊ฐ๋ฐ์๋ ์๋ต ํค๋์ ์บ์ฑ ์ง์ ์ฌํญ์ ์ค์ ํ์ฌ ํน์ ์์ฐ์ ์บ์ฑ ๋์์ ์ ์ดํ ์ ์์ต๋๋ค.
- ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ (CDN): CDN์ ์ด๋ฏธ์ง, ์คํ์ผ์ํธ, JS ํ์ผ๊ณผ ๊ฐ์ ์ ์ ์ฝํ ์ธ ๋ฅผ ์บ์ฑํฉ๋๋ค. CDN์ ์ฌ์ฉ์์๊ฒ ๊ฐ๊น์ด ์๋ฒ์ ์ฝํ ์ธ ๋ฅผ ์บ์ฑํ์ฌ ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ์ ์ค์ด๋ ์ฅ์ ์ด ์์ต๋๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์: ์ผ๋ถ ๋ก๋ ๋ฐธ๋ฐ์๋ ์์ฃผ ์ก์ธ์คํ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐฑ์๋ ์๋ฒ๋ฅผ ํธ์ถํ์ง ์๊ณ ๋ ์๋ต์ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, ์๋ต ์๊ฐ์ ๋จ์ถํ๊ณ ์๋ฒ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ถํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ์๋น์ค ์ธ์คํด์ค ์บ์: ์๋น์ค ์ธ์คํด์ค๋ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์์ฒด ์บ์ฑ ์๋ฃจ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ ์ ํ์ธํ๋ ์ธ๋ฉ๋ชจ๋ฆฌ ์บ์ ๋๋ ๋ถ์ฐ ์บ์์ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ๋ถ์ฐ ์บ์: Redis์ ๊ฐ์ ๋ถ์ฐ ์บ์๋ ๊ธฐ์กด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ณด๋ค ๋น ๋ฅธ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ, ์ฌ๋ฌ ๋ ธ๋์ ๊ฑธ์ณ ์บ์๋ฅผ ํ์ฅํ์ฌ ๋ณต์๋ ฅ์ ๋์ผ ์ ์์ต๋๋ค.
- ์ ๋ฌธ ๊ฒ์ ๋๊ตฌ: ํ ์คํธ ์ ๋ณด๋ฅผ ๋๋์ผ๋ก ๊ฒ์ํ๋ ๊ฒ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ ๋๋ค. ElasticSearch์ ๊ฐ์ ๋๊ตฌ๋ ํ ์คํธ ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์์ธํํ์ฌ ์ฌ์ค์ ์บ์ ์ญํ ์ ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์คํฌ์์ ํญ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์๋๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฒํผ ํ์ ์ฌ์ฉํ์ฌ ๋น ๋ฅธ ์ฝ๊ธฐ๋ฅผ ์ง์ํ๊ณ ๋ฐ์ดํฐ ํ์ด์ง๋ฅผ ์บ์ฑํฉ๋๋ค. ๋ํ, ๋ฌผ์งํ๋ ๋ทฐ๋ ๊ฐ๋น์ผ ์ฟผ๋ฆฌ์ ์ฌ์ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ฌ ๋น ๋ฅธ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์ฒด ๋ด์ฅ ์บ์ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
- ๋ค๋จ๊ณ ์บ์ฑ์ ์ฅ์ : ๋ค๋จ๊ณ ์บ์ฑ์ ๋ฐ์ดํฐ ์ก์ธ์ค ์๊ฐ์ ๋จ์ถํ๊ณ ์๋ฒ ๋ถํ๋ฅผ ์ค์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๋ค๋จ๊ณ ์บ์ฑ์ ๋จ์ : ๋ค๋จ๊ณ ์บ์ฑ์ ๊ตฌํ ๋ฐ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ ์ ์์ผ๋ฉฐ, ์บ์ ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๋ค๋จ๊ณ ์บ์ฑ์ ์ ์ฉ: ๋ค๋จ๊ณ ์บ์ฑ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ๊ณ์ธต์์ ์ ์ฉํ ์ ์์ผ๋ฉฐ, ํนํ ๋๋์ ์ฌ์ฉ์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํฉ๋๋ค.
- ์ฌ๋ฌ ๊ณ์ธต์ ์บ์ฑ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ต์ ํํฉ๋๋ค.
- ๋น ๋ฅธ ์๋ต ์๊ฐ๊ณผ ๋์ ์ฒ๋ฆฌ๋์ ์ ๊ณตํฉ๋๋ค.
- ์๋ฒ ๋ถํ๋ฅผ ์ค์ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
๋ค๋จ๊ณ ์บ์ฑ์ ์ฌ์ฉํ๋ ์บ์ฑ ๊ธฐ์ ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์ ๋ฐ๋ผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ๋ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ์ธ๋ฉ๋ชจ๋ฆฌ ์บ์ ์์คํ ์ ์ค์นํ๊ณ ๊ตฌ์ฑํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์บ์ฑ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
- CDN ์๋น์ค๋ฅผ ์ค์ ํ๊ณ ์บ์ฑ ๊ท์น์ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ ์บ์ฑ ๊ณ์ธต์ ์ ํฉํ ์บ์ฑ ๊ท์น์ ์ค์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ๋ฉ๋ชจ๋ฆฌ ์บ์๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๋๋ ๋ณ๋์ฑ์ด ์ ์ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๋ ๋ฐ ์ ํฉํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์บ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ฑฐ๋, ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๋ ๋ฐ ์ ํฉํฉ๋๋ค. CDN ์บ์๋ ์ ์ ์ฝํ ์ธ , ์ด๋ฏธ์ง, ๋น๋์ค์ ๊ฐ์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๋ ๋ฐ ์ ํฉํฉ๋๋ค.
๋ค๋จ๊ณ ์บ์ฑ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ํจ๊ณผ์ ์ธ ๊ธฐ์ ์ ๋๋ค. ํนํ ๋๋์ ์ฌ์ฉ์ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํฉ๋๋ค. ๋ค๋จ๊ณ ์บ์ฑ์ ๊ตฌํํ ๋๋ ๊ฐ ๊ณ์ธต์ ์ ํฉํ ์บ์ฑ ๊ท์น์ ์ค์ ํ๊ณ ์บ์ ์ผ๊ด์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
- ๋ค๋จ๊ณ ์บ์ฑ์ ๊ตฌํ ๋ฐ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ ์ ์์ต๋๋ค.
- ์บ์ ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์บ์๋ฅผ ์๋ชป ๊ตฌ์ฑํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ณธ ๊ธ์ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฃผ์ ํค๋ก UUID์ BIGINT๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํ ์ฅ๋จ์ ์ ๋ ผ์ํฉ๋๋ค. UUID๋ ์ ์ธ๊ณ์ ์ผ๋ก ๊ณ ์ ํ ์๋ณ์๋ฅผ ์ ๊ณตํ์ง๋ง, BIGINT๋ ์ฑ๋ฅ ์ธก๋ฉด์์ ์ ๋ฆฌํฉ๋๋ค. ์ ์๋ ํนํ UUID๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ ์ฝ์ ์ฑ๋ฅ ์ ํ, ์ ์ฅ ๊ณต๊ฐ ๋ฌธ์ , ๊ทธ๋ฆฌ๊ณ ์ธ๋ฑ์ค ์ ํ์ ์ด๋ ค์์ ์ธ๊ธํ๋ฉฐ, ์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก ์์ฐจ์ UUID ์์ฑ, BIGINT ์ฌ์ฉ, ๊ทธ๋ฆฌ๊ณ B-ํธ๋ฆฌ ์ธ๋ฑ์ค ํ์ฉ์ ์ ์ํฉ๋๋ค.
PostgreSQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ฃผ์ ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ฃผ์ ํค ์ ํ์ UUID์ BIGINT์ ๋๋ค. UUID๋ 128๋นํธ ๋์๋ก, ์ ์ธ๊ณ์ ์ผ๋ก ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ๋ฉด์ BIGINT๋ 64๋นํธ ์ ์๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ณ ์ ํ๋๋ก ์ค์ ๋ฉ๋๋ค.
-
UUID์ ์ฅ์ :
- ์ ์ธ๊ณ์ ๊ณ ์ ์ฑ: UUID๋ ์ ์ธ๊ณ์ ์ผ๋ก ๊ณ ์ ํ ์๋ณ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ถ์ฐ ์์คํ ์ ์ ํฉ: UUID๋ ์ฌ๋ฌ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ๋ถ์ฐ ์์คํ ์ ์ ํฉํฉ๋๋ค.
- ํ ์ด๋ธ ์กฐ์ธ ์ฑ๋ฅ ํฅ์: UUID๋ BIGINT๋ณด๋ค ํ ์ด๋ธ ์กฐ์ธ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
-
UUID์ ๋จ์ :
- ์ฑ๋ฅ ์ ํ: UUID๋ BIGINT๋ณด๋ค ์ ์ฅ ๊ณต๊ฐ์ ๋ ๋ง์ด ์ฐจ์งํ๋ฉฐ, ์ธ๋ฑ์ฑ ๋ฐ ๊ฒ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- ์ธ๋ฑ์ฑ ๋ฌธ์ : UUID๋ ์์ฐจ์ ์ผ๋ก ์ ๋ ฌ๋์ง ์์ผ๋ฏ๋ก, B-ํธ๋ฆฌ ์ธ๋ฑ์ฑ์ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.
-
BIGINT์ ์ฅ์ :
- ์ฑ๋ฅ ์ฐ์: BIGINT๋ UUID๋ณด๋ค ์ ์ฅ ๊ณต๊ฐ์ ์ ๊ฒ ์ฐจ์งํ๋ฉฐ, ์ธ๋ฑ์ฑ ๋ฐ ๊ฒ์ ์ฑ๋ฅ์ด ์ฐ์ํฉ๋๋ค.
- ์์ฐจ์ ์ ๋ ฌ: BIGINT๋ ์์ฐจ์ ์ผ๋ก ์ ๋ ฌ๋์ด B-ํธ๋ฆฌ ์ธ๋ฑ์ฑ์ ์ ๋ฆฌํฉ๋๋ค.
- UUID: ์ ์ธ๊ณ์ ์ผ๋ก ๊ณ ์ ํ ์๋ณ์๋ฅผ ์์ฑํฉ๋๋ค.
- BIGINT: 64๋นํธ ์ ์๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๊ณ ์ ํ๋๋ก ์ค์ ๋ฉ๋๋ค.
CREATE TABLE my_table (
id UUID PRIMARY KEY,
name VARCHAR(255)
);
CREATE TABLE my_table (
id BIGINT PRIMARY KEY,
name VARCHAR(255)
);
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ท๋ชจ์ ์ฑ๋ฅ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ UUID ๋๋ BIGINT๋ฅผ ์ ํํ์ญ์์ค. ์ผ๋ฐ์ ์ผ๋ก, ์ฑ๋ฅ์ด ์ค์ํ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ BIGINT๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- UUID๋ BIGINT๋ณด๋ค ์ ์ฅ ๊ณต๊ฐ์ ๋ ๋ง์ด ์ฐจ์งํ๋ฏ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- BIGINT๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์๋ง ๊ณ ์ ํ ์๋ณ์๋ฅผ ์ ๊ณตํ๋ฏ๋ก, ๋ถ์ฐ ์์คํ ์์๋ UUID๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Go ์ธ์ด์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์์ ๋ํ ์์กด์ฑ์ ์ ํํ๊ธฐ ์ํ ์ด์ 67401์ ๋ํ ๋ถ์์
๋๋ค. ์ด ์ด์๋ Go 1.23 ๋ฆด๋ฆฌ์ฆ์์ ํด๊ฒฐ๋์์ผ๋ฉฐ, //go:linkname
์ง์์ด๋ฅผ ํตํด ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์๋ฅผ ์ง์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํํฉ๋๋ค. ์ด๋ Go ์ํ๊ณ์ ์์ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํค๊ธฐ ์ํ ์กฐ์น์
๋๋ค.
//go:linkname
์ง์์ด๋ Go ์ฝ๋์์ ํน์ ์ฌ๋ณผ์ ๋ค๋ฅธ ์ฌ๋ณผ๋ก ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ด๋ถ ํจ์๋ //go:linkname
์ ํตํด ์ธ๋ถ ํจํค์ง์์ ์ง์ ์ ๊ทผํ ์ ์์๋๋ฐ, ์ด๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ณ๊ฒฝ ์ ์ธ๋ถ ํจํค์ง๊ฐ ์์์น ๋ชปํ๊ฒ ๋์ํ์ง ์์ ์ํ์ ์ผ๊ธฐํ์ต๋๋ค.
์ด ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Go ๊ฐ๋ฐ ํ์ //go:linkname
์ฌ์ฉ์ ์ ํํ๋ ์๋ก์ด ๊ท์น์ ๋์
ํ์ต๋๋ค. Go 1.23๋ถํฐ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์๋ฅผ //go:linkname
์ผ๋ก ์ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์ธ๋ถ ํจํค์ง์ ์ํฅ:
//go:linkname
์ฌ์ฉ ์ ํ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ ์ธ๋ถ ํจํค์ง์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๊ธฐ์กด์//go:linkname
์ ํตํด ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ธ๋ถ ํจํค์ง๋ Go 1.23 ์ดํ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ธ๋ถ ํจํค์ง ๊ฐ๋ฐ์๋ค์ ์ด ๋ณํ์ ๋๋นํด์ผ ํฉ๋๋ค. - ๋์:
//go:linkname
์ ๋์ ์ฌ์ฉํ ์ ์๋ ๋์์ผ๋ก๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํ๋ ๊ณต์์ ์ธ API๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ธ๋ถ ํจํค์ง ๊ฐ๋ฐ์๋ค์//go:linkname
์ ์ฌ์ฉํ์ง ์๊ณ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ API๋ฅผ ์ฌ์ฉํ๋๋ก ์ฝ๋๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. - ํฅํ ๊ณํ: Go ๊ฐ๋ฐ ํ์
//go:linkname
์ ์์ ํ ์ ๊ฑฐํ ๊ณํ์ ์์ง๋ง, ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธ์๋ ์ธ๋ถ ํจํค์ง์์//go:linkname
์ ์ฌ์ฉํ๋ ๊ฒ๋ ์ ํํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
//go:linkname
์ฌ์ฉ ์ ํ- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์์ ๋ํ ์ธ๋ถ ํจํค์ง ์์กด์ฑ ์ ๊ฑฐ
- Go ์ํ๊ณ์ ์์ ์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ ํฅ์
- Go 1.23 ์ด์ ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
//go:linkname
์ ์ฌ์ฉํ๋ ์ธ๋ถ ํจํค์ง ๊ฐ๋ฐ์๋ Go 1.23 ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๊ณต์์ ์ธ API๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
- Go 1.23 ์ด์ ๋ฒ์ ์์๋
//go:linkname
์ฌ์ฉ์ ์ ํ์ด ์์์ต๋๋ค. //go:linkname
์ฌ์ฉ ์ ํ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ ์ธ๋ถ ํจํค์ง์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.//go:linkname
์ ์ฌ์ฉํ๋ ์ธ๋ถ ํจํค์ง ๊ฐ๋ฐ์๋ค์ ์ฝ๋๋ฅผ ์์ ํ์ฌ Go 1.23 ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
- ์ด ๊ธ์ Gemini Flash๋ฅผ ์ด์ฉํ์ฌ ์์ฑํ ๊ฒ์ผ๋ก, ์ฌ์ค๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
- https://www.pingcap.com/event/tidb-public-beta-launch-and-ai-ecosystem-insights/
- https://www.awelm.com/posts/simple-db/
- https://developer.confluent.io/what-is-apache-kafka/?utm_medium=marketingemail&utm_campaign=tm.campaigns_cd.general-welcome-4.0-nurture-email1-prg.global_&utm_source=marketo&utm_content=&utm_keyword=
- https://newsletter.systemdesigncodex.com/p/caching-at-multiple-levels
- https://medium.com/@sjksingh/postgresql-primary-key-dilemma-uuid-vs-bigint-52008685b744
- golang/go#67401