Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
System Design
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
정한빈
March 08, 2024
58
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
System Design
요구사항 파악, 개략적인 규모 측정
결제 서비스 설계
광고 도메인 분산시스템 설계
정한빈
March 08, 2024
More Decks by 정한빈
See All by 정한빈
Elasticsearch 구조 및 검색기능 기획 시 고려 사항
hanbin
0
42
Evolutionary Architecture
hanbin
0
29
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Test your architecture with Archunit
thirion
2
2.4k
Building the Perfect Custom Keyboard
takai
2
890
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
Everyday Curiosity
cassininazir
0
350
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
920
Skip the Path - Find Your Career Trail
mkilby
1
240
Thoughts on Productivity
jonyablonski
76
5.4k
Scaling GitHub
holman
464
140k
Transcript
System Design ೠ࠼ / ֢ҙৠ
ޙ
য٣ࢲࠗఠ ࢸ҅ೡ х উ֎ ۧѱө য۵ѱ ٜ݅যঠ غա? ޙ
ղо ࢸ҅ೠ ҳઑо ݏח ҳઑੋо? য٣ࢲࠗఠ ࢸ҅ೡ х উ֎ ۧѱө
য۵ѱ ٜ݅যঠ غա? ޙ
ղо ࢸ҅ೠ ҳઑо ݏח ҳઑੋо? ৵ ೦࢚ ߓನ೧ঠ ఠ? য٣ࢲࠗఠ
ࢸ҅ೡ х উ֎ যڌѱ ࢸٙೞ? ۧѱө য۵ѱ ٜ݅যঠ غա? ޙ
• “ղ ࢸ҅о ݏח ࢸ҅ੋо?” ী झझ۽ ޙೡ ࣻ ѱ
ؽ যт ࣻ ח Ѫ
• “ղ ࢸ҅о ݏח ࢸ҅ੋо?” ী झझ۽ ޙೡ ࣻ ѱ
ؽ • ӔѢח Ѿਸ ೡࣻѱ ؽ যт ࣻ ח Ѫ
System Design
ݾର • ਃҳࢎ೦ ঈ, ѐۚੋ ӏݽ ஏ • Ѿઁ ࢲ࠺झ
ࢸ҅ • ҟҊ بݫੋ ࠙दझమ ࢸ҅ (ҙৠ)
ਃҳࢎ೦ ঈ
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦
ӝמ ਃҳࢎ೦ A.بݫੋী ٮۄ ܴ ࠺ӝמ ਃҳࢎ೦ A.ೞܖী ݻѐ স(Ѿઁ,
ױࣽਃ)ਸ ܻೡ ࣻ যঠ ೞחо? B.ࠁউ ਃೠо? C.উࢿ ਃೠо? D.ࣘبо ਃೠо? E. ਊо әૐೞח दр חо?
ѐۚੋ ӏݽ ஏ
ੌױ ইחѱ ݆ইঠ ೣ
• RDB vs NoSQL • ScaleUp vs ScaleOut • ۽٘ߖ۠ࢲ
• DB ച • ࢥ٬ • நद • MQ • Stateless • ݽ֥ܻझ vs MSA • …
• RDB vs NoSQL • ScaleUp vs ScaleOut • ۽٘ߖ۠ࢲ
• DB ച • ࢥ٬ • நद • MQ • Stateless • ݽ֥ܻझ vs MSA • … Ѩ࢝೧ࠁݶ ঌࣻ
ࣗాೡٸ ӏݽ ஏ য۰
2 ઁғ ࣻ
ো ч
ো ч
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ.
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ. ୶ ↟ੌр מز ࢎਊ(Daily Active User, DAU) = 3র x 50% = 1.5র(150milion) ↟QPS = 1.5র X 2 ਪ / 24दр /3600ୡ = ড 3500 ↟୭ QPS(Peek QPS) = 2 x QPS = ড 7000 QPS(Query Per Second) ୶
о ↟ਘр מز ࢎਊ(monthly active user)ח 3র(300milion) ݺ. ↟50% ࢎਊо
ਤఠܳ ݒੌ ࢎਊೠ. ↟ಣӐਵ۽ п ࢎਊח ݒੌ 2Ѥ ਪਸ ৢܽ. ↟٣যܳ ನೣೞח ਪ 10% ب. ↟ؘఠח 5֙р ࠁҙػ. ୶ ↟ੌр מز ࢎਊ(Daily Active User, DAU) = 3র x 50% = 1.5র(150milion) ↟QPS = 1.5র X 2 ਪ / 24दр /3600ୡ = ড 3500 ↟୭ QPS(Peek QPS) = 2 x QPS = ড 7000 QPS(Query Per Second) ୶ ࣗ୶ ↟ಣӐਪӝ ↟UXFFU@JEী߄ ↟ఫझী߄ ↟٣যী.# ↟٣যࣗਃҳরYYY.#5#ੌ ↟֙р٣যܳࠁҙೞӝਤೠࣗਃҳ5#99ড1#
nѐ rowо ऺੋ DBীࢲ btree ੋؙझ۽ ઑഥೞח োदр : ?
Ѿઁ ࢲ࠺झ ࢸ҅
Ѿઁ ࢲ࠺झܳ ٜ݅য
1. ޙઁ(ਃҳࢎ೦) 2. ѐۚੋ ࢸ҅ 3. ࢚ࣁ ࢸ҅ 4.
Ӓ ৻ Ҋ۰ೡ
ޙઁ A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? B.
٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? C. ٘ ؘఠܳ ೧ঠ ೞաਃ? D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? F. ӝ Ѿઁ ӝח যڌѱ غաਃ?
ޙઁ A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо
ৢܽ ъܳ ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳
A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо ৢܽ ъܳ
ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. Ҋоਊࢿ : ೞܖ 100݅Ѥ ے࣌ਸ ܻ оמ೧ঠ ೣ 3. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ
A. যڃ Ѿઁ दझమਸ ٜ݅যঠ ೞաਃ? -> ъࢎо ৢܽ ъܳ
ࢎח ࢲ࠺झ Ѿઁ दझమ B. ٘ Ѿઁܳ ܻ೧ঠ ೞաਃ? -> X, iamport, tosspayment ࢎਊ೧ঠ ೣ C. ٘ ؘఠܳ ೧ঠ ೞաਃ? -> хೠ ؘఠח ೞݶ উؽ ex) ٘ߣഐ D. ೞܖী ݻߣ Ѿઁо ܖয աਃ? -> ೞܖ 100݅Ѥ E. ӝ Ѿઁ(ҳة)ܳ ਗ೧ঠ ೞաਃ? -> O F. ӝ Ѿઁ ӝח যڌѱ غաਃ? -> ೠ׳ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. Ҋоਊࢿ : ೞܖ 100݅Ѥ ے࣌ਸ ܻ оמ೧ঠ ೣ 3. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ
ೞܖ 100݅Ѥ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 10(1,000,000 /
100,000) ѐ ے࣌ 86,400
ೞܖ 100রѤ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 11݅Ѥ(10,000,000,000 /
100,000) ѐ ے࣌
ೞܖ 100݅Ѥ ے࣌ ܻ оמ೧ঠ ೣ > ୡ 10(1,000,000 /
100,000) ѐ ے࣌ ੌ߈ੋ ؘఠ߬झীࢲ ܻ оמೣ ܻ < ഛೠ Ѿઁ
ѐۚੋ ࢸ҅ ӝמ ਃҳࢎ೦ 1. Ә ࣻन ܴ : Ҋёਵ۽ࠗఠ
Әਸ ࣻ۸ೠ 2. Ә ߊन ܴ : ౸ݒ(ъࢎ)ীѱ Әਸ ࣠Әೠ 3. ӝ Ѿઁ : ೠ׳݃ Ѿઁо ܖযઉঠ ೠ ࠺ӝמ ਃҳࢎ೦ 1. न܉ࢿ ߂ ղѾೣࢿ : Ѿઁ ܴ नೞѱ ܻ೧ঠ ೣ 2. ࢿ : ৻ࠗ ࢲ࠺झ, Ѿઁ ے࣌ р ؘఠ ੌܳ ࠁ೧ঠ ೣ 3. ܻ ࠁ Ѿઁ ے࣌ ޖѾࢿ ਃ
ѐۚੋ ࢸ҅
(ޙఋ)
࢚ࣁ ࢸ҅ A. DBח ޖਸ ॶө? B. Ѿઁ ӝ۾ਸ যڌѱ
ೡө? C. ৻ࠗ ࢲ࠺झ৬ ؘఠ ࠺ੌо ߊࢤೞݶ যڌѱ ܻೡө? D. Ѿઁ पಁח যڌѱ ܻೡө? E. Ѿઁ ো যڌѱ ܻೡө? F. ࠂ Ѿઁח যڌѱ ߑೡө?