URL ๋‹จ์ถ•๊ธฐ ์„ค๊ณ„

2026. 6. 20. 22:57ยท๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿ’พBack-end๐Ÿ•Š๏ธ

๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ •

์ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ์  ๊ธฐ๋Šฅ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. URL ๋‹จ์ถ•: ์ฃผ์–ด์ง„ ๊ธด URL์„ ํ›จ์”ฌ ์งง๊ฒŒ ์ค„์ธ๋‹ค.
  2. URL ๋ฆฌ๋””๋ ‰์…˜(redirection): ์ถ•์•ฝ๋œ URL๋กœ HTTP ์š”์ฒญ์ด ์˜ค๋ฉด ์›๋ž˜ URL๋กœ ์•ˆ๋‚ด
  3. ๋†’์€ ๊ฐ€์šฉ์„ฑ๊ณผ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ์žฅ์•  ๊ฐ๋‚ด๊ฐ€ ์š”๊ตฌ๋จ

๊ฐœ๋žต์  ์ถ”์ •

  • ์“ฐ๊ธฐ ์—ฐ์‚ฐ: ๋งค์ผ 1์–ต ๊ฐœ์˜ ๋‹จ์ถ• URL ์ƒ์„ฑ
  • ์ดˆ๋‹น ์“ฐ๊ธฐ ์—ฐ์‚ฐ: 1์–ต(100million) / 24 / 3600 = 1160
  • ์ฝ๊ธฐ ์—ฐ์‚ฐ: ์ฝ๊ธฐ ์—ฐ์‚ฐ๊ณผ ์“ฐ๊ธฐ ์—ฐ์‚ฐ ๋น„์œจ์€ 10:1์ด๋ผ๊ณ  ํ•˜์ž. ๊ทธ ๊ฒฝ์šฐ ์ฝ๊ธฐ ์—ฐ์‚ฐ์€ ์ดˆ๋‹น 11,600ํšŒ ๋ฐœ์ƒํ•œ๋‹ค(1160 × 10 = 11,600).
  • URL ๋‹จ์ถ• ์„œ๋น„์Šค๋ฅผ 10๋…„๊ฐ„ ์šด์˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด 1์–ต(100million) × 365 × 10 = 3650์–ต(365billion) ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ณด๊ด€ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ถ•์•ฝ ์ „ URL์˜ ํ‰๊ท  ๊ธธ์ด๋Š” 100์ด๋ผ๊ณ  ํ•˜์ž.
  • ๋”ฐ๋ผ์„œ 10๋…„ ๋™์•ˆ ํ•„์š”ํ•œ ์ €์žฅ ์šฉ๋Ÿ‰์€ 3650์–ต(365billion) × 100๋ฐ”์ดํŠธ = 36.5TB์ด๋‹ค.

 

๊ฐœ๋žต์  ์„ค๊ณ„์•ˆ ์ œ์‹œ ๋ฐ ๋™์˜ ๊ตฌํ•˜๊ธฐ

 

1. API endpoint

ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” API ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•œ๋‹ค.

์šฐ๋ฆฌ๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ REST ์Šคํƒ€์ผ๋กœ ์„ค๊ณ„ํ•ด๋ณด์ž. RESTful API [1] 

URL ๋‹จ์ถ•๊ธฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‘๊ฐœ์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค.

1) URL ๋‹จ์ถ•์šฉ ์—”๋“œํฌ์ธํŠธ : ์ƒˆ ๋‹จ์ถ• URL ์„ ์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ์—”๋“œํฌ์ธํŠธ์— ๋‹จ์ถ•ํ•  URL์„ ์ธ์ž๋กœ ์‹ค์–ด์„œ POST์š”์ฒญ์„ ๋ณด๋‚ด์•ผํ•œ๋‹ค. ์ด ์—”๋“œํฌ์ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๋ˆ๋‹ค.

 

2) URL ๋””๋ฆฌ๋ ‰์…˜์šฉ ์—”๋“œํฌ์ธํŠธ : ๋‹จ์ถ• URL์— ๋Œ€ํ•ด์„œ HTTP์š”์ฒญ์ด ์˜ค๋ฉด ์›๋ž˜ URL๋กœ ๋ณด๋‚ด์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„์˜ ์—”๋“œํฌ์ธํŠธ

 

 

2. URL ๋ฆฌ๋””๋ ‰์…˜

๋ธŒ๋ผ์šฐ์ €์— ๋‹จ์ถ• URL์„ ์ž…๋ ฅํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ์ผ์ด ์ƒ๊ธด๋‹ค. 

๋‹จ์ถ• URL์„ ๋ฐ›์€ ์„œ๋ฒ„๋Š” ๊ทธ URL์„ ์›๋ž˜ URL๋กœ ๋ฐ”๊ฟ”์„œ 301์‘๋‹ต์˜ Location์„ ํ—ค๋”์— ๋„ฃ์–ด์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

 

- 301 Permanently Moved :  ์ด ์‘๋‹ต์€ ํ•ด๋‹น URL์— ๋Œ€ํ•œ HTTP ์š”์ฒญ์˜ ์ฒ˜๋ฆฌ ์ฑ…์ž„์ด ์˜๊ตฌ์ ์œผ๋กœ Location ํ—ค๋”์— ๋ฐ˜ํ™˜๋œ URL๋กœ ์ด์ „๋˜์—ˆ๋‹ค๋Š” ์‘๋‹ต์ด๋‹ค. ์˜๊ตฌ์ ์ด์ „๋˜์—ˆ์œผ๋ฏ€๋กœ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด ์‘๋‹ต์„ ์บ์‹œํ•œ๋‹ค. ์ถ”ํ›„ ๊ฐ™์€ URL์— ์š”์ฒญ์„ ๋ณด๋‚ผ ํ•„์š”๊ฐ€ ์žˆ์„๋•Œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์บ์‹œ๋œ ์›๋ž˜ URL๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.  

-- ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ์ค€๋‹ค. ์ฒซ๋ฒˆ์งธ ์š”์ฒญ๋งŒ ๋‹จ์ถ• URL๋กœ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

- 302 Found : ์ด ์‘๋‹ต์€ ์ฃผ์–ด์ง„ URL๋กœ์˜ ์š”์ฒญ์ด '์ผ์‹œ์ '์œผ๋กœ Location ํ—ค๋”๊ฐ€ ์ง€์ •ํ•˜๋Š” URL์— ์˜ํ•ด์„œ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์‘๋‹ต.

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ์–ธ์ œ๋‚˜ ๋‹จ์ถ• URL์„œ๋ฒ„์— ๋จผ์ € ๋ณด๋‚ด์ง„ํ›„์— ์›๋ž˜ URL๋กœ ๋ฆฌ๋””๋ ‰์…˜ ๋˜์–ด์•ผ ํ•œ๋‹ค 

-- ํŠธ๋ž˜ํ”ฝ ๋ถ„์„์— ์šฉ์ดํ•˜๋‹ค. 

 

ํ•ด์‹œ ํ…Œ์ด๋ธ”์— <๋‹จ์ถ• URL, ์›๋ž˜URL> ์˜ ์Œ์„ ์ €์žฅํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด URL ๋ฆฌ๋””๋ ‰์…˜์ด ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋‹ค. 

 - ์›๋ž˜ URL = hastTable.get(๋‹จ์ถ• URL)

 - 301 ๋˜๋Š” 302 ์‘๋‹ต Location ํ—ค๋”์— ์›๋ž˜ URL์„ ๋„ฃ์€ ํ›„์ „์†ก 

 

 

3. URL ๋‹จ์ถ• ํ”Œ๋กœ

๋‹จ์ถ• URl์ด www.tinyurl.com/{hashValue}  ๊ฐ™์€ ํ˜•ํƒœ๋กœ๋ณด๋ฉด, ๊ฒฐ๊ตญ ๊ธด URl์„ ์ด ํ•ด์‹œ ๊ฐ’์œผ๋กœ ๋Œ€์‘ํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜f ๋ฅผ ์ฐพ๋Š” ์ผ์ด๋‹ค. 

- ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๊ธด URL ์ด ๋‹ค๋ฅธ ๊ฐ’์ด๋ฉด ํ•ด์‹œ ๊ฐ’๋„ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. 

- ๊ณ„์‚ฐ๋œ ํ•ด์‹œ ๊ฐ’์€ ์›๋ž˜ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์กŒ๋˜ ๊ธด URL๋กœ ๋ณต์›๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

 

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

๋ฐ์ดํ„ฐ ๋ชจ๋ธ

ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ๋ชจ๋“  ๊ฐœ๋žต์  ์„ค๊ณ„๋ฅผ ๋‘๋Š”๊ฑด์‹ค์ œ ์‹œ์Šคํ…œ์— ์“ฐ๊ธด ๊ณค๋ž€ํ•˜๋‹ค. ๋„ˆ๋ฌด ๋น„์‹ธ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

<๋‹จ์ถ• URL, ์›๋ž˜URL>์˜ ์ˆœ์„œ์Œ์„ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š”๊ฒƒ์ด๋‹ค. 

 

ํ•ด์‹œ ํ•จ์ˆ˜

ํ•ด์‹œ ํ•จ์ˆ˜(hash function)๋Š” ์›๋ž˜ URL์„ ๋‹จ์ถ• URL๋กœ ๋ณ€ํ™˜ํ• ๋•Œ ์“ด๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๊ณ„์‚ฐํ•˜๋Š” ๋‹จ์ถ• URL ๊ฐ’์„ hashValue๋ผ๊ณ  ํ•œ๋‹ค. 

 

ํ•ด์‹œ ๊ฐ’ ๊ธธ์ด

hashValue [0-9, a-z, A-Z] ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. 10+26+26=62๊ฐœ ๋ฌธ์ž ๊ฐœ์ˆ˜๋‹ค. ๊ธธ์ด๋Š” 62^n >= 3650์–ต(365 billion)์ธ n์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. ์ด ์‹œ์Šคํ…œ์€ 3650๊ฐœ์˜ url์„ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

-hashValue์˜ ๊ธธ์ด์™€, ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” URL๊ฐœ์ˆ˜ ์‚ฌ์ด์˜ ๊ด€๊ณ„  ์˜ˆ์‹œ๋กœ, n=7์€ 3.5์กฐ๊ฐœ URL์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 

ํ•ด์‹œ ํ•จ์ˆ˜ ๊ตฌํ˜„์— ์“ฐ์ด๋Š” ๊ธฐ์ˆ  2๊ฐ€์ง€, ํ•ด์‹œ ํ›„ ์ถฉ๋Œ ํ•ด์†Œ ๋ฐฉ๋ฒ•. ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” base-62 ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•

1. ํ•ด์‹œ ํ›„ ์ถฉ๋Œ ํ•ด์†Œ

๊ธด URl์„ ์ค„์ด๋ ค๋ฉด, ์›๋ž˜ URL์„ 7๊ธ€์ž ๋ฌธ์ž์—ด๋กœ ์ค„์ด๋Š” ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์•„๋ž˜๋Š” https://en.wikipedia.org/wiki/Systems_design์„์„ ์ถ•์•ฝํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

์ถฉ๋Œํ•˜๋ฉด, ํ•ด์‹œ ๊ฒฐ๊ณผ๊ฐ€ ์ถฉ๋Œ์ด ์•ˆ๋ฐœ์ƒํ• ๋•Œ๊นŒ์ง€, ์‚ฌ์ „์— ์ •ํ•œ ๋ฌธ์ž์—ด์„ ํ•ด์‹œ์— ๋ง๋ถ™์ธ๋‹ค.  ๋ธ”๋ฃธ ํ•„ํ„ฐ[2] ํ™•๋ฅ ๋ก ์— ๊ธฐ์ดˆํ•œ ๊ณต๊ฐ„ ํšจ์œจ์ด ์ข‹์€ ๊ธฐ์ˆ ์ด๋‹ค. 

 

2. base-62 ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•

์ง„๋ฒ• ๋ณ€ํ™˜(base conversion) ์€ URL ๋‹จ์ถ•๊ธฐ ๊ตฌํ˜„์‹œ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

 URL ๋‹จ์ถ•๊ธฐ ์ƒ์„ธ ์„ค๊ณ„

URL ๋‹จ์ถ•๊ธฐ๋Š” ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์ž„์œผ๋กœ ์ฒ˜๋ฆฌ ํ๋ฆ„์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋‹จ์ˆœํ•˜๊ณ , ๊ธฐ๋Šฅ์ ์œผ๋กœ ์–ธ์ œ๋‚˜ ๋™์ž‘ํ•ด์•ผํ•œ๋‹ค. 62์ง„๋ฒ• ๋ณ€ํ™˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์„ค๊ณ„ํ•  ๊ฒƒ์ด๋‹ค. 

๊ธด๊ฑธ ๋ฐ›๋Š”๋‹ค. 

db์— ํ•ด๋‹น url์žˆ๋Š”์ง€ ์ฒดํฌ 

db์— ์žˆ์œผ๋ฉด ํ•ด๋‹น url์— ๋Œ€ํ•œ ๋‹จ์ถ• url์„ ๋งŒ๋“ ์ ์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ db์—์„œ ๋‹จ์ถ•url์„ ๊ฐ€์ ธ์™€์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

db์— ์—†์œผ๋ฉด, ํ•ด๋‹น url์€ ์ƒˆ๋กœ ์ ‘์ˆ˜ํ•œ๊ฒƒ์œผ๋กœ ์œ ์ผํ•œ ID๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ID๋Š” db์˜ ๊ธฐ๋ณธํ‚ค๋กœ ์‚ฌ์šฉ๋œ๋‹ค. 

62์ง„๋ฒ• ๋ณ€ํ™˜์„์ ์šฉ, ID๋Š” ๋‹จ์ถ• URL๋กœ ๋งŒ๋“ ๋‹ค. 

ID, ๋‹จ์ถ• URL, ์›๋ž˜ URL๋กœ ์ƒˆ DB๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“  ํ›„ ๋‹จ์ถ• URL์„ ํด๋ผ์ด์–ธํŠธ ํ•œํ…Œ ์ „๋‹ฌํ•œ๋‹ค. 

 

์ด ID๋Š” ๋‹จ์ถ• URL์„ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉํ•  ID๋ฅผ ๋งŒ๋“ค๊ณ , ์ „์—ญ์ ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค. 

๊ณ ๋„ ๋ถ„์‚ฐ๋œ ํ™˜๊ฒฝ์—์„œ ์ด๋Ÿฐ ์ƒ์„ฑ๊ธฐ๋Š” ์–ด๋ ต์ง€๋งŒ, 7์žฅ์„ ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด๋ฉด๋œ๋‹ค. 

 

 

URL ๋ฆฌ๋””๋ ‰์…˜ ์ƒ์„ธ ์„ค๊ณ„

์“ฐ๊ธฐ๋ณด๋‹ค ์ฝ๊ธฐ๋ฅผ ๋” ์ž์ฃผ ํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋ผ <๋‹จ์ถ•URL, ์›๋ž˜URL>์˜ ์Œ์„์บ์‹œ์— ์ €์žฅํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์˜€๋‹ค.  

์‚ฌ์šฉ์ž๊ฐ€ ๋‹จ์ถ• URL์„ ํด๋ฆญํ•œ๋‹ค. 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํ•ด๋‹น ํด๋ฆญ์œผ๋กœ ๋ฐœ์ƒํ•œ ์š”์ฒญ์„ ์›น์„œ๋ฒ„์— ์ „๋‹ฌํ•œ๋‹ค.

๋‹จ์ถ• URL์ด ์ด๋ฏธ ์บ์‹œ์— ์žˆ์œผ๋ฉด ์›๋ž˜ URL์„ ๋ฐ”๋กœ ๊บผ๋‚ด์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

์บ์‹œ์— ํ•ด๋‹น URL๋‹จ์ถ•์ด ์—†์œผ๋ฉด DB์—์„œ ๊บผ๋‚ธ๋‹ค. DB์— ์—†๋‹ค๋ฉด ์ž˜๋ชป๋œ ๋‹จ์ถ• URL์„ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์ผ ๊ฒƒ์ด๋‹ค.

DB์—์„œ ๊บผ๋‚ธ URL์„ ์บ์‹œ์— ๋„ฃ์€ ํ›„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

๋งˆ๋ฌด๋ฆฌ 

  • ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜(rate limiter): ์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ์‹œ์Šคํ…œ์€ ์—„์ฒญ๋‚œ ์–‘์˜ URL ๋‹จ์ถ• ์š”์ฒญ์ด ๋ฐ€๋ ค๋“ค ๊ฒฝ์šฐ ๋ฌด๋ ฅํ™”๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ž ์žฌ์  ๋ณด์•ˆ ๊ฒฐํ•จ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜๋ฅผ ๋‘๋ฉด, IP ์ฃผ์†Œ๋ฅผ ๋น„๋กฏํ•œ ํ•„ํ„ฐ๋ง ๊ทœ์น™(filtering rule)๋“ค์„ ์ด์šฉํ•ด ์š”์ฒญ์„ ๊ฑธ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์— ๋Œ€ํ•ด์„œ๋Š” 4์žฅ์—์„œ ๋‹ค๋ฃฌ ๋ฐ” ์žˆ๋‹ค. ๊ธฐ์–ต์ด ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•˜๋‹ค๋ฉด ๋‹ค์‹œ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.
  • ์›น ์„œ๋ฒ„์˜ ๊ทœ๋ชจ ํ™•์žฅ: ๋ณธ ์„ค๊ณ„์— ํฌํ•จ๋œ ์›น ๊ณ„์ธต์€ ๋ฌด์ƒํƒœ(stateless) ๊ณ„์ธต์ด๋ฏ€๋กœ, ์›น ์„œ๋ฒ„๋ฅผ ์ž์œ ๋กœ์ด ์ฆ์„คํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ทœ๋ชจ ํ™•์žฅ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค์ค‘ํ™”ํ•˜๊ฑฐ๋‚˜ ์ƒค๋”ฉ(sharding)ํ•˜์—ฌ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ถ„์„ ์†”๋ฃจ์…˜(analytics): ์„ฑ๊ณต์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. URL ๋‹จ์ถ•๊ธฐ์— ๋ฐ์ดํ„ฐ ๋ถ„์„ ์†”๋ฃจ์…˜์„ ํ†ตํ•ฉํ•ด ๋‘๋ฉด ์–ด๋–ค ๋งํฌ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ–ˆ๋Š”์ง€, ์–ธ์ œ ์ฃผ๋กœ ํด๋ฆญํ–ˆ๋Š”์ง€ ๋“ฑ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
  • ๊ฐ€์šฉ์„ฑ, ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ, ์•ˆ์ •์„ฑ: ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์šด์˜๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ–์ถ”์–ด์•ผ ํ•  ์†์„ฑ๋“ค์ด๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” 1์žฅ์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃจ์—ˆ๋‹ค. ๊ธฐ์–ต์„ ๋˜์‚ด๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์‹œ ํ•œ๋ฒˆ ์ฝ์–ด๋ณด๋„๋ก ํ•˜์ž.

์ด๋ฒˆ ์žฅ๋„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ์นœ ์—ฌ๋Ÿฌ๋ถ„, ์ถ•ํ•˜ํ•œ๋‹ค. ๋ฉ‹์ง€๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•œ ์Šค์Šค๋กœ๋ฅผ ๋งˆ์Œ๊ป ๊ฒฉ๋ คํ•˜๋„๋ก ํ•˜์ž!

์ฐธ๊ณ ๋ฌธํ—Œ

[1] A RESTful Tutorial: https://www.restapitutorial.com/index.html

[2] Bloom filter: https://en.wikipedia.org/wiki/Bloom_filter

'๐Ÿ‘ฉโ€๐Ÿ’ปDeveloper ๐Ÿ’ก > ๐Ÿ’พBack-end๐Ÿ•Š๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฉ”์„ธ์ง€ ํ  (0) 2026.06.21
๋‰ด์Šค ํ”ผ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„  (0) 2026.06.20
๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์œ ์ผ ID ์ƒ์„ฑ๊ธฐ ์„ค๊ณ„  (0) 2026.06.20
์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์˜ ์„ค๊ณ„  (0) 2026.06.20
๐Ÿ“š ์‹œ์Šคํ…œ ๋””์ž์ธ & AI ํŒŒ์ดํ”„๋ผ์ธ ํ•™์Šต ์ง„๋„ํ‘œ  (0) 2026.06.20
'๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿ’พBack-end๐Ÿ•Š๏ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฉ”์„ธ์ง€ ํ
  • ๋‰ด์Šค ํ”ผ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„
  • ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์œ ์ผ ID ์ƒ์„ฑ๊ธฐ ์„ค๊ณ„
  • ์ฒ˜๋ฆฌ์œจ ์ œํ•œ ์žฅ์น˜์˜ ์„ค๊ณ„
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
Quantitative Research Engineer & Quantitative Strategist | Multimodal Alpha (Price/News/On-chain) | Regime-aware, Cost-included Backtests | Remote-first ์—ฐ๋ฆฌ์˜ ๋‚œ ๋จธ๋‹ˆ๐Ÿ’ฐ๊ฐ€ ์ข‹์•„๐Ÿ’™๐Ÿฅณ ์ถฉ๋งŒํ•˜๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ์ฆ๊ฒ๊ฒŒ ๐Ÿถ ๐Ÿฆซ ๐Ÿ’›
  • Eliana Lee
    Product & AI Engineer
    AboutMe ๋ชฉํ‘œ GitHub _yeonlee___ Eliana_Eden
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿค ๐Ÿ˜Ž ์•ˆ๋…•โ˜ƒ๏ธ๐Ÿ’ž (125)
      • ๐Ÿ’™ ๐Ÿค Diary๐Ÿฐ ๐ŸŽ€ ๐Ÿงธ (37)
        • ๐Ÿ—ฝ๋ฏธ๊ตญ DS & CS ๋ฐ•์‚ฌ ์ด๋ฏผ๐Ÿ‹ (26)
        • ๐Ÿ›ซ์—ฌํ–‰ ์ด์•ผ๊ธฐ (1)
        • ๐Ÿ“’์˜ค๋Š˜ ์ด์•ผ๊ธฐ๐Ÿ’’๐Ÿซง๐ŸŒค๏ธ (6)
        • ๐Ÿฐโ˜˜๏ธ๐Ÿป‍โ„๏ธ๊ฐ•์•„์ง€ ์œก์•„ (0)
      • ๐ŸฌActuary๐Ÿคธ‍โ™€๏ธโœจ (1)
      • ๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก (65)
        • โš’๏ธ์‚ฝ์งˆ ๊ธฐ๋ก๊ธฐ๐Ÿ“[TIL] (6)
        • ๐Ÿ–ผ๏ธFront-end๐ŸŽจ (3)
        • ๐Ÿ’พBack-end๐Ÿ•Š๏ธ (29)
        • ๐Ÿคน‍โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ (9)
        • ๐Ÿ—ปData๐Ÿ”๏ธ (1)
        • ๐Ÿ“Project๐Ÿ• (9)
      • ๐Ÿ’ฐ๊ฒฝ์ œ์  ์ž์œ  ๋‹ฌ์„ฑโœŒ๏ธ๐ŸคŸ (9)
        • ๐Ÿ“ŠQuant๐Ÿ“ˆ๐Ÿ‘ (5)
        • ๐Ÿฐ๐Ÿ›’๐Ÿฅ‡ (1)
        • ๐Ÿ’Ž ํˆฌ์ž ์‹ค์ „ ๊ฒฝํ—˜ โ˜บ๏ธ (1)
        • ๐Ÿ… Bitcoin 15๊ฐœ ๋ชจ์œผ๊ธฐ : 2040๋…„ 200์–ต+ (0)
        • ๐ŸŒŽ๋ฏธ๊ตญ ์‹œ์žฅ๐Ÿฆ (0)
      • ๐ŸŒค๏ธCloud๐ŸŒค๏ธโ˜๏ธ (2)
        • AWS (1)
        • Kubernetes (0)
        • Google Cloud Professional (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • git
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๊ฐ€์„ํ•™๊ธฐ
    ์‹œ์นด๊ณ ๋Œ€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์‹œ์นด๊ณ ๋Œ€ํ•™๊ต
    ์‹œ์นด๊ณ 
    Java
    AWS
    ๋ฏธ๊ตญ๋น„์ž
    ๋ฏธ๊ตญ์œ ํ•™
    CS
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
URL ๋‹จ์ถ•๊ธฐ ์„ค๊ณ„
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”