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.1k
急成長するマルチテナント 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
121
60k
Other Decks in Technology
See All in Technology
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
400
When Windows Meets Kubernetes…
pichuang
0
300
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
480
PaaSの歴史と、 アプリケーションプラットフォームのこれから
jacopen
7
1.4k
商品レコメンドでのexplicit negative feedbackの活用
alpicola
1
340
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
830
20250116_JAWS_Osaka
takuyay0ne
2
200
re:Invent 2024のふりかえり
beli68
0
110
Azureの開発で辛いところ
re3turn
0
240
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.3k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Producing Creativity
orderedlist
PRO
343
39k
GraphQLとの向き合い方2022年版
quramy
44
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
How GitHub (no longer) Works
holman
312
140k
Designing Experiences People Love
moore
139
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Code Review Best Practice
trishagee
65
17k
Statistics for Hackers
jakevdp
797
220k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
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