Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
超個体的DBクエリキャッシング構想
Yuuki Tsubouchi (yuuk1)
March 22, 2019
Research
6
1.5k
超個体的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)
yuukit
4
1.4k
yuukit
1
640
yuukit
0
72
yuukit
0
1.2k
yuukit
0
860
yuukit
0
300
yuukit
5
800
yuukit
0
100
yuukit
0
48
Other Decks in Research
See All in Research
matsumoto_r
PRO
1
190
shunk031
0
760
flankerhqd
1
1.8k
scatterlab
0
1.2k
pjamshidi
0
3.5k
fukudakz
0
140
sorami
1
1.2k
ianozsvald
1
480
ysekky
3
1.3k
ksnt
0
560
ritsu2891
PRO
0
280
chokkan
1
3.5k
Featured
See All Featured
hursman
106
9.2k
holman
461
280k
tanoku
86
8.5k
scottboms
251
11k
wjessup
338
16k
michaelherold
225
8.5k
aarron
258
36k
addyosmani
1348
190k
lara
16
2.6k
lara
590
61k
davidbonilla
69
3.5k
bkeepers
52
4.1k
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า