Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
急成長するマルチテナント SaaSの技術戦略を支えるAWS / X-Tech JAWS 2
Search
Purintai
January 25, 2018
Technology
15
4.2k
急成長するマルチテナント SaaSの技術戦略を支えるAWS / X-Tech JAWS 2
急成長するマルチテナントSaaSの技術戦略を支えるAWS
X-Tech JAWS #2 9割のX-Techと1割の優しさで切り拓く未来
SmartHR ソフトウェアエンジニア ぷりんたい
Purintai
January 25, 2018
Tweet
Share
More Decks by Purintai
See All by Purintai
つらくないマルチテナンシーを求めて: 全て見せます! SmartHR データベース移行プロジェクトの裏側 / builderscon 2018
purintai
122
61k
Other Decks in Technology
See All in Technology
深層学習と古典的画像アルゴリズムを組み合わせた類似画像検索内製化
shutotakahashi
1
260
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
1.5k
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
1
220
Culture Deck
optfit
0
480
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
490
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
900
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.6k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
600
デスクトップだけじゃないUbuntu
mtyshibata
0
560
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
67k
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
140
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
200
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Building an army of robots
kneath
303
45k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Designing Experiences People Love
moore
140
23k
Become a Pro
speakerdeck
PRO
26
5.1k
Site-Speed That Sticks
csswizardry
4
390
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Transcript
95FDI+"84dׂͷ95FDIͱׂͷ༏͠͞ͰΓ͘ະདྷd ٸ͢ΔϚϧνςφϯτ 4BB4ͷٕज़ઓུΛࢧ͑Δ"84 8FE ΓΜ͍ͨ ιϑτΣΞΤϯδχΞ
CONFIDENTIAL αʔϏε֓ཁ 4NBSU)3ͷ͝հ
CONFIDENTIAL 4NBSU)3 ਓࣄɾ࿑ͷखଓ͖ΛΧϯλϯʹ͢Δ ΫϥυܕιϑτΣΞͰ͢ɻ 4NBSU)3ͱ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔˔˔˔˔ WWW
4 Copyright © 2015 KUFU, Inc. All Rights Reserved
࿑ΞφϩάͰϝϯυ
ղͳॻྨͷࢁ
ॴʹߦ͖ͨ͘ͳ͍
CONFIDENTIAL ࣾอɾޏอॻྨΛ ࣗಈ࡞ ैۀһใΛ σʔλϕʔεԽ ࡞ͨ͠ॻྨΛ 8FC͔Βਃ ਓࣄใΛ Χϯλϯʹऩू 4NBSU)3ͱ
˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔ ˔˔˔˔ ˔˔˔˔˔˔˔˔
CONFIDENTIAL ैۀһ͕ʮ͍ʯ ɾ ʮ͍͍͑ʯͷΧϯλϯͳ࣭ʹ͑Δ͚ͩͰ ਃࠂॻྨ͕͠·͢ɻ͍͜͠ॻྨΛखॻ͖͢Δඞཁ͕ͳ͘ͳΔͷͰɺ ཧऀɺॻ͖࿙Εɾॻ͖ؒҧ͍ʹΑΔमਖ਼ίετΛେ෯ʹݮͰ͖·͢ɻ σʔλϑΝΠϧͰΤΫεϙʔτՄೳͰɺࡶͳσʔλԽ࡞ۀෆཁʹʂ εϚϗͰαΫαΫͰ͖Δʂ ϖʔύʔϨεௐ ͍͍͑
4NBSU)3ʹొ͞Ε͍ͯΔॅॴ ˟ ౦ژߓ۠ຑ දࣔ͞Ε͍ͯΔॅॴ ॅຽථॅॴͱಉ͡Ͱ͔͢ʁ ͍ ಋೖϝϦοτ
CONFIDENTIAL ಋೖاۀ༷ ͝ར༻͍͚ͨͩΔैۀһ ໊ʙ ໊ن·Ͱ
CONFIDENTIAL
݄ ࣾ ˞ ࣌ ϢʔβʔاۀɾࢢγΣΞ ܧଓར
CONFIDENTIAL αʔϏε֓ཁ αʔϏεհ͜͜·Ͱ
։ൃऀ͔Βݟͨ 4NBSU)3ͱ͍͏ΞϓϦͷಛੑ
13 େྔͷΞΫηε͖͞·ͤΜ
14 ϛογϣϯΫϦςΟΧϧͰ͋Γ·ͤΜ ʢ͍·ͷͱ͜Ζ)
15 શը໘ͷׂ͕̔ϑΥʔϜ
16 ػೳվमʹALTER TABLE
17 Ϣʔβຖʹઐ༻ͷDB
݄ ݸͷσʔλϕʔε
વɺ3%4ΠϯελϯεΛ ཱ͍ͯͯΔ༁Ͱ͋Γ·ͤΜ ɹ
ͷ3%4Πϯελϯεͷதʹ ݸͷσʔλϕʔε͕͋Γ·͢ ʢ͍ʣ
͜ͷΑ͏ͳɺಛఆͷϦιʔεΛ ෳͷ৫ ʹςφϯτ Ͱڞ༗͢Δ Α͏ͳઃܭͷ͜ͱΛ ʮϚϧνςφϯτΞʔΩςΫνϟʯ ͱݺͼ·͢ɻ
ϚϧνςφϯτͳΣϒΞϓϦέʔγϣϯͷྫ ˡɹɹϚϧνςφϯτ ϚϧνςφϯτͰͳ͍ɹɹˠ
Ϛϧνςφϯτͷઆ໌ ʢ·ͨɺϚϧνςφϯγʔʣ
̍ͭͷγεςϜΛෳͷςφϯτͰ ڞ༗͢ΔΞϓϦέʔγϣϯͷܗଶ
ςφϯτͱɺ৫ͷ୯Ґ ʢνʔϜɾاۀɾஂମͳͲʣ
ݫີͳఆٛͳ͘ᐆດͰ͕͢ɺ ݸਓతͳݟղͱͯ͠શͯͷσʔλ͕ ςφϯτʹඥ͔ͮ͘Ͳ͏͔͕ਫྮ
Θ͔Γ͘͢ݴ͏ͱ ϢʔβΛফͯ͠σʔλ͕ফ͑ͳ͍
Ϛϧνςφϯγʔͷ తͱύλʔϯ
Ϛϧνςφϯγʔͷత ϦιʔεΛڞ༗͢Δ͜ͱͰ αʔϏεͷఏڙίετΛ͑Δ͜ͱ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ ΞϓϦέʔγϣϯϨϕϧͷ ʢϚϧνςφϯτͰͳ͍ʣ ςφϯτ୯ҐͰಠཱͨ͠ ΞϓϦ%#ΠϯελϯεΛఏڙɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ ΞϓϦέʔγϣϯͷڞ༗ ΞϓϦέʔγϣϯڞ༗͢Δ͕ɺ %#Πϯελϯεಠཱ͍ͯ͠Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ %#Πϯελϯεͷڞ༗ %#Πϯελϯε্Ͱςφϯτຖʹ σʔλϕʔεΛ࡞͢Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ σʔλϕʔεͷڞ༗ ֤ςʔϒϧʹςφϯτΛࣝผ͢Δ ΧϥϜΛՃ͢Δɻଞςφϯτͱσʔ λϕʔεΛڞ༗͢Δɻ
Ҿ༻ݩ.VMUJUFOBOU4BB4EBUBCBTFUFOBODZQBUUFSOT"[VSF42-%BUBCBTFc.JDSPTPGU%PDT IUUQTEPDTNJDSPTPGUDPNFOVTB[VSFTRMEBUBCBTFTBBTUFOBODZBQQEFTJHOQBUUFSOT Ϛϧνςφϯγʔͷύλʔϯྫ γϟʔσΟϯά ςφϯτࣝผࢠΛ׆༻ͯ͠γϟʔσΟ ϯάΛߦ͏ɻऩ༰ͷཧ͕େม͚ͩ ͲݸผͷσʔλϕʔεͷαΠζখ ͘͞ͳΔɻ
ϚϧνςφϯτͷΉ͔ͣ͠͞
σʔλϕʔε͚ͩ͢ΕΑ͍ʁ
ͱΜͰͳ͍
ϚϧνςφϯτΞʔΩςΫνϟ େྔͷҙࢥܾఆ͕ඞཁ
ΞΧϯτઃܭ ɾෳͷςφϯτʹϩάΠϯͰ͖Δʁ ɾςφϯτ͕ফ͞Εͨ࣌ΞΧϯτফࣦ͢Δ ɾΞΧϯτͷઃఆςφϯτ୯ҐͰ࣋ͭʁ ɾผͷςφϯτʹϩάΠϯ͢Δ࣌࠶ೝূෆཁʁ ɾςφϯτʹඥ͔ͳ͍ΞΧϯτ࡞ΕΔʁ
63-ઃܭ ɾςφϯτͷସ͑αϒυϝΠϯͰߦ͏ʁQBUIʁ ɾςφϯτࣝผࢠมߋͰ͖Δʁ ɾ࣋ͪࠐΈͷυϝΠϯΛׂͰ͖Δʁ ɾTFTTJPODPPLJFͲͷυϝΠϯʹ༩͢Δʁ ɾಈ࡞ڥతͷϧʔςΟϯάํࣜʹରԠͯ͠Δʁ
σʔλϕʔεઃܭ ɾςφϯτͱσʔλϕʔεΛͲ͏ରԠͤ͞Δʁ ɾͲͷΑ͏ʹϚΠάϨʔγϣϯ͢Δʁ ɾͲͷΑ͏ʹόοΫΞοϓɾӡ༻͢Δʁ ɾઢܗతͳεέʔϧ͕༰қʹߦ͑Δ͔ʁ ɾকདྷతʹύλʔϯΛΓସ͑Δ࣌ʹͳ͍͔ʁ
ετϨʔδઃܭ ɾ໊લۭؒΛͲͷΑ͏ʹ֬อ͢Δʁ ɾ໊લۭؒͷ࠶ར༻ʹ͑͏Δʁ ɾΞΫηε੍ޚʁ ɾଞςφϯτͱϦιʔεΛڞ༻͢Δʁ
ΞϓϦέʔγϣϯઃܭ ɾͲͷΑ͏ʹσʔλϕʔεΛΓସ͑Δʁ ɾଞςφϯτͷσʔλݟ͑ͳ͍Α͏ʹͳ͍ͬͯΔʁ ɾσʔλϕʔε͕͞Ε͍ͯͳ͍߹ɺ ɹ҆શʹίʔυΛॻ͚Δઃܭʹͳ͍ͬͯΔʁ ɾ࣮ݱ͠Α͏ͱ͍ͯ͠Δ͜ͱ͕͗͢͠ͳ͍͔ʁ
Ϗδωεઃܭ ɾࠓޙͷࣄۀܭըʁ ɾςφϯτར༻نͲͷΑ͏ʹ૿͑Δ͔ʁ ɾͲͷΑ͏ʹΞϓϦέʔγϣϯ͕มԽ͍͔ͯ͘͠ʁ ɾϢʔεέʔεͷ૿Ճ͋Δ͔ʁ ɾͦΕӡ༻ʹΔʁ
ΞϓϦέʔγϣϯ͚ͩͰ ͳΜͱͳΒͳ͍
ϚϧνςφϯτΞʔΩςΫνϟ ෳͷΛಉ࣌ʹղ͘ඞཁ͕͋Δ
Ϛϧνςφϯτ ෯͍ࣝɾࢹ༧ɾӡ༻ྗɺ ιϑτΣΞݕূೳྗΛཁٻ͞ΕΔ ΣϒΞϓϦͷ૯߹ܳज़
ϚϧνςφϯτΞʔΩςΫνϟʹ ཱ͔ͪ͏࣌ͷ࠷ྑͷύʔτφʔʁ
ଟ͘ͷબࢶΛఏڙͯ͘͠ΕΔͷ
ٸ͢Δ4BB4ʹ͓͚Δ ΤϯδχΞͷׂͱ
͋͘·ͰϢʔβઢͰ ྑ͍ϓϩμΫτΛ࡞Γଓ͚Δ͜ͱ
Ϗδωεͷʹ ٕज़ཁҼͰϒϨʔΩΛ͔͚ͳ͍͜ͱ
৫ͷঢ়گʹԠͯ͡ ࠷దͳٕज़બΛ͍ͯ͘͜͠ͱ
Ͳ͜·Ͱݱঢ়Λ٬؍ࢹ͍ͯ͘͜͠ͱ
ϕϯνϟʔΒ͘͠ݥ͍͍͚Ͳɺ ӡ༻ʹΔ͜ͱ͕࠷݅
4NBSU)3ࣾͷঢ়گ
4NBSU)3ͷैۀһ ݄࣌
4NBSU)3ͷैۀһߏ ݄࣌
ɾΤϯδχΞશମͷ ɾٕज़ελοΫόϥόϥ ɾগਓͰӡ༻Λ͠ͳ͍ͱ͍͚ͳ͍ ɾࣗલӡ༻ͳΔ͚ͩݮΒ͍ͨ͠ʂ
4BB4Χϯύχʔͱͯ͠ͷߟ͑ํ
4NBSU)3ࣾ ۀքಛԽܕͷ4BB4Χϯύχʔ
ίΞͱͳΔՁ؍ɺ ੈͷதͷΛ͕ͨͪ࣋ͭ ΑΓྑ͍ํ๏Ͱղܾ͢Δ͜ͱ
ͦΕͳΒɺ ͨͪͷࣗͰղܾ͢ΔΑΓ ྑ͍ํ๏͕͋ΔͳΒͲΜͲΜ׆༻
"84ͷϚωʔδυαʔϏεศར
"84ͷϚωʔδυαʔϏεศར Ͱɺͨ·ʹᙱ͍ॴʹख͕ಧ͔ͳ͍
"84Ҏ֎ʹ ϚωʔδυͳαʔϏε͕͋Δ
9BB4 "OZUIJOHBTBTFSWJDF
͕ͩ9BB4ʹ ϨΠςϯγ͕ʹͳΔͷ͋Δ 1BB4%#BB44&BB4FUD
͔͠͠ɺଟ͘ͷ9BB4 "84্ʹϗεςΟϯά͕ՄೳͰ͋Δ
"84࠷ॳͷΫϥυϓϩόΠμʹ બ͞Ε͍͢ͷͰ ઌਐతͳ9BB4Λ׆༻Ͱ͖Δ
ϚωʔδυͰ͋ΔϝϦοτΛ׆͔͠ ӡ༻Λճආͯ͠ϥΫΛ͢Δ
4BB4Χϯύχʔ͔ͩΒͦ͜ ଞࣾͷ9BB4Λੵۃ׆༻͠ɺ ͓ۚΛͬͯղܾ͢Δ
ͦͯͨͪ͠ ϓϩμΫτ ސ٬ͷ՝ ʹूத͢Δ
4NBSU)3։ൃͷ՝
ݸΛ͑ ࠓͳ͓૿͑ଓ͚Δσʔλϕʔε܈Λ ͲͷΑ͏ʹεέʔϧͤ͞Δ͔
ϚΠάϨʔγϣϯ ϚΠάϨʔγϣϯʹඵςφϯτ ʹςφϯτͰ ɹฒྻͰ࣌ؒ
ΦϖϨʔγϣϯதͷτϥϒϧ ԿΒ͔ͷཧ༝Ͱதஅ͞ΕΔͱ ෮چ͕େมɺεΩʔϚࠩҟ͕ൃੜ
ࣄۀͷʹ͏ λʔήοτنͷมߋͷରԠ ໊ن͔Βສ໊نʹ
ϓϥοτϑΥʔϜԽΛݟਾ͑ͨ σʔλϞσϧ֎෦࿈ܞͷઃܭ
·ͩ·ͩΔ͜ͱࢁ͋Γ·͢ʂ
ɹɹɹɹɹ ΤϯδχΞઈࢍ࠾༻தʂ
None
ൃදऀϓϩϑΟʔϧ )/ΓΜ͍ͨ ιϑτΣΞΤϯδχΞ όοΫΤϯυ 4NBSU)3Ͱಇ͍͍ͯ·͢ 5XJUUFS!TQBDFQSP@CF (JU)VC!QVSJOUBJ