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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
67k
Other Decks in Technology
See All in Technology
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
200
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
130
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
180
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
140
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
配列に見る bash と zsh の違い
kazzpapa3
1
140
20260204_Midosuji_Tech
takuyay0ne
1
150
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Ethics towards AI in product and experience design
skipperchong
2
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
A better future with KSS
kneath
240
18k
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