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.4k
急成長するマルチテナント 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
123
65k
Other Decks in Technology
See All in Technology
知覚とデザイン
rinchoku
1
130
「REALITY」3Dアバターシステムの7年分の拡張の歴史について
gree_tech
PRO
0
130
Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case
tanishiking
0
170
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
旅で応援する✈️ NEWTが目指すコミュニティ支援とあたらしい旅行 / New Travel: Supporting by NEWT on Your Journey
mii3king
0
140
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
1
190
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
400
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
まだ間に合う! 2025年のhono/ssg事情
watany
2
240
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
180
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Raft: Consensus for Rubyists
vanstee
140
7.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Gamification - CAS2011
davidbonilla
81
5.5k
Making Projects Easy
brettharned
120
6.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cult of Friendly URLs
andyhume
79
6.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Practical Orchestrator
shlominoach
190
11k
Side Projects
sachag
455
43k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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