kuke
@kuke
Students
1,997
Reviews
217
Course Rating
4.9
์๋ ํ์ธ์.
IT ๊ธฐ์ ๊ฐ๋ฐ์๋ก ๊ทผ๋ฌดํ๋ฉฐ, ๋๊ท๋ชจ ์์คํ ์ ์งํฑํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ์ ์ ํ์ฉํด๋ณด๊ณ ์์ต๋๋ค.
์ค๋ฌด ๊ด์ ์ ๊ฐ๋ฐ ์ง์์ ๊ณต์ ํ๊ณ ์ ๊ฐ์คํ์๊ณ , ๋ง์ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
[๋ฌธ์]
Email : kukekyakya@gmail.com
Courses
Reviews
dnfg122815
ยท
Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin BoardLearning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Board- Distributed data modeling
- Learning Large-Scale System Design by Building with Spring Boot - Caching Strategies
dbrjdn20513546
ยท
Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin BoardLearning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Boarddoctortor880773
ยท
Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin BoardLearning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Board
Posts
Q&A
Split ์ ๋ต ๊ฐ์ ์ค ์ง๋ฌธ ์์ด์
SPRING๋, ์๋ ํ์ธ์! ์ด ์ด๊ฑฐ ํด๊ฒฐ ์ฒ๋ฆฌ๋์ด ์์ด์ ๋ต๋ณ์ ๋์ณค๊ตฐ์. (์ ๊ฐ ์๋ชป ๋๋ ์๋์ง..?!)์ด๋ฏธ ํด๊ฒฐ์ด ๋์ ๊ฑธ๊น์? ๋ต๋ณ ๋๋ ค๋ณด๋ฉด, Split ์ ๋ต์ ์๋์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋๋ก ํ์ฅํ๊ธฐ ์ํ ์ ๋ต์ด ์๋๋๋ค.Split ์ ๋ต์ Redis ๋จ์ผ ํค ํฌ๊ธฐ์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํจ์ด์ง,n=1000์ผ๋ก ๋ง๋ค์๋๋ฐ 2000๊ฐ๋ฅผ ๋ฃ์ผ๋ฉด, ๋น์ฐํ ๋จ์ผ BloomFilter์ ๋์ผํ๊ฒ ์ค์ฐจ์จ์ด ๊ธ๊ฒฉํ๊ฒ ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค.๋จ์ผ Bloom Filter์ 1์ต ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ํ๋ค๋ฉด,Redis ๋จ์ผ ํค์ ๋ํ ์ ์ฅ ํฌ๊ธฐ ํ๊ณ๋ก ์ธํด ์คํจํ์ง๋ง,Split ์ ๋ต์ผ๋ก ์ธํด ์ฌ๋ฌ ๊ฐ์ ํค(split)๋ก ๋ถ์ฐ ๋์ด ๊ฑฐ๋ํ Bloom Filter๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋๋ ๊ฒ์ ๋๋ค!๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ์ฌ๋ฌ ๊ฐ์ ํค๋ก Bloom Filter๊ฐ ๋ถํ ๋์ง๋ง, ๋ ผ๋ฆฌ์ ์ผ๋ก๋ 1๊ฐ์ ๊ฑฐ๋ํ Bloom Filter๋ฅผ ์ด๋ฃจ๋ ๊ฒ์ ๋๋ค.
- 0
- 2
- 51
Q&A
23๊ฐ 5:38 ๋ถ๋ถ ์ง๋ฌธ ์์ต๋๋ค!
๋ฐ๊ทธ๋ ์ง๋๊ฐ๋ฐ๋, ์๋ ํ์ธ์! ์ค๋ฉ ์์ฒด๋ฅผ ํ๋ค๊ณ ํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ์ฌ์ฉํ๋ค๋ ์๋ฏธ๊ฐ ์๋๋ผ,n์ด ์ปค์ง์๋ก 1์ ๊ธ๊ฒฉํ๊ฒ ์๋ ดํ๋ ํน์ฑ์ผ๋ก ์ธํด,๋์ฑ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ก๋ ์ถฉ๋ถํ ๋ชฉํ ์ค์ฐจ์จ์ ๋๋ฌํ ์ ์๋ค๋ ์๋ฏธ์ ๋๋ค!๋ชฉํ ์ค์ฐจ์จ์ด 0.01์ด๋ผ๋ฉด, 0.000001๊ณผ 0.000000001์ ์ฐจ์ด๋ฅผ ์ ๊ฒฝ์ธ ํ์๋ ์์ต๋๋ค.๊ทธ๋ํ๋ฅผ ์ดํด ๋ณด์๊ณ ์ด๋ฌํ ํน์ฑ์ ์ฐ์ ์ ์ผ๋ก ์ดํดํด ๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค! 320MB ์ง๋ฆฌ 1๊ฐ์ธ ๊ฒฝ์ฐ์ 32MB์ง๋ฆฌ 10๊ฐ์ธ ๊ฒฝ์ฐ์ ์ค์ฐจ์จ์ด ๋๊ฐ์ง ์๋ ํ๋ ์๊ฐ๋ง์ํ์ ๋๋ก ๋๊ฐ์ต๋๋ค!์ค์ฐจ์จ์ด ์กฐ๊ธ ์ฆ๊ฐํ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ์ธ ์ ์๋ ๊ฒ ์๋๊ฐ์?์ฆ๊ฐํ ์ค์ฐจ์จ์ ๋ฌด์๋ฏธํ ์์ค์ด๊ณ , ๋น์ผ ๋ฉ๋ชจ๋ฆฌ๋ ๋ ์ธ ์ ์๊ฒ ๋ฉ๋๋ค.
- 0
- 1
- 36
Q&A
23๊ฐ 17์ด ๋ถ๋ถ ์ง๋ฌธ์์ต๋๋ค~
๋ฐ๊ทธ๋ ์ง๋๊ฐ๋ฐ๋, ์๋ ํ์ธ์! Split ์ ๋ต์ ๊ฒฐ๊ตญ ๋ ผ๋ฆฌ์ ์ผ๋ก 1๊ฐ์ ๋ธ๋ฃธ ํํฐ๋ฅผ ์ด๋ฃจ๊ณ ์์ต๋๋ค.๋ง์ฝ K๊ฐ์ ํด์ ํจ์ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ ๋ค๋ฅธ Split ์ธ๋ฑ์ค๋ฅผ ๊ฐ๋ฆฌํจ๋ค๋ฉด, ๊ฐ Split์ ๋ชจ๋ ์กฐํํด์ผํ ์ ์์ต๋๋ค!์์๋ก 3๊ฐ์ Split์ด ์๊ณ , ๊ฐ Split์ ํฌ๊ธฐ๋ 1024๋นํธ๋ผ๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.ํด์ ํจ์์ ๊ฒฐ๊ณผ๊ฐ 0, 1, 2, 1023, 1025, ... ์ด๋ฐ ์์ผ๋ก ๋์จ๋ค๋ฉด,[0, 1, 2, 1023]์ ์ํด 1๋ฒ ์คํ๋ฆฟ ์กฐํ, [1025, ...]์ ์ํด 2๋ฒ ๋๋ 3๋ฒ ์คํ๋ฆฟ๊น์ง ์กฐํ๊ฐ ํ์ํ ์ ์์ต๋๋ค.SplitBloomFilterRedisHandler์์ add, mightContain ๋ฉ์๋๋ฅผ ๋ณด์๋ฉด,ํด์ ํจ์ ๊ฒฐ๊ณผ๋ฅผ ์ํํ๋ฉฐ findSplitIndex๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ๊ฒ ๋๋๋ฐ์,์ด ๊ฒฝ์ฐ์ ๋ชจ๋ split์ ์ ๊ทผํ ์๋ ์๋ค๋ผ๋ ์๋ฏธ๋ก ๋ฐ์๋ค์ฌ์ฃผ์๋ฉด ๋ฉ๋๋ค!
- 0
- 2
- 44
Q&A
์ง๋ฌธ์ด ์์ต๋๋ค!!
ํฌ์ค๋, ์๋ ํ์ธ์! 1. RateLimit Boundary Burst ๊ด๋ จ๋ง์ํ์ ๋๋ก ๊ฒฝ๊ณ ๊ตฌ๊ฐ์ ์ฐ๋ฌ์ ๋์ด์๋ ์๊ฐ ์์ฒญ ํธ๋ํฝ์ด ๋ชฐ๋ฆด ์ ์์ต๋๋ค.์ด ๋ถ๋ถ์ ๋จผ์ ์ ์ฑ ์ ์ธ ์ ๋ฆฌ๊ฐ ํ์ํ ๊ฒ ๊ฐ์๋ฐ์,๊ณ ์ ๋ ๊ตฌ๊ฐ์ ๋ํด N๊ฑด, ์ต๊ทผ N๊ฑด, ์ฒซ ์์ฒญ ์์ ๋ถํฐ์ N๊ฑด ๋ฑ ์ ์ฑ ์ ๋ฐ๋ผ์ ๊ตฌํ ๋ฐฉ์์ ๋ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.ํ์ฌ ๊ฐ์์์ ์ทจํ "์ฒซ ์์ฒญ ์์ ๋ถํฐ์ N๊ฑด ์ ๋ต"์ ๊ตฌํ์ด ๊ฐ๋จํ์ฌ ์ฑํํ ๋ฐฉ์์ด์ง๋ง,rate limit์ ๋ค์ํ ๊ตฌํ ๋ฐฉ์๋ณด๋จ ํ์ฉ ์ ๋ต๊ณผ ๊ตฌ๊ฐ์ ๋ํ ์ดํด๋ฅผ ์ํด ๊ตฌ์ฑํ ๊ฒ์ด ์๋์๋ ๊ฒ์ด๊ณ ์.๋ง์ฝ ๋ค๋ฅธ ์ ์ฑ ์ผ๋ก ๊ฐ์ผ ํ๋ค๋ฉด ์ค๋ฌด ๊ด์ ์์๋ ๊ตฌํ ๋ฐฉ์์ ๋ฌ๋ฆฌํ ์๋ ์์ง๋ง,๋ฐ๋์ ์ด๋ฌํ ์ ์ฑ ์ผ๋ก ๊ฐ์ผํ๋์ง๋ถํฐ ๊ณ ๋ฏผํด๋ณผ ์๋ ์๊ณ ,์๋์ฐ ๊ตฌ๊ฐ์ ๋์ฑ ์ธ๋ถํํด์ ์ด์ค/์ผ์ค์ผ๋ก ๊ด๋ฆฌํ ์๋ ์๋ ๊ฒ์ด๊ณ (์๋ฅผ ๋ค์ด, ๋ถ๋จ์ ์ ์ฑ ๊ณผ ์ด๋จ์ ์ ์ฑ ์กฐํฉ),boundary burst ๋ฌธ์ ๊ฐ ์ฐ๋ ค๋์ง ์์ ์ ๋์ ๊ฐ์ฉ๋์ ๋ฏธ๋ฆฌ ํ๋ณดํด๋๋ ๊ฒ๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ ๊ฒ ๊ฐ์ต๋๋ค. 2. Request Collapsing ๊ด๋ จRequest Collapsing์ ์ ๋ต์ผ ๋ฟ์ด์ง, ๋ฐ๋์ ๋ชจ๋ ์์ฒญ์ ๋ณํฉํ ํ์๋ ์์ต๋๋ค.์ธ์คํด์ค ์๊ฐ ๋ง์ง ์๊ฑฐ๋ ๋๋ ๋ง๋๋ผ๋ ๋ฐ์ดํฐ ์์ค๊ฐ ์ถฉ๋ถํ ํธ๋ํฝ์ ๋ฐ์ณ์ค ์ ์๋ค๋ฉด,๋ณ๋ ๋ฆฌ๋ชจํธ ์๋ฒ์ ๋ถ์ฐ๋ฝ์ ๊ตฌ์ฑํ์ฌ ์ธํ๋ผ, ๋คํธ์ํฌ ๋น์ฉ ๋ฑ์ ์ค๋ฒํค๋๋ฅผ ๋์ด๋ ๊ฒ๋ณด๋จ ๋ง์ํ์ ์ ๋ต์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ์ค์ ๋ก๋ ๊ทธ๋ ๊ฒ ๋ง์ด ๊ตฌ์ฑํ๊ณ ์๊ณ ์.๊ฐ๋ฒผ์ด ์์ฒญ์ ๊ฒฝ์ฐ ์ธ์คํด์ค ๋จ์๋ก ์ฒ๋ฆฌํด๋ ์ถฉ๋ถํ ์ ์์ผ๋,๋ฐ์ดํฐ ์์ค๊ฐ ๋ฐ๋์ 1ํ๋ง ์ฒ๋ฆฌํด์ผํ๋ ๊ฒฝ์ฐ ๋๋ ๋ฌด๊ฑฐ์ด ์์ฒญ์,์ฌ์ ํ ์ ์ฒด ์์ฒญ์ ๋ํด 1ํ๋ง ์ฒ๋ฆฌํ๋๊ฒ ์ข์์ง ๊ณ ๋ฏผํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. 3. Write Through ๋ฐฉ์์์์ ์ฅ์ ์ฒ๋ฆฌDB์๋ ์ฐ๊ธฐ ์ฑ๊ณตRedis์๋ ์ฐ๊ธฐ ์คํจ์ ์ํฉ์ ํธ๋์ญ์ ์คํจ๋ก ๋ค๋ฃจ์ด์ผํ๋์ง๋ ์์คํ ๊ณผ ๋ฐ์ดํฐ์ ๋ํ ์ ์ฑ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.์ด๋ค ๋ฐ์ดํฐ๋ ์ ํฉ์ฑ์ด ๊นจ์ ธ๋ ๋ฌธ์ ๊ฐ ์์ ์๋ ์๊ณ , ์ง์ฐ ์ฒ๋ฆฌ๋์ด๋ ๋ฌธ์ ์์ ์๋ ์๊ณ , ๋ฐ๋์ ๋์์ ์ฒ๋ฆฌ๋์ด์ผํ ์๋ ์์ต๋๋ค.๊ตฌํ์ ๋ํ ๊ณ ๋ฏผ๋ณด๋จ ์ ์ฑ ์ ์ธ ๊ณ ๋ฏผ์ด ๋จผ์ ํ์ํ ๊ฒ์ผ๋ก ๋ณด์ด๊ณ ,DB์ Redis ๊ฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํธ๋์ญ์ ํตํฉ์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์,๋ฐ๋์ ํตํฉ์์ผ์ผํ๋ค๋ฉด saga, outbox ๋ฑ์ ๋ถ์ฐ ํธ๋์ญ์ ์ ์ํ ํจํด์ ๊ณ ๋ฏผํ๊ณ ๊ตฌํ ๋ฐฉ์์ ๋ฌ๋ฆฌํด์ผ ํฉ๋๋ค.ํต์ฌ ํธ๋์ญ์ (DB ์ฐ๊ธฐ)๊น์ง ๋กค๋ฐฑํด์ผ ํ๋์ง์๋๋ฉด ์บ์๋ ๋ณด์กฐ ์ ์ฅ์๋ก ๋ณด๊ณ DB ์ฑ๊ณต์ ๊ธฐ์ค์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋์ง๋ ์ ์ฅ์ ๊ฐ ์์์ฑ์ ๋ฐ๋์ ๋ณด์ฅํด์ผ ํ๋ ์ค๊ณ์ธ์ง๊ทธ๋์ ์ ๋ฐฉ๋ฒ๋ค ๋ชจ๋ ํ์ํ ์ ์์ต๋๋ค.ํต์ฌ ํธ๋์ญ์ (DB ์ฐ๊ธฐ)๊น์ง ๋กค๋ฐฑํด์ผ ํ๋์ง ์ด ๋ถ๋ถ์ ๋ฐ์ดํฐ ์บ์ฑ์ ์คํจํ๋ค๊ณ ํด์ ์๋ณธ ๋ฐ์ดํฐ์ ๋ํ ๋น์ฆ๋์ค๊น์ง ์คํจ ์ฒ๋ฆฌํ๋๊ฑด ๋๋ถ๋ถ์ ์ํฉ์ ์ ๋งคํ ์ ์๊ฒ ๋ค์.(๋ฌผ๋ก , ๋ฐ๋์ ๋ฐ์ดํฐ๊ฐ ์ผ์น๋์ด์ผ ํ๋ค๋ฉด ํ์)์ถ๊ฐ์ ์ผ๋ก ์๋ ์ ๋ต๋ค๋ ํจ๊ป ๊ณ ๋ฏผํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.Redis ๋ณต๊ตฌ๊น์ง DB ์ ๊ทผRedis ๋ณต๊ตฌ ์๋ฃ ์์ ์คํจ ๋ก๊ทธ ๋๋ DB ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ํฉ์ฑ ๊ด๋ฆฌ์ ์ฑ ์ ๋ฐ๋ฅธ ์ ์ ํ ์ ๋ต๊ณผ ํด๊ฒฐ์ฑ ์ ๊ทธ์ ์ฐพ์์ ๊ตฌํํ๋ฉด ๋๋ค๊ณ ๋ด ๋๋ค!
- 0
- 2
- 63
Q&A
์ ๋ ฌ, ํํฐ, ๊ฒ์ ๋ฑ์ ์กฐ๊ฑด์ด ๋ถ์ ๊ฒฝ์ฐ ์ต์ ํํ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด ์์๊น์?
dltkdcksqkqh๋, ์๋ ํ์ธ์! ์ธ๋ฑ์ค์ ๋์ ์๋ฆฌ๋ฅผ ์ ํํ ์ดํดํ๊ณ ์์ผ๋ฉด, ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ต์ ํํ ์ ์์ต๋๋ค.๋ฐ๋์ ์ปค๋ฒ๋ง ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด์ผํ๋ ๊ฒ๋ ์๋๋๋ค.offset ์ค์บ์ ๋ํ ์ฐ๋ ค๊ฐ ์๋ค๋ฉด ๋จ์ผ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ ์๋ ์๋ ๊ฒ์ด๊ณ ์.์ด ๋ถ๋ถ์ ๋ค๋ฅธ ์ฟผ๋ฆฌ ๋ฐฉ์๋ ํ๋ฒ ์ง์ ๊ณ ๋ฏผํ๋ฉฐ ๋ง๋ค์ด๋ณด์ ๋ ์ข์ ๊ฒ ๊ฐ๋ค์!์๋ ์ง๋ฌธ๋ค์ ๋ํ ๋ต๋ณ์ผ๋ก ๊ถ๊ธ์ฆ๋ค์ด ์ด๋ ์ ๋ ํด์๋๊ธธ ๋ฐ๋๋๋ค. ์ ๋ ฌ๋๋ ์ปฌ๋ผ ์ ๋ถ์ ๋ํด ์ธ๋ฑ์ค๋ฅผ ๊ฑธ๋ฉด ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์์.์ธ๋ฑ์ค๋ฅผ ๊ฑธ๋ฉด ์ถ๊ฐ์ ์ธ ๊ด๋ฆฌ ๋น์ฉ์ด ์๊ธฐ๊ธฐ ๋๋ฌธ์, ๋ฐ๋์ ๋ง๋ค์ด์ผ ํ๋ ๊ฒ์ธ์ง๋ถํฐ ๊ณ ๋ฏผ์ด ํ์ํฉ๋๋ค.๋ฐ์ดํฐ ์ข ๋ฅ, ๊ท๋ชจ, ์กฐํ ํจํด ๋ฑ์ ๊ณ ๋ คํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์๋ฐ์.๋ช ๊ฐ์ง ์์๋ฅผ ๋ณด๊ฒ ์ต๋๋ค. ์ฒซ์งธ๋ก, ์ธ๋ฑ์ค range scanํ๋ฉด์ ์ด๋ ์ ๋๋ ์กฐํ ์์ ์ ํํฐ๋งํ๋ ๊ฒ๋ ์ถฉ๋ถํ ์๋ ์๋ ์ํฉ์ธ๋ฐ์.๊ฐ ๊ฒ์๊ธ์ ํด์ํ๊ทธ๋ฅผ ์ค์ ํ ์ ์๊ณ , ๋ฑ๋ก ๊ฐ๋ฅํ ์๊ฐ ์ต๋ 10๊ฐ๋ผ๊ณ ๋ง ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.ํด์ํ๊ทธ ํ ์ด๋ธ์ ๊ฐ๋จํ ์ ์ํ๋ฉด, hashtag_id(pk), article_id(fk), hashtag_name ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ์ ์์ ๊ฒ์ด๊ณ ์.๊ทธ๋ฆฌ๊ณ ๊ฒ์๊ธ์ ํน์ ํ ํด์ํ๊ทธ๋ช ์ด ์ด๋ฏธ ์์ฑ๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด,article_id + hashtag_name๋ก ์ฟผ๋ฆฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค.๊ทธ๋ฐ๋ฐ ์ด๋ฌํ ์ฟผ๋ฆฌ๋ฅผ ์ํํ๊ธฐ ์ํด์ (article_id, hashtag_name) ์ธ๋ฑ์ค๊ฐ ๋ฐ๋์ ํ์ํ ์ง ๊ณ ๋ฏผํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.์ด์ฐจํผ ์์คํ ์ ์ฝ์ผ๋ก ๊ฒ์๊ธ์ ํด์ํ๊ทธ๋ ์ต๋ 10๊ฑด์ธ ์ํฉ์ ๋๋ค.์ฆ, article_id๋ก๋ง ํํฐ๋งํด๋ 10๊ฑด ์ ๋๋ ์ ์ฒด ์ค์บ ํด์๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์ผ๋ฏ๋ก, ๊ตณ์ด hashtag_name๊น์ง ์ธ๋ฑ์ค์ ํฌํจํ์ง ์์ ์ ์๊ฒ ์ต๋๋ค. ๋, ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ง ์๊ณ ํ ์ด๋ธ ํ์ค์บํ๋ ๊ฒ์ด ์ ์ ํ ์ํฉ๋ ์์ต๋๋ค.๊ฒ์๊ธ์ ์์ฑํ ์ ์๋ ๊ฒ์ํ์ด๋ผ๋ ๊ฐ๋ ์ ์๊ฐํด๋ณด๊ฒ ์ต๋๋ค.์ด ๊ฒ์ํ์ ์์ฑ/์์ /์ญ์ ๊ฐ ์์ฒญ๋๊ฒ ์ฆ์ง๋ง(์ฐ๊ธฐ ์์ ์ด ์์ฒญ ์ฆ๋ค๋ ์์์ ๊ฒ์ํ์ด ์ ์ ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ ๋ถ๋ถ์ ์ฐจ์นํ๊ณ ๋๋ต์ ์ธ ๋งฅ๋ฝ๋ง ์ดํดํด์ฃผ์๋ฉด ๋ฉ๋๋ค!),์ด์ฐจํผ ์ฌ์ฉ์๊ฐ ์ค์ ์ ํํ๊ณ ํ์ฉํ ๋งํ ๊ฒ์ํ์ ์ต๋ ์ ์ฒ๊ฐ ๋ด์์๋ง ๊ด๋ฆฌ๋๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.์ ์ฒ๊ฐ ์์ค์์๋ ๊ทธ๋ฅ ์ ์ฒด ๋ฐ์ดํฐ์ ๋ํด ํ์ค์บ์ผ๋ก ์ฒ๋ฆฌํด๋ ์ถฉ๋ถํฉ๋๋ค.(์ค๊ฐ์ ์บ์ ๋ ์ด์ด๋ฅผ ์ค์ ํ ์๋ ์๋ ๊ฒ์ด๊ณ )๊ดํ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ฉด, ์ฐ๊ธฐ ์์ ์ด ์ฆ์ ๋ฐ์ดํฐ์ ๋ํด ๋ถ๊ฐ์ ์ธ ์ธ๋ฑ์ค ๊ด๋ฆฌ ๋น์ฉ๋ง ์ปค์ง ์ ์์ต๋๋ค. ๊ทธ๋๋ ์ฟผ๋ฆฌ ์๊ตฌ์ฌํญ์ด ๋ค์ํ๋ค๋ฉด ์ธ๋ฑ์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ถ๊ฐํผํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ธ๋ฑ์ค๋ ๊ฐ๋ ์ ์ธ ๊ฒ์ด๊ณ , ๋จ์ผํ RDB์์ ๊ฐํธํ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ง์๋ ํด์ฃผ๋ ๊ฒ์ด์ง,๊ผญ RDB์ index ๊ธฐ๋ฅ์ ํ์ฉํ ํ์๋ ์์ต๋๋ค.๋ณ๋์ ํ ์ด๋ธ ๋๋ ๋ณ๋์ DB(์์ ๋ค๋ฅธ DB๋ ๊ฐ๋ฅ)์๋ค๊ฐ ์ธ๋ฑ์ค๋ฅผ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ ,์ฟผ๋ฆฌ ์๊ตฌ์ฌํญ์ ์ํ ์๋ณ์ ์กฐํ๋ ๋ณ๋์ ์ธ๋ฑ์ค ๋ฐ์ดํฐ ๊ตฌ์กฐ(secondary index๋ฅผ ์ง์ ๋ง๋ ๋ค๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค)์์ ์กฐํ -> ์ค์ ๋ฐ์ดํฐ๋ ์๋ณธ DB์์ ์กฐํํ๋ ์ ๋ต์ ์ทจํ ์๋ ์์ต๋๋ค.์ธ๋ฑ์ค์ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์์ ์กฐ์ธํ๊ฒ ๋๋ ๊ฒ์ด๋ผ๊ณ ๋ด์ฃผ์๋ฉด ๋๋ค์.์ด๋ฌ๋ฉด, ์๋ณธ ๋ฐ์ดํฐ DB์ ์ธ๋ฑ์ค ๊ด๋ฆฌ ๋น์ฉ์ ๋ณ๋์ DB๋ก ๋ถ์ฐ์ํฌ ์ ์์ต๋๋ค.๊ด๋ จํด์๋ ์ ๊ฐ์ ์ค "๋ถ์ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง"์์๋ ๊ฐ๋ณ๊ฒ ์ธ๊ธ๋๋ ๋ถ๋ถ์ด๋ผ, ์ฐธ๊ณ ์ฐจ ๋ง์ ๋๋ ค๋ด ๋๋ค!(๊ผญ ๋ค์ ํ์๋ ์์ต๋๋ค) ๊ฒ์ %๊ฒ์์ด%์ ๊ฒฝ์ฐ์๋ ๊ฒฐ๊ตญ์ full_scan์ด์ด์ ์ฑ๋ฅ ์ต์ ํ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.์ด๊ฒ๋ ๋ง์ํ์ ๋๋ก %๊ฒ์์ด% ์ฟผ๋ฆฌ๋ ์ธ๋ฑ์ค ์ต์ ํ๊ฐ ๋ถ๊ฐํฉ๋๋ค.๋์ ์๋ฆฌ๋ฅผ ์๊ฐํ๋ฉด ๊ฒ์์ด% ์ฟผ๋ฆฌ๋ง ์ธ๋ฑ์ค ์ต์ ํ๊ฐ ๋๋ ๊ฒ์ด๊ณ ์.์ด ๋ถ๋ถ์ ํํฐ๋ง/์ ๋ ฌ ๋ฑ ๋ฐฉ์์ ์ธ๋ฑ์ฑ ๋ฐฉ์์ด ์๋๋ผ, ๊ฒ์ ์์ง์ ์ธ๋ฑ์ฑ ๋ฐฉ์์ ์ฐธ๊ณ ํด๋ณด์๋ฉด ๋ฉ๋๋ค.์ญ์ธ๋ฑ์ค(inverted index)๋ผ๋ ๋ฐฉ์์ธ๋ฐ์, "[ํค์๋ ๋ชฉ๋ก] -> ์ฐพ๊ณ ์ํ๋ ์๋ณ์"์ ๊ฐ์ ํํ๋ก ์ธ๋ฑ์ค๊ฐ ๋ง๋ค์ด์ง๋๋ค.๊ด๋ จํด์๋ ๋ฐ๋ก ํ์ตํด๋ณด์ ๋ ์ข์ ๊ฒ ๊ฐ๊ณ ,๋ณดํต ๋ณต์กํ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ณ๋์ ๊ฒ์ ์์ง์๋ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํด์ ์ ์ฉ์ผ๋ก ๊ฒ์ DB๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค์!
- 0
- 2
- 73
Q&A
์ข์์ ๊ธฐ๋ฅ ์ ํฉ์ฑ ๋ณด์ฅ ๋ฐฉ๋ฒ
๊ทผ๊ฒ๋, ์๋ ํ์ธ์! ์ผ๋จ 1์ฐจ์ ์ผ๋ก ์ฌ์ฉ์ ๋จ์์ ๋ง๋ ๊ฒ๋ถํฐ ์์์ผ ๊ฒ ๊ฐ์ต๋๋ค.์ฌ์ฉ์ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์์๋, ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๊ธฐ๊น์ง ์ค๋ณต ํด๋ฆญ/ํฐ์น(๋ฐ๋ฅ)๋ฅผ ๋ง์ผ๋ฉด, ์ ์ ์ฌ์ฉ์์ ๋ํ ์ค๋ณต ์์ฒญ์ 1์ฐจ์ ์ผ๋ก ๊ฑธ๋ฌ์ง ์ ์๊ฒ ๋ฉ๋๋ค. ๋๋, ์ด๋ฏธ ์ฑ๊ณตํ ๊ฒฐ๊ณผ์ ๋ํด์ ์ค๋ณต ์์ฒญ์ ์์ ๋ชป๋ณด๋ด๋๋ก ๋ง์ ์๋ ์๊ฒ ๋ค์. ํ์ง๋ง ๊ณต๊ฒฉ์, ๋ณ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํตํ ์์ฒญ, ๋คํธ์ํฌ ๋ฌธ์ , ์ค๋ณต ์์ฒญ์ ๋ํด ์ด๋ ค์๋ ๊ธฐ๋ฅ ๋ฑ์ผ๋ก ์ธํด ์ค๋ณต ์์ฒญ์ ๋น์ฐํ ๋ณด๋ด์ง ์ ์์ต๋๋ค.์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฅผ ๋ง์ ๋ฐฉ๋ฒ์ ํ์ํ๋ค๊ณ ์๊ฐํ ์ ์๊ณ ๋ฐฉ๋ฒ๋ค๋ ๋๋ฌด๋๋ ๋ค์ํ๊ฒ ์ง๋ง,์ฌ์ค ๊ทธ๋ ๊ฒ๊น์ง ํ์ํ์ง๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.์ง๋ฌธ ์ฃผ์ ์๋๋ ์ค๋ณต ์์ฒญ์ ๋ค๋ฃจ๊ธฐ ์ํ ์ ํฉ์ฑ ๊ด์ ๋ณด๋จ, DB๊น์ง ํธ๋ํฝ ์ ํ๋ฅผ ๋ง๊ณ ์ถ๋ค๋ ๊ด์ ์์ ์ฃผ์ ๊ฒ์ผ๋ก ์ดํดํ์ต๋๋ค.๊ทธ๋ฆฌ๊ณ ์ ์ ํ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ์ง๋ฌธ์ ์ฃผ์ จ์ง๋ง, ์คํ๋ ค ์๋ฌด๋ฐ ์กฐ์น๋ ์ทจํ์ง ์๋ ๊ฒ์ด ์ ์ ํ ์๋ ์๋ค๋ ์๊ฐ์ด ์๋ค์.๋ฌผ๋ก , ๊ณต๊ฒฉ์๋ผ๋ฉด ๋น์ฐํ ๋ง์์ผํฉ๋๋ค. ํ์ง๋ง ์ด๊ฑด ์ค๋ณต ์์ฒญ์ ๋ํ ๋ฐฉ์ง์ฑ ์ด๋ผ๊ธฐ ๋ณด๋จ, ๊ณต๊ฒฉ์ ์์ฒด๋ฅผ ์ฐจ๋จํด์ผํ๋ ๋ฌธ์ ๋ผ์ ์ฌ์ค ๋ค๋ฅธ ๋ฌธ์ ๋ก ๋ณด์ ๋๋ค.์ด๋ฏธ ์ด๋ ค์๋ ๊ธฐ๋ฅ ๋๋ ์ ์์ ์ธ ์ฌ์ฉ์ ๋๋ ์ผ์์ ์ผ๋ก ๋ฐ์ํ๋ ๋คํธ์ํฌ ์๋จ ๋ฑ์ผ๋ก ์ธํด์ ๋ง์์ฃผ์ ์ํฉ์ด ์ผ๋ง๋ ๋ง์ด ๋ฐ์ํ ๊น์?DB๊น์ง ์ค๋ณต ์์ฒญ์ ๋ํ ํธ๋ํฝ์ด ์ ํ๋๋ค๊ณ ํ๋๋ผ๋, ์ด๋ฌํ ํธ๋ํฝ์ด ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋ ์์ค์ด ๋๋ค๋ฉด, ์คํ๋ ค ์์คํ ์ ์ฑ ๊ณผ DB ์คํ์ ๋ํด์ ๋ค์ ๊ฒํ ๊ฐ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค.๊ตณ์ด ๋ง๋ค๊ณ ์ ํ๋ค๋ฉด ๋ฌด์ํ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ ํ ์ํ๋ฅผ ๊ด๋ฆฌํด์ผ ํ ํ ๋ฐ, ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฅผ ์ํ ์์คํ ์ ๊ตฌ์ถํ๋ ๊ฒ์ ์คํ๋ ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ด๋ ต๊ณ ๋ญ๋น์ผ ์๋ ์์ ๊ฒ ๊ฐ๋ค์. ๊ทธ๋ ๋ค๊ณ ๋ณ๋ ๋ฆฌ๋ชจํธ ์์คํ ์ ๊ตฌ์ถํ์๋ ์ด๊ฒ๋ ๋ฆฌ๋ชจํธ ์์คํ ์ ๊ด๋ฆฌ ๋น์ฉ์ ๋์ด๋๊ฒ ๋ฉ๋๋ค.๋ก์ปฌ ๋ฉ๋ชจ๋ฆฌ์ ์ค๋ณต์ ๊ด๋ฆฌํ๋ , ๋ฆฌ๋ชจํธ ์ ์ฅ์์ ์ค๋ณต์ ๊ด๋ฆฌํ๋ , ์ค๋ณต์ ๋ํ ์ํ๊ฐ ์ ์ฅ๋๊ธฐ๊น์ง ์ค๋ณต ์์ฒญ์ ์ฌ์ ํ ์์ ์ ์์ผ๋, ๊ฒฐ๊ตญ์ ์์ ์ผ๋ก ๋์๊ฐ๋ ์ ์ ๋๋ค.exists -> insert ์ ๋์์ฑ ๋ฌธ์ ๋ ์ฐฐ๋์ผ ์ ์๊ณ ๋๋ถ๋ถ์ ์ ์ ์์ฒญ์์๋ exists์์ ๋งํ๊ฒ ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ฏ๋ก,์ด๊ฒ ์์ฒด๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ทจํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ ์ ํ ๋ฐฉ๋ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค. ์ ๊ฐ ์ง๋ฌธ์ ๋ํ ์๋์ ์ํฉ์ ๋ชจ๋ ์ ๋๋ก ์ดํดํ๊ณ ๋ต๋ณ๋๋ฆฐ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.ํน์ ๋ ๊ถ๊ธํ ์ ์์ผ์๋ฉด ํธํ ๋จ๊ฒจ์ฃผ์ธ์!๋ชจ๋ ์ํฉ์ ๊ฐ์ ํ๋ค๋ณด๋ฉด ๋๋ ์์ด์ง ์ ์์ด์, ์ข์์๋ผ๋ ๋๋ฉ์ธ๊ณผ ์ง๊ธ ์์คํ ๋์ ๋ฐฉ์ ๋ด์์ ์ด๋ ์ ๋ ์ ์ ๊ทธ์ ๋ถ๋ถ๋ ์๋๋ฐ์, ์ ๋ฌธ์ ๋ก ์๊ฐํ๋์ง ๊ตฌ์ฒด์ ์ธ ์์๋ฅผ ๊ณ ๋ฏผํด ์ฃผ์ ๋ ์ข์ ๊ฒ ๊ฐ๋ค์!
- 0
- 2
- 73
Q&A
์ข์์ ๋์์ฑ์ฒ๋ฆฌ ์ต์ ์ ์ ํ?
์ตธ์๋, ์๋ ํ์ธ์! 1.๊ฐ์์์๋ ๋น๊ด์ ๋ฝ๊ณผ ๋๊ด์ ๋ฝ์ ๋ค๋ฃจ์ จ๋๋ฐ, ์ผ๋ฐ์ ์ผ๋ก ๋๊ท๋ชจ ์๋น์ค๊ฐ ์๋์ด์ ์ข์์ ์์ฒด๊ฐ ์์๊ฐ์ ๋ง์ ํธ๋ํฝ์ด ๋ชฐ๋ฆด๊ฒ๊ฐ์ง์์ ๋๊ด๋ฝ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ผ๊ฒ๊ฐ๋ค๊ณ ์๊ฐ์ด๋ญ๋๋ค.๋ง์ํ์ ๋๋ก ํธ๋ํฝ์ด ์์ฒญ ๋ชฐ๋ฆฌ์ง ์๋๋ค๋ฉด ๋๊ด์ ๋ฝ์ผ๋ก๋ ์ถฉ๋ถํ ์ ์์ต๋๋ค. ๋ค๋ง, ๋๊ด์ ๋ฝ ํน์ฑ ์ ์ ์ ์ฌ์ฉ์๋ ๋์ ์์ฒญ ์์ ์คํจ ์๋ต์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก, ์ฌ์ฉ์ฑ๊ณผ ์์คํ ์ ๋ขฐ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ๊ฐ๋จํ๊ฒ ์ฌ์ฒ๋ฆฌ 1~2ํ ์ ๋๋ง ๋ฃ์ด์ค๋ ์คํจํ ํ๋ฅ ์ ๋ํญ ์ค์ผ ์ ์๊ฒ ๋๋ค์. ๊ทผ๋ฐ ๋ ๋ค์ ์๊ฐํด๋ณด๋ฉด, ์ด์ฐจํผ ํธ๋ํฝ์ด ์ ๋ค๋ฉด ๋น๊ด์ ๋ฝ์ผ๋ก๋ ์ถฉ๋ถํ ์ ์๋ ๊ฒ์ด๊ณ ์. ๊ตณ์ด ๋๊ด์ ๋ฝ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์คํจ ์ํฉ์ ๋ง๋ค์ด์ค ํ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค!๊ทธ๋๋ ๊ทน๋จ์ ์ธ ์ํฉ์ ๋๋นํด์, ๋ค์์ ๋์ค๋ ์กฐํ์ ์ฒ๋ฆฌ์ฒ๋ผ ๋ ๋์ค๋ก ์ข์์ ์๋ฅผ ์ฆ๊ฐ์ํค๊ณ ์ค์ผ์ค๋ง๊ฐ์๊ฑธ๋ก RDB์ ๋ฐฑ์ ํ๋ ๋ฐฉ์์ ์ด๋ค๊ฐ์?์กฐํ์์ฒ๋ผ ๋ ๋์ค/RDB ๋ฐฑ์ ์ ๋ต์ ์ทจํ ์๋ ์๊ฒ ์ง๋ง, ์กฐํ์์์ ์ ์ํ ์ ๋ต์ ์ ์ค์ ๋ํด ์ด๋ ค ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ข์์๋ฅผ ์ํ RDB์ ์ข์์ ์๋ฅผ ์ํ Redis๋ ํธ๋์ญ์ ํตํฉ์ ์ง์ํ์ง ์์ต๋๋ค.๋, ๋ ๋์ค์ ์ค์ผ์ค๋ง ์์คํ ์ ์ํด์ ์์คํ ๋ฐ ๊ตฌํ ๋ณต์ก๋๋ ๋์ฑ ์ฌ๋ผ๊ฐ ์ ์๋ ๊ฒ์ด๊ณ ์. RDB๋ง์ผ๋ก ์ถฉ๋ถํ๋ค๋ฉด, ์ธํ๋ผ ๋ณต์ก๋๋ฅผ ์ฌ๋ฆฌ๋ ๊ฒ๋ณด๋ค ํ์ฌ ๊ฐ์ฉํ ์์์ ํ์ฉํ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฐ๋ฉ๋๋ค! 2.๋์์ฑ์ฒ๋ฆฌ์์ ๋น๊ด์ ๋ฝ์ผ๋ก๋ง ์ฒ๋ฆฌํด์ผ ํ๋ ์ํฉ์ด ์์๊น์? ๋ ๋์ค์ ๋ถ์ฐ ๋ฝ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ ์ธก๋ฉด์์ ๋น๊ด๋ฝ๋ณด๋ค ์ ๋ฆฌํ ๋๋ ์์ ๊ฒ ๊ฐ์๋ฐ, ์ค์ ๋ก ๋น๊ด๋ฝ์ ๋ฐ๋์ ์จ์ผ ํ๋ ์์๋ ์ฌ๋ก๊ฐ ๊ถ๊ธํฉ๋๋ค.๋ฝ์ ์ํด ๋ ๋์ค ๋ฑ์ ํ์ฉํ ์๋ ์๊ณ RDB์์ ๋ฝ์ ๋ํ ๋ถํ๋ฅผ ๊ฐ์์ํฌ ์ ์๋ค๋ ์ฅ์ ์ ์๊ฒ ์ง๋ง, ์ธํ๋ผ ๋ณต์ก๋์ ์๋ฒ ๋ฐ ์ด์ ๋น์ฉ ์ฆ๊ฐ์ ๋ํ ๋ถ๋ถ๋ ๊ณ ๋ คํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค.๋ ๋์ค๋ ๊ฒฐ๊ตญ์ ๋คํธ์ํฌ ํต์ ์ ๊ฑฐ์ณ์ ๋ฝ์ ํ๋ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์ RDB๋ก ์ฒ๋ฆฌํ๋๊ฒ ์คํ๋ ค ๋ ๋น ๋ฅธ ์ ํ์ง๊ฐ ๋ ์ ์์ต๋๋ค.๋, ๋ ๋์ค์ ์ฅ์ ๊ฐ ๋ฐ์ ์์ ๋ฝ์ด ์ ์ค๋ ์ ์๋ ๊ฒ์ด๊ณ ์. ์ด ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ์ ๋ํ ์ ํฉ์ฑ์ ๋ฐ๋์ ๋ณด์ฅํ ์ ์์ ์ ์๊ณ , ๋ ๋์ค ๋ณต๊ตฌ๊น์ง ์์ ์ฒ๋ฆฌ์ ์ง์ฐ์ด ์๊ธธ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ RDB๋ก๋ง ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ ๋ฆฌํ ๊ฒ์ผ๋ก ์๊ฐ๋๋ค์!์๋ฅผ ๋ค์ด, ๋ ๋์ค ๋ฝ ํ๋ -> ๊ฒฐ์ -> ๋ ๋์ค ์ฅ์ ๋ก ๋ฝ ์ ์ค(์ฅ์ ์์ ๋ณต๊ตฌ๊น์ง ์์ ์ง์ฐ์ํฌ ์ ์์ผ๋, ๋ ํ๋ฆฌ์นด๊ฐ ๋ง์คํฐ๋ก ์น๊ฒฉ๋์ด์ ์ฅ์ ๋ ๋ณต๊ตฌ๋์์ง๋ง ๋น๋๊ธฐ ๋ณต์ ์ง์ฐ์ผ๋ก ์ธํด ์ ์ค๋๋ ์ํฉ์ ๊ฐ์ ํ ์๋ ์๊ฒ ์) -> ์ค๋ณต๋ ์์ฒญ์ด ๋ค์ ๋ ๋์ค ๋ฝ ํ๋ -> ๊ฒฐ์ .. ์ด๋ฌํ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. 3.RDB์ ๋ ๋์ค๋ ํธ๋์ญ์ ์ด ํตํฉ๋์ง ์๊ธฐ ๋๋ฌธ์(๋ค๋ฅธ ์์คํ ์ด๊ณ , ๋ ๋์ค๋ ์ค๋น ๊ณผ์ ์๊ณ ํธ๋์ญ์ ์ง์ ์ํ๊ธฐ ๋๋ฌธ์ 2PC ์ง์ ์ํจ) @Transactional๋ก ๋ฌถ์ ํ์๋ ์๊ณ ๋ฌถ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ ๋์ค์์ ์๋ต ์ง์ฐ์ด ์๊ธด๋ค๋ฉด, ํธ๋์ญ์ ์ ๊ณ์ ์ ์ ํ๋ฉฐ ๋ ๋์ค ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๊ณ , ์ฌ๋ฌ ๋น์ทํ ์์ฒญ์ด ์ค์ฒฉ๋๋ค๋ฉด ์ปค๋ฅ์ ํ๋ ๊ณ ๊ฐ๋๊ณ , ๊ฒฐ๊ตญ DB ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๊น์ง ์ฅ์ ๊ฐ ์ ํ๋ ์ ์๋ ์ํ์ด ์์ต๋๋ค.์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ ๋์ค ์์ฒญ์ ํธ๋์ญ์ ๋ฒ์ ๋ฐ๊นฅ์ผ๋ก ๊บผ๋ด๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๊ณ ์.์ ์ค์ ๋ํด ๋ณ๋ค๋ฅธ ์ํ์ฑ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ ํ๋ค๋ฉด, ๊ผญ ํธ๋์ญ์ ์ ํตํฉ์ผ๋ก ๊ด๋ฆฌํ ํ์๋ ์์ต๋๋ค.๋๋ถ๋ถ์ ์ํฉ์๋ ์ ์ค์ด ๋ฐ์ํ์ง ์๊ณ , ๋๋ฌผ๊ฒ ๋ฐ์ํ๋ ๋ฌธ์ ์์ ๋ก๊ทธ๋ ์๋ณธ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋ณต๊ตฌํ๋ฉด ์ถฉ๋ถํ ์ ์์ต๋๋ค.์ ํฉ์ฑ์ ๋ฐ๋์ ๋ง์ถฐ์ผ ํ๋ค๋ฉด, ๊ฐ์์์ ์ ์ํ Outbox ํจํด ๋ฑ์ ํ์ฉํด์ ์ด๋ฒคํธ๋ฅผ ๋ฐํํ๊ณ ๋ ๋์ค์ ๋๊ธฐํํด์ค ์ ์์ต๋๋ค. ๋ค๋ง, ์ด ๊ฒฝ์ฐ๋ ๋น๋๊ธฐ์ ๋ํ ๊ณ ๋ ค๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์์คํ ์ ์ฑ ์ ๋ํ ๊ฒํ ๊ฐ ํ์ํ ์๋ ์์ต๋๋ค!
- 1
- 2
- 89
Q&A
ํ๋ก ํธ์๋ msa ํ๊ฒฝ api ์ฃผ์ ํตํฉ? ๊ณผ ์๋ฒ๋ผ๋ฆฌ ํต์ ๋ฐฉ์์๋ํด
์ตธ์๋, ์๋ ํ์ธ์! ์์ฆ ๋ณธ์ ์ผ๋ก ์ ์ ์ด ์์ด์ ์ง๋ฌธ์ด ์ฌ๋ผ์จ์ง๋ ๋ชจ๋ฅด๊ณ ์์๋ค์;; ์ผ๋จ ๋ต๋ณ์ด ๋ฆ์ด์ ์ฃ์กํฉ๋๋ค. ํฌํธ ๋ฒํธ๋ก ๋ถ๋ฆฌ๋์๋ค๋ ๊ฒ์ด, ๋จ์ผ ์๋ฒ์์ ์ฌ๋ฌ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ฐ๋ ์ํฉ์ ๋ง์ํ์ ๊ฒ์ผ๋ก ์ดํดํ์ต๋๋ค. ๋ง์ํ์ ๋๋ก path ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ฐํ ํ๋ ๊ฒ์ด ๋ฌด๋ํ๊ณ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ ๊ฒ ๊ฐ์ต๋๋ค! (๊ผญ nginx๊ฐ ์๋์ด๋ ๊ฒ์ดํธ์จ์ด ์ญํ ์ ํ๋ ์๋ฒ๋ฅผ ์๋ฏธํฉ๋๋ค.) ์ค๊ฐ ๊ฒ์ดํธ์จ์ด์์ ๋ณ๋ ๋๋ฉ์ธ์ ๋ฐ๊ธํด์ ๊ด๋ฆฌํ๊ณ ์๋ค๋ฉด, ๋๋ฉ์ธ ๋จ์๋ก ๋ถ๋ฆฌํ ์๋ ์๋ ๊ฒ์ด๊ณ ์.CQRS๋ ์๋ฒ ํต์ ๋ฐฉ์์ ๋ํ ๊ด์ ๋ณด๋จ, Command์ Query์ ๋ถ๋ฆฌ ๊ด์ ์์ ๋ด์ฃผ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ง์ํ์ http ํต์ ๊ณผ ์นดํ์นด ๋ฐฉ์์ ์ฐจ์ด์ ๋ํด์๋, ๋๊ธฐ์ ๋น๋๊ธฐ์ ๊ด์ ์ผ๋ก ๋ฐ๋ผ๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๊ณ ์! ํ์ฌ article-read์์๋ http์ kafka ๋ ๋ฐฉ์์ ๋ชจ๋ ์ทจํ๊ณ ์์ต๋๋ค. ์กฐํ ํธ๋ํฝ ์ ํ๋ฅผ ๋ง๊ธฐ ์ํด ๋น๋๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ๋ง๋ค์ด์ฃผ๊ณ ์์ง๋ง, ๋คํธ์ํฌ ๋๋ ์ฅ๋น ์ด์ ๋ฑ ํญ์ ์ฅ์ ์์ด ์ด์์ ์ผ๋ก ๋์ํ์ง ์๊ธฐ ๋๋ฌธ์, ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ๋๊ธฐํ ์ง์ฐ์ ๋ํ ๋๋น์ฑ ์ผ๋ก http ํต์ ์ ๋ต๋ ๊ฒธํ ์ ์๋ ๊ฒ์ ๋๋ค. ๋ ๋ฐฉ์์ ๋ชฉ์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ๊ธฐ ์ ์ฉ๋ ์ ์๋ ๊ฒ์ ๋๋ค. ๋, ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋์ ์ธ ๊ฐ๋ ์ธ๋ฐ์(๋ฌผ๋ก , ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉ์ ๊ธฐ๊ธฐ๋ฅผ ๋ง์ํ์ ๋ถ๋ถ์ ์ดํดํ๊ณ ์์ต๋๋ค). ์๋ฒ ๊ฐ ํต์ ์ด๋๋ผ๋ ์์ฒญ์ ๋ณด๋ด๋ ์ชฝ์ ํด๋ผ์ด์ธํธ, ์์ฒญ์ ๋ฐ๋ ์ชฝ์ ์๋ฒ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์ ์๋ฒ ํต์ ์ ์ํ ํ๋กํ ์ฝ์ ๋ค์ํ์ง๋ง, ๊ฐ์์์๋ http 1.1์ ํ์ฉํ ๋ฟ์ด๊ณ ์. ๋๊ธฐ์, ๋ฒ์ฉ์ , ์์ฃผ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ดํด๊ฐ ์ฝ๊ณ ๊ตฌํ์ด ๊ฐ๋จํ๋ค๋ ์ฅ์ ์ ์์ง๋ง, ๊ผญ http 1.1์ ํ์ฉํ ํ์๋ ์์ต๋๋ค. ์ฑ๋ฅ์ด๋ ๋น์ฉ ์ธก๋ฉด์์ grpc(http 2.0 ์์์ ๋์)๋ ์์ฃผ ์ฌ์ฉ๋๋ ์ ํ์ง์ ๋๋ค!
- 0
- 2
- 77
Q&A
์๋ ํ์ธ์ ๋ฌดํ์คํฌ๋กค ๊ฐ์๋ฃ๋ค๊ฐ ์ง๋ฌธ์ด ์์ต๋๋ค.
๋ํ๋, ์๋ ํ์ธ์! ์ฟผ๋ฆฌ ํ๋์์ ๋์ค๋ rows๋ ํต๊ณ์น ๊ธฐ๋ฐ์ด๊ณ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ์ค์บํ๋๊ฒ ์๋๋ฏ๋ก ๋ฌธ์ ๋ ๋ถ๋ถ์ ์์ต๋๋ค.์ค์ด๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ณ ๋ฏผํด๋ณธ ์ ์ ์๊ณ , ์ค์ฌ์ผํ๋ ์ด์ ์ ๋ํด์๋ ํฌ๊ฒ ์ ๊ฒฝ ์ธ ํ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค.ํ๋์ ์ค์ ๋ก ์ค์บํ๋๊ฒ ์๋๋ผ ๋ง ๊ทธ๋๋ก ์์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ๊ณํ์ผ๋ก ์ธ์งํ์๋ฉด ๋ฉ๋๋ค.๋ฐ๋์ ํ๋๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ํ๋๋ ๊ฒ๋ ์๋๊ณ ์.rows ์๊ฐ ๊ฐ์์ ๋ค๋ฅด๊ฒ ๋์ค๋ ๊ฒ์ ๋ํด์๋, ๊ฐ ํ๊ฒฝ์ ๋ฐ์ดํฐ ๋ถํฌ๋ ํต๊ณ์น ๊ฐฑ์ ์์ ๋ฑ์ ๋ฐ๋ผ์ ์ฐจ์ด๊ฐ ์๋ค๊ณ ๋ด์ฃผ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.์ค์ ์ฟผ๋ฆฌ๋ LIMIT๋งํผ ์ค์บํ๊ณ ์ข ๋ฃ๋ฉ๋๋ค!
- 0
- 1
- 46
Q&A
์กฐํ์ ์กฐํ ๋ก์ง ์ง๋ฌธ
์ตธ์๋, ์๋ ํ์ธ์! ๋ง์ํ์ ๋๋ก ๋ ๋์ค์ ๊ฐ์ด ์์ ๊ฒฝ์ฐ, ๋ฐฑ์ ์ฉ rdb๋ฅผ ์ถ๊ฐ๋ก ํ์ธํด๋ณผ ์๋ ์์ต๋๋ค.ํด๋น ๋ถ๋ถ์ ๊ตฌํํ๊ธฐ ๋๋ฆ์ด๊ณ ์ ๋ต์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ด์ฃผ์๋ฉด ๋ ๊ฒ ๊ฐ๋ค์.์ค์๊ฐ์ผ๋ก ๋ฐฑ์ ์ฉ rdb๋ฅผ ์กฐํํด์ ์๋์ผ๋ก ๋ณต๊ตฌ ๊ฐ๋ฅํ๋๋ก ํ๊ฑฐ๋,์ฌ๋์ด ์๋ ๊ฐ์ ํด์ ์๋์ผ๋ก ๋ณต๊ตฌ ๊ฐ๋ฅํ๋๋ก ํ๊ฑฐ๋ ๋ฑ ์ด๋ค ์ ์ฑ ์ ์ผ์์ง๋ ๊ฐ๋ฐ์์ ์ ํ์ด ๋ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.์ผ๋จ ๋ฐฑ์ ์ฉ rdb๋ ์ด๋ฆ ๊ทธ๋๋ก ๋ฐฑ์ ์ ์ํด ์ค๊ณ๋ ๊ฒ์ด๊ณ , ํ ์ค๊ณ ํน์ฑ ์ ํญ์ ๋ฐ์ดํฐ๊ฐ ๋์ผํ์ง ์์ต๋๋ค.๋ ๋์ค ์์ฒด์์ ๋ณต๊ตฌ ๊ฐ๋ฅํ ๋ฌธ์ ์ผ ์ ์๋๋ฐ, rdb๋ก ๋ชจ๋ ํธ๋ํฝ์ ์ ์ ์ํค๊ฑฐ๋ ๋ ๋์ค์ ๋ฐ์ดํฐ๋ฅผ ์์ ๋ ๋ ค๋ฒ๋ฆฌ๋๊ฒ ๋ฌธ์ ๊ฐ ๋๋ ์ ํ์ผ ์ ์์ต๋๋ค.๊ทธ๋์ ์ ์ฑ ์ ์ ํ๊ธฐ ๋๋ฆ์ธ ๊ฒ์ด๊ณ , ๋น์ทํ ๊ฐ๋ ์ผ๋ก standby์ replica ์ฐจ์ด์ ๋ํด์๋ ํ๋ฒ ๊ณ ๋ฏผํด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค์!
- 1
- 2
- 56






