Skip to content
This repository was archived by the owner on Jun 14, 2022. It is now read-only.

Latest commit

ย 

History

History
50 lines (31 loc) ยท 7.6 KB

File metadata and controls

50 lines (31 loc) ยท 7.6 KB

DB ์„ค๊ณ„ ์˜๋„

์™œ MariaDB๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€

NoSQL์ด ์œ ํ–‰ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ์ง€๋„ ๋ฒŒ์จ ์—ฌ๋Ÿฌ ํ•ด๊ฐ€ ์ง€๋‚ฌ๊ณ  ๋งˆ๋น„๋…ธ๊ธฐ ๋“€์–ผ์—์„œ๋„ Redis๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„ ์—”์ง„ 2๋Š” MariaDB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๊ฒฐ์ •ํ•œ ์ฃผ๋œ ์ด์œ ๋Š” ์‹ ๋ขฐ์„ฑ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Redis์˜ ์œ„ํ—˜

๋งˆ๋น„๋…ธ๊ธฐ ๋“€์–ผ์—์„œ๋Š” Redis๋ฅผ ๋งค์šฐ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Redis ์•ˆ์—์„œ ๋ณต์žกํ•œ ๋ฃจ์•„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด์„œ ๋™์‹œ์„ฑ ๋ฌธ์ œ์™€ DB ์ ‘๊ทผ ์ง€์—ฐ์‹œ๊ฐ„ ๋ฌธ์ œ์—์„œ ํ•ด๋ฐฉ๋˜์—ˆ๊ณ , Redis ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฒŒ์ž„ ์„œ๋ฒ„์—์„œ ๋งค๋ˆํ•˜๊ฒŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋‹จ๊ธฐ ์ƒ์‚ฐ์„ฑ๋„ ๋†’์ด๋Š” ํšจ๊ณผ๋ฅผ ๋ˆ„๋ ธ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋žœ์žญ์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์  ๋•Œ๋ฌธ์— ๋ผ์ด๋ธŒ ์„œ๋น„์Šค์— ํ™œ์šฉํ•˜๊ธฐ์—๋Š” ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งˆ๋น„๋…ธ๊ธฐ ๋“€์–ผ์—์„œ๋Š” Redis ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด ๊นจ์ง€๋Š” ์‚ฌ๊ณ ๊ฐ€ ์žˆ์—ˆ๊ณ , ๊ณ ํ†ต์Šค๋Ÿฌ์šด ๋ฐ์ดํ„ฐ ๋ณต์› ์ž‘์—…์„ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค.

์™œ ์ด๋ ‡๊ฒŒ ์„ค๊ณ„ํ–ˆ๋Š”๊ฐ€

์ƒค๋”ฉ๊ณผ ํŠธ๋žœ์žญ์…˜

ํŠธ๋žœ์žญ์…˜์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์€ํ–‰ ์†ก๊ธˆ ๊ฐ™์€ ๊ฒƒ์ด ํŠธ๋žœ์žญ์…˜์— ์†ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ๋ฆฌ๊ฐ€ ํผ๊ฑฐ์Šค์—๊ฒŒ ๋ˆ์„ ๋ณด๋ƒˆ์œผ๋ฉด, ๋งˆ๋ฆฌ์˜ ๊ณ„์ขŒ์—์„œ ๋ˆ์ด ์ค„์–ด๋“œ๋Š” ์ผ๊ณผ ํผ๊ฑฐ์Šค์˜ ๊ณ„์ขŒ์—์„œ ๋ˆ์ด ๋Š˜์–ด๋‚˜๋Š” ์ผ์ด ํ•จ๊ป˜ ๋ฐœ์ƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ๋ฆฌ์˜ ๊ณ„์ขŒ์—์„œ ๋ˆ์ด ์ค„๊ธฐ๋งŒ ํ•˜๊ณ  ํผ๊ฑฐ์Šค์˜ ๊ณ„์ขŒ์—์„  ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค๊ฑฐ๋‚˜, ๊ทธ ๋ฐ˜๋Œ€๊ฐ€ ๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. SQLServer๋‚˜ MySQL ๋“ฑ์˜ RDBMS๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์œ ์ €์˜ ์†Œ์ค‘ํ•œ ์žฌ์‚ฐ์„ ์˜์†์ ์œผ๋กœ ์ €์žฅํ•˜๋ฉด์„œ ๋‹ค๋ฅธ ์œ ์ €์™€์˜ ๊ฑฐ๋ž˜๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

DB ์žฅ๋น„ ํ•œ ๋Œ€๊ฐ€ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ๋Œ€๋ฐ•๋‚ฌ์„ ๋•Œ, DB ์žฅ๋น„๊ฐ€ ๋ชจ๋“  ์œ ์ €์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์–ด์„œ, ๊ฒŒ์ž„์ด ์‹ฌ๊ฐํ•˜๊ฒŒ ๋А๋ ค์ง€๊ฒŒ ๋˜๊ณ , ์‹ฌ์ง€์–ด๋Š” ๊ฒŒ์ž„ ์„œ๋ฒ„๊ฐ€ ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ฒ„ํ‹ฐ์ง€ ๋ชปํ•˜๊ณ  ์ฃฝ์–ด๋ฒ„๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์•„๋‹Œ ์ผ๋ฐ˜์ ์ธ ์Šคํƒ€ํŠธ์—…์—์„œ๋Š” DB ์žฅ๋น„ ํ•œ ๋Œ€๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ณ , ์œ ์ €๊ฐ€ ์ ์  ๋งŽ์•„์ง์— ๋”ฐ๋ผ ์žฅ๋น„ ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ณ ์น˜๋ฉด ๋˜์ง€๋งŒ, ๊ฒŒ์ž„์€ ์ถœ์‹œ ์งํ›„์— ์œ ์ €๊ฐ€ ๋ชฐ๋ฆฌ๊ณ , ๋’ค๋Šฆ๊ฒŒ ๋Œ€์ฒ˜ํ•˜๊ธฐ์—๋Š” ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉฐ, ์ด ๋•Œ๋ฅผ ๋†“์น˜๋ฉด ์ƒ๋‹นํ•œ ์ˆ˜์˜ ์œ ์ €(๊ทธ๋ฆฌ๊ณ  ์ƒ๋‹น ๋ถ€๋ถ„์˜ ๋งค์ถœ)๋ฅผ ์˜์˜ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, RDBMS์—์„œ ํŠธ๋žœ์žญ์…˜์€ ํ•œ ๋Œ€์˜ DB ์žฅ๋น„์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. RDBMS์˜ ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋Šฅ์€ ๋น„์‹ผ ๋ฒ„์ „์—์„œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ DB ์žฅ๋น„์— ๊ฑธ์ณ์„œ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ด๋„(*1) ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์˜ˆ์ „ ์˜จ๋ผ์ธ ๊ฒŒ์ž„์„ ํฌ๊ฒŒ MMORPG์™€ ์บ์ฃผ์–ผ ๊ฒŒ์ž„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋˜ ์‹œ์ ˆ์—๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ๋ณ„๋กœ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. MMORPG๋“ค์€ ๊ฒŒ์ž„์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ๋…ผ๋ฆฌ ์„œ๋ฒ„๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ๊ฐ์˜ ๋…ผ๋ฆฌ ์„œ๋ฒ„์— ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ํ•œ ๋Œ€์˜ DB ์žฅ๋น„์— ๋ชฐ์•„๋„ฃ์–ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์บ์ฃผ์–ผ ๊ฒŒ์ž„์€ ์—ฌ๋Ÿฌ ์œ ์ €๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ์“ธ ์ผ์ด ๋ณ„๋กœ ์—†์–ด์„œ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

*1: ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜, ํ˜น์€ XA ํŠธ๋žœ์žญ์…˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ด๊ฑธ ์ง์ ‘ ๊ฒช์–ด๋ณด์ง€๋Š” ๋ชปํ–ˆ๊ณ , ์•„์ง๋„ ์™œ ๋А๋ฆด ์ˆ˜๋ฐ–์— ์—†๋Š”์ง€, ์ •ํ™•ํžˆ ์–ด๋–ค ๊ฒฝ์šฐ์— ๋А๋ฆฐ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋งˆ๋น„๋…ธ๊ธฐ ๋“€์–ผ์„ ๋งŒ๋“ค๋ฉด์„œ ๊ฒฝํ—˜ ๋งŽ์€ DBA ์„ธ ๋ถ„๊ป˜ ์ž๋ฌธํ•ด๋ดค์„ ๋•Œ ์ „๋ถ€ ๊ทผ์ฒ˜์—๋„ ๊ฐ€์ง€ ๋ง๋ผ๊ณ  ์กฐ์–ธํ•ด ์ฃผ์…”์„œ ์‚ฌ์šฉ์„ ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์š”์ฆ˜์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋‹จ์ผ ์„œ๋ฒ„์ด๋ฉด์„œ ๋ฐฑ์—”๋“œ ํ”Œ๋ ˆ์ด(๋ฉ”ํƒ€๊ฒŒ์ž„)๊ฐ€ ๋ณต์žกํ•œ ๊ฒŒ์ž„์ด ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์ด ๋Œ€์ฒด๋กœ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒŒ์ž„์€ ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์œผ๋กœ RDBMS๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฒŒ์ž„ ์„œ๋ฒ„๋“ค์ด NoSQL์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„ ์—”์ง„ 2๋Š” MariaDB๋ฅผ ์“ฐ๋˜, ์—”์ง„์ด ์ƒค๋”ฉ(์ˆ˜ํ‰ ํŒŒํ‹ฐ์…”๋‹), ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜, ๋„ํ๋จผํŠธ ๋ณ€๊ฒฝ ๋กœ๊ทธ๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚™๊ด€์ /๋น„๊ด€์  ๋™๊ธฐํ™”

๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‚™๊ด€์  ๋™๊ธฐํ™”์™€ ๋น„๊ด€์  ๋™๊ธฐํ™”๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚™๊ด€์  ๋™๊ธฐํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋‹จ ๊ณ ์ณ ๋ณด๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์‚ฌ์ด์— ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์น˜์ง€ ์•Š์•˜์œผ๋ฉด ๊ทธ๋Œ€๋กœ ๋‘๋ฉฐ, ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ณค์œผ๋ฉด ๋กค๋ฐฑํ•˜๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋‚™๊ด€์  ๋™๊ธฐํ™” ๋ฐฉ์‹์€ ์žฌ์‹œ๋„ ํ™•๋ฅ ์ด ๋‚ฎ์„ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์„ฑ๋Šฅ์ด ์ข‹์ง€๋งŒ, ์žฌ์‹œ๋„ ๊ณผ์ •์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์žฌํ˜„ํ•˜๊ธฐ ๋งค์šฐ ํž˜๋“ค๋‹ค๋Š” ์‹ฌ๊ฐํ•œ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๊ด€์  ๋™๊ธฐํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์น˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ๋ฝ์„ ์žก์•„์„œ, ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ๊ณ ์น˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น„๊ด€์  ๋™๊ธฐํ™”์—๋„ ๋ฌธ์ œ๋Š” ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฝ ๋น ๋œจ๋ฆฌ๊ธฐ: ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑด๋“œ๋ฆด ๋•Œ ์–ด๋–ค ๋ฝ์„ ์žก์•„์•ผ ํ• ์ง€์— ๊ด€ํ•œ ๊ทœ์น™์„ ์ง€์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ๋“œ๋ฝ: ๋ฝ์„ ์žก๋Š” ์ˆœ์„œ๋ฅผ ์ •ํ™•ํžˆ ์ง€์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณผ๋„ํ•œ ๋ฝ์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜: ๋ฝ ๋‹จ์œ„๋ฅผ ํฌ๊ฒŒ ์žก์„์ˆ˜๋ก(coarse-grained) ์‹œ์Šคํ…œ ์ „์ฒด์—์„œ ๋™์‹œ์— ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. ๊ทน๋‹จ์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. DB ์ „์ฒด๋ฅผ ํ•˜๋‚˜์˜ ๋ฝ์œผ๋กœ ๊ฐ์ŒŒ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋™์ž‘์ด ์ž˜๋ชป๋œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜์€ ๋‹จ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ํ•œ ๋ฒˆ์— 10ms ๊ฑธ๋ฆฐ๋‹ค๊ณ  ์น˜๋ฉด ๋•Œ ์‹œ์Šคํ…œ ์ „์ฒด๊ฐ€ ์ดˆ๋‹น 100ํŠธ๋žœ์žญ์…˜๋ฐ–์— ์ฒ˜๋ฆฌ๋ฅผ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2๋ฒˆ๊ณผ 3๋ฒˆ์€ ์„œ๋กœ ๊ธด์žฅ ๊ด€๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฝ ๋‹จ์œ„๋ฅผ ํฌ๊ฒŒ ์„ค์ •ํ• ์ˆ˜๋ก ์‹œ์Šคํ…œ ์ „์ฒด์˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๊ฐ์†Œํ•˜๊ณ , ๋ฝ ๋‹จ์œ„๋ฅผ ์ž‘๊ฒŒ ์„ค์ •ํ• ์ˆ˜๋ก ์žก์•„์•ผ ๋˜๋Š” ๋ฝ์˜ ์ข…๋ฅ˜๊ฐ€ ๋งŽ์•„์ ธ์„œ ์ˆœ์„œ๋ฅผ ์ •ํ™•ํžˆ ๋งž์ถ”๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋น„๊ด€์  ๋™๊ธฐํ™” ๋ฐฉ์‹์— ์žˆ๋Š” ๋ฌธ์ œ๋Š” ์—”์ง„ API๋ฅผ ์‚ฌ๋ ค๊นŠ๊ฒŒ ์„ค๊ณ„ํ•ด์„œ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค๋ฒ„๋ฐ”์ธ ์„œ๋ฒ„ ์—”์ง„ 2์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐฉ์‹์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฝ ๊ธฐ๋ฐ˜ ๋น„๊ด€์  ๋™๊ธฐํ™”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฝ์„ ์žก๊ณ  ํ‘ธ๋Š” ์ผ์€ ์—”์ง„์ด ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ๋“œ๋ฝ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘ํ•  ๋•Œ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฝ์„ ์žก์„์ง€ ๋ฏธ๋ฆฌ ๊ฒฐ์ •ํ•˜๊ณ , ์ค‘๊ฐ„์— ๋ฝ์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ์ˆœ์„œ๋Œ€๋กœ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฝ ๋‹จ์œ„๋ฅผ ๋„ˆ๋ฌด ์„ธ๋ถ„ํ™”ํ•˜๋ฉด 2๋ฒˆ์ด ๊ณ ํ†ต์Šค๋Ÿฌ์›Œ์ง€๋ฏ€๋กœ, ๋ฝ ๋‹จ์œ„๊ฐ€ ์ ๋‹นํžˆ ์„ฑ๊ธฐ๋„๋ก (coarse-grained) ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์›์น™์— ๋”ฐ๋ผ ์œ ์ € ํ•œ ๋ช…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ Document์— ๋‹ด๋„๋ก ๊ถŒ์žฅํ•˜๊ณ , Document ๋‹จ์œ„๊ฐ€ ๊ณง ๋ฝ ๋‹จ์œ„๊ฐ€ ๋˜๋„๋ก ํ–ˆ๊ณ , ๊ธ€๋กœ๋ฒŒ ํ…Œ์ด๋ธ”์—์„œ๋Š” ๊ฐœ๋ณ„ ํ–‰์ด ๋ฝ ๋‹จ์œ„๊ฐ€ ๋˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์—”์ง„์ด ์ œ๊ณตํ•˜๋Š” API๋งŒ ๊ฐ€์ง€๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์ด ๊นจ์ง€๋Š” ๊ฒฝ์šฐ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ž˜๋ชป ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด, ๋ชจ๋“  ์œ ์ €๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋„ํ๋จผํŠธ์— ๋ชฐ์•„๋„ฃ์œผ๋ฉด ๋งค์šฐ ๋А๋ ค์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ ์„ ์ดํ•ดํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์žก์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.