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
超個体的DBクエリキャッシング構想
Search
Yuuki Tsubouchi (yuuk1)
March 22, 2019
Research
6
2.6k
超個体的DBクエリキャッシング構想
Hosting Casual Talks #5 @さくらインターネット福岡オフィス
@yuuk1t / id:y_uuki
Yuuki Tsubouchi (yuuk1)
March 22, 2019
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
9
4.1k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1k
クラウドのテレメトリーシステム研究動向2025年
yuukit
3
1k
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
1
230
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
2k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
290
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
14k
Cloudless Computingの論文紹介
yuukit
2
570
#SRE論文紹介 Detection is Better Than Cure: A Cloud Incidents Perspective V. Ganatra et. al., ESEC/FSE’23
yuukit
3
2.2k
Other Decks in Research
See All in Research
研究テーマのデザインと研究遂行の方法論
hisashiishihara
5
1.6k
AI エージェントを活用した研究再現性の自動定量評価 / scisci2025
upura
1
140
最適化と機械学習による問題解決
mickey_kubo
0
160
数理最適化に基づく制御
mickey_kubo
6
720
経済学と機械学習:因果推論と密度比推定を中心に
masakat0
0
130
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
260
ストレス計測方法の確立に向けたマルチモーダルデータの活用
yurikomium
0
1.2k
SatCLIP: Global, General-Purpose Location Embeddings with Satellite Imagery
satai
3
260
2025年度 生成AIの使い方/接し方
hkefka385
1
770
能動適応的実験計画
masakat0
2
780
Generative Models 2025
takahashihiroshi
24
13k
「エージェントって何?」から「実際の開発現場で役立つ考え方やベストプラクティス」まで
mickey_kubo
0
140
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
It's Worth the Effort
3n
187
28k
Documentation Writing (for coders)
carmenintech
73
5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Optimizing for Happiness
mojombo
379
70k
Unsuck your backbone
ammeep
671
58k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Side Projects
sachag
455
43k
Transcript
͘͞ΒΠϯλʔωοτ גࣜձࣾ (C) Copyright 1996-2019 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτ ݚڀॴ
ݸମతDBΫΤϦΩϟογϯά ߏ 2019/03/22 ݚڀһ ௶ ༎थ Hosting Casual Talks #5 @Ԭ @yuuk1t / id:y_uuki
2 1. ΤοδίϯϐϡʔςΟϯάͱWebϗεςΟϯά 2. ݸମܕσʔληϯλʔ 3. ݸମతDBΫΤϦΩϟογϯά 4. ·ͱΊ ΞδΣϯμ
1. ΤοδίϯϐϡʔςΟϯάͱ WebϗεςΟϯά
4 ΤοδίϯϐϡʔςΟϯά ɾIoTɼεϚʔτγςΟɼԾݱ࣮ͳͲਓʑͷ ۙʹίϯϐϡʔςΟϯά͕ਁಁ ɾਓΛͨͤͣʹԠ͠ͳ͚ΕͳΒͳ͍ ɾΫϥυίϯϐϡʔςΟϯάͰɼωοτϫʔ ΫϨΠςϯγ͕େ͖͘ߴʹԠͰ͖ͳ͍ ɾΤϯυϢʔβʔͷۙʢΤοδʣʹαʔόΛ ஔͯ͠ɺཁٻΛॲཧ Cloud
Edge Edge Edge Edge ωοτϫʔΫϨΠςϯγ࠷খԽ
5 WebϗεςΟϯάͷద༻ͱ੍ ɾWordPressͷΑ͏ͳσʔλϕʔεΛͭಈతίϯςϯπ৴ͷͨΊ ͷWebΞϓϦέʔγϣϯΛରͱ͢Δ ɾΞϓϦέʔγϣϯϩδοΫΛมߋͤͣʹɼΞϓϦέʔγϣϯΛΤο δʹஔ͠ɼԠΛ্͍ͨ͠ ɾΤϯυϢʔβʔͷॴʹΑΒͣಉ͡σʔλΛฦ͞ͳ͚Ε͍͚ͳ͍ ɾ֤ΤοδͰಉҰͷσʔλΛಡΈग़͠Ͱ͖ͳ͚ΕͳΒͳ͍
6 ΤοδίϯϐϡʔςΟϯάͷ՝ Edge Cloud ɾΤοδؒͰσʔλΛڞ༗ͯ͠ಡΈॻ͖ ͍ͨ͠ ɾΞϓϦέʔγϣϯΛมߋͰ͖ͳ੍͍ ͷͨΊɼσʔλͷҰ؏ੑΛ؇ΊͮΒ͍ ɾ͋ΔΤοδ͕σʔλΛॻ͖ࠐΉͱ͖ʹ ͯ͢ͷΤοδ͕Ԡ͢Δ·Ͱಉظ
͕ͪඞཁ ɾΤοδؒͰσʔλͷҰ؏ੑΛอͱ͏ͱ ͢ΔͱɼಉظͪʹΑΓੑೳԼ Edge Edge
7 CDNʹΑΔHTTPΩϟογϡ ɾΤοδΛ༻͍ͯԠΛ্ͤ͞ΔͨΊʹɼCDNʹΑΔHTTP Ωϟογϡ͕Α͘ར༻͞ΕΔ ɾಈతίϯςϯπͷHTTPΩϟογϡͰɼ1ͭҎ্ͷDBϨίʔυ ͔Βੜͨ݁͠ՌΛΩϟογϡ͢Δ ɾੜ݁ՌͱDBϨίʔυͷରԠΞϓϦέʔγϣϯϩδοΫʹΑ Γܾ·Δ ɾϨίʔυ͕ߋ৽͞Εͨͱ͖ʹɼͦͷߋ৽͕Өڹ͢Δ෦ͷΈͷ ΩϟογϡΛߋ৽͍ͨ͠
8 WebϗεςΟϯάͷCDNద༻ͷ՝ ɾWebΞϓϦέʔγϣϯ௨ৗɼDBϨίʔυͱੜ݁ՌͷରԠؔ Λอ͍࣋ͯ͠ͳ͍͜ͱ͕ଟ͍ ɾΞϓϦέʔγϣϯΛมߋͤͣʹɼରԠؔΛߏங͢Δ͜ͱ͍͠ ɾରԠ͕ؔΘ͔Βͳ͚ΕɼඇޮͳΩϟογϯάʹͳΔ·ͨݹ ͍σʔλͷಡΈࠐΈΛڐ͢͜ͱʹͳΔ ɾߋ৽ॻ͖ࠐΈΛݕͨ͠ͱ͖ʹͯ͢ͷΩϟογϡΛഁغ͢Δ => ΩϟογϡώοτԼ
ɾTTLʹΑΔΩϟογϡഁغ => Ұ؏ੑͷԼ
2. ݸମܕσʔληϯλʔ
10 ݸମܕσʔληϯλʔ ɾਓʑͷੜ׆ʹίϯϐϡʔςΟϯά༹͕͚ࠐΜͰ͍͘ ɾΫϥυͷϚγϯύϫʔ͕͔͙͋ͨͦ͢͜ʹ͋ΔΑ͏ʹ͍ͨ͠ ɾ֤ΤοδͱΫϥυ͕༗ػతʹڠௐ͢Δ͜ͱ͕ඞཁ ɾ֤ΤοδؒͷσʔλͷҰ؏ੑΛอͪͭͭɼޮΑ͘σʔλΛಡΈॻ ͖Մೳͱ͢Δ ɾ֤ݸମಠཱͯ͠ػೳ͠ͳ͕Βɼ૯ମͱͯ͠౷͞Ε͍ͯΔΑ͏ ʹݟ͑ΔΑ͏ͳݸମతͳσʔληϯλʔΛࢦ͢
ݸମܕσʔληϯλʔ ʹͭͳ͕ΔൃΛͬͯղܾ͢Δ
3. ݸମతΫΤϦΩϟογϯά
13 ࢄڠௐΫΤϦΩϟογϡ ɾΞϓϦέʔγϣϯͷ֎ଆͷσʔλϕʔεͰΩϟογϡΛཧ͢Δ ɾΞϓϦέʔγϣϯαʔόʹଐͨ͠DBϓϩΩγʹΑΓɼDBΫΤϦ ୯ҐͰΩϟογϡ͢Δ ɾΞϓϦέʔγϣϯͱDBϓϩΩγΛΤοδʹஔ͠ɼߴԠͤ͞Δ ɾDBϓϩΩγؒͰڠௐͯ͠ɼΩϟογϡΛڞ༗͢Δ CDNͷ՝Ͱ͋ΔΞϓϦέʔγϣϯมߋඞཁੑΛղܾ
DBCache Proxy 14 DBΫΤϦΩϟογϡΞʔΩςΫνϟ DB Cloud Edge DBCache Proxy App
Web Read/Write Edge Read/Write App Web App Web Ωϟογϡڞ༗
15 దԠతΫϥελ੍ޚ Ұ؏ੑͱੑೳͷτϨʔυΦϑΛղܾ ɾ ڞ༗ΩϟογϡͷҰ؏ੑҡ࣋ͷͨΊʹɼΩϟογϡߋ৽࣌ʹશΤοδ ͷಉظΛͨͳ͚ΕͳΒͳ͍ ɾԠͷ͍ΤοδʹΑΓ͋ΔΤοδͷߋ৽ॲཧ͕ϒϩοΫ͞ΕΔ ɾෆௐͳΤοδͷॲཧΛ֎෦͔Βఀࢭͤ͞ɼΩϟογϡߋ৽ΛఘΊΔ
16 దԠతΫϥελ੍ޚͷ࣮ݱ ɾ(1) ߋ৽ॲཧΛ࣮ߦ͍ͯ͠ΔΤοδ͕ෆௐͳΤοδΛݕग़ ɾ(2) ݕग़ޙɼதԝσʔλϕʔεʹෆௐͷΤοδ͔ΒͷΫΤϦΛॲཧ͠ ͳ͍Α͏ʹୡ͢Δ ɾ(3) ࢦྩͷྃΛͬͯߋ৽ॲཧΛܧଓ͢Δ ɾதԝσʔλϕʔεͷલஈʹϓϩΩγΛஔ͠ɼΤοδ͔ΒͷΫΤϦͷ
࣮ߦՄ൱Λཧ͢Δ
DBCache Proxy 17 దԠతΫϥελ੍ޚΞʔΩςΫνϟ DB Cloud Edge DBCache Proxy App
Web Read/Write Edge Read/Write App Web App Web (1) ෆௐͳΤοδΛݕ DBCache Proxy (2) ෆௐͳΤοδͷΫΤϦΛ ࢭΊΔΑ͏ʹୡ
18 ݸମΫΤϦΩϟογϡͷߟ ɾ௨ৗͷΫϥυίϯϐϡʔςΟϯάͰར༻͢Δͱɼதԝσʔλϕʔε ͷεέʔϧΞοϓΛΒͤΔ͜ͱ͕Մೳ ɾͨͩ͠ɼదԠతΫϥελ੍ޚʹΑΓΞϓϦέʔγϣϯͱΩϟογϡ ϓϩΩγ͕શ໓͠ͳ͍Α͏ʹอূ͢Δඞཁʹ͋Δ ɾଟͷΤοδ͕͋ΔલఏͩͱɼΤοδΛఀࢭͤͯ͞ɼΫϥυʹ όΠύεՄೳ
4. ·ͱΊ
20 ·ͱΊ ɾΤοδίϯϐϡʔςΟϯάʹΑΓɼWebϗεςΟϯάͷԠੑೳΛ ্͍ͤͨ͞ ɾݸମܕσʔληϯλʔͷలΛͬͯղܾ͢Δ ɾಈతίϯςϯπͷHTTPΩϟογϡͷ՝ => DBΫΤϦΩϟογϡ ʹΑΓղܾ ɾಉظͪʹΑΔੑೳԼͷ՝
=> దԠతΫϥελ੍ޚʹΑΓղܾ ɾσʔλͷ؍ͰΫϥυͱΤοδΛ༗ػతʹ݁߹͢ΔͨΊͷୈ1า