超個体的DBクエリキャッシング構想

 超個体的DBクエリキャッシング構想

Hosting Casual Talks #5 @さくらインターネット福岡オフィス
@yuuk1t / id:y_uuki

A658ec7f1badf73819dfa501165016c1?s=128

Yuuki Tsubouchi (yuuk1)

March 22, 2019
Tweet

Transcript

  1. ͘͞ΒΠϯλʔωοτ גࣜձࣾ (C) Copyright 1996-2019 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτ ݚڀॴ

    ௒ݸମతDBΫΤϦΩϟογϯά ߏ૝ 2019/03/22 ݚڀһ ௶಺ ༎थ Hosting Casual Talks #5 @෱Ԭ @yuuk1t / id:y_uuki
  2. 2 1. ΤοδίϯϐϡʔςΟϯάͱWebϗεςΟϯά 2. ௒ݸମܕσʔληϯλʔ 3. ௒ݸମతDBΫΤϦΩϟογϯά 4. ·ͱΊ ΞδΣϯμ

  3. 1. ΤοδίϯϐϡʔςΟϯάͱ WebϗεςΟϯά

  4. 4 ΤοδίϯϐϡʔςΟϯά ɾIoTɼεϚʔτγςΟɼԾ૝ݱ࣮ͳͲਓʑͷ ਎ۙʹίϯϐϡʔςΟϯά͕ਁಁ ɾਓΛ଴ͨͤͣʹԠ౴͠ͳ͚Ε͹ͳΒͳ͍ ɾΫϥ΢υίϯϐϡʔςΟϯάͰ͸ɼωοτϫʔ ΫϨΠςϯγ͕େ͖͘ߴ଎ʹԠ౴Ͱ͖ͳ͍ ɾΤϯυϢʔβʔͷۙ๣ʢΤοδʣʹαʔόΛ ഑ஔͯ͠ɺཁٻΛॲཧ Cloud

    Edge Edge Edge Edge ωοτϫʔΫϨΠςϯγ࠷খԽ
  5. 5 WebϗεςΟϯά΁ͷద༻ͱ੍໿ ɾWordPressͷΑ͏ͳσʔλϕʔεΛ΋ͭಈతίϯςϯπ഑৴ͷͨΊ ͷWebΞϓϦέʔγϣϯΛର৅ͱ͢Δ ɾΞϓϦέʔγϣϯϩδοΫΛมߋͤͣʹɼΞϓϦέʔγϣϯΛΤο δʹ഑ஔ͠ɼԠ౴଎౓Λ޲্͍ͨ͠ ɾΤϯυϢʔβʔͷ৔ॴʹΑΒͣಉ͡σʔλΛฦ͞ͳ͚Ε͹͍͚ͳ͍ ɾ֤ΤοδͰಉҰͷσʔλΛಡΈग़͠Ͱ͖ͳ͚Ε͹ͳΒͳ͍

  6. 6 ΤοδίϯϐϡʔςΟϯάͷ՝୊ Edge Cloud ɾΤοδؒͰσʔλΛڞ༗ͯ͠ಡΈॻ͖ ͍ͨ͠ ɾΞϓϦέʔγϣϯΛมߋͰ͖ͳ੍͍໿ ͷͨΊɼσʔλͷҰ؏ੑΛ؇ΊͮΒ͍ ɾ͋ΔΤοδ͕σʔλΛॻ͖ࠐΉͱ͖ʹ ͢΂ͯͷΤοδ͕Ԡ౴͢Δ·Ͱಉظ଴

    ͕ͪඞཁ ɾΤοδؒͰσʔλͷҰ؏ੑΛอͱ͏ͱ ͢Δͱɼಉظ଴ͪʹΑΓੑೳ௿Լ Edge Edge
  7. 7 CDNʹΑΔHTTPΩϟογϡ ɾΤοδΛ༻͍ͯԠ౴଎౓Λ޲্ͤ͞ΔͨΊʹɼCDNʹΑΔHTTP Ωϟογϡ͕Α͘ར༻͞ΕΔ ɾಈతίϯςϯπͷHTTPΩϟογϡͰ͸ɼ1ͭҎ্ͷDBϨίʔυ ͔Βੜ੒ͨ݁͠ՌΛΩϟογϡ͢Δ ɾੜ੒݁ՌͱDBϨίʔυͷରԠ͸ΞϓϦέʔγϣϯϩδοΫʹΑ Γܾ·Δ ɾϨίʔυ͕ߋ৽͞Εͨͱ͖ʹɼͦͷߋ৽͕Өڹ͢Δ෦෼ͷΈͷ ΩϟογϡΛߋ৽͍ͨ͠

  8. 8 WebϗεςΟϯά΁ͷCDNద༻ͷ՝୊ ɾWebΞϓϦέʔγϣϯ͸௨ৗɼDBϨίʔυͱੜ੒݁ՌͷରԠؔ܎ Λอ͍࣋ͯ͠ͳ͍͜ͱ͕ଟ͍ ɾΞϓϦέʔγϣϯΛมߋͤͣʹɼରԠؔ܎Λߏங͢Δ͜ͱ͸೉͍͠ ɾରԠؔ܎͕Θ͔Βͳ͚Ε͹ɼඇޮ཰ͳΩϟογϯάʹͳΔ·ͨ͸ݹ ͍σʔλͷಡΈࠐΈΛڐ͢͜ͱʹͳΔ ɾߋ৽ॻ͖ࠐΈΛݕ஌ͨ͠ͱ͖ʹ͢΂ͯͷΩϟογϡΛഁغ͢Δ => Ωϟογϡώοτ཰௿Լ

    ɾTTLʹΑΔΩϟογϡഁغ => Ұ؏ੑͷ௿Լ
  9. 2. ௒ݸମܕσʔληϯλʔ

  10. 10 ௒ݸମܕσʔληϯλʔ ɾਓʑͷੜ׆ʹίϯϐϡʔςΟϯά༹͕͚ࠐΜͰ͍͘ ɾΫϥ΢υͷϚγϯύϫʔ͕͔͋ͨ΋͙ͦ͢͜ʹ͋ΔΑ͏ʹ͍ͨ͠ ɾ֤ΤοδͱΫϥ΢υ͕༗ػతʹڠௐ͢Δ͜ͱ͕ඞཁ ɾ֤ΤοδؒͷσʔλͷҰ؏ੑΛอͪͭͭ΋ɼޮ཰Α͘σʔλΛಡΈॻ ͖Մೳͱ͢Δ ɾ֤ݸମ͸ಠཱͯ͠ػೳ͠ͳ͕Β΋ɼ૯ମͱͯ͠͸౷཰͞Ε͍ͯΔΑ͏ ʹݟ͑ΔΑ͏ͳ௒ݸମతͳσʔληϯλʔΛ໨ࢦ͢

  11. ௒ݸମܕσʔληϯλʔ ʹͭͳ͕Δൃ૝Λ΋ͬͯղܾ͢Δ

  12. 3. ௒ݸମతΫΤϦΩϟογϯά

  13. 13 ෼ࢄڠௐΫΤϦΩϟογϡ ɾΞϓϦέʔγϣϯͷ֎ଆͷσʔλϕʔε૚ͰΩϟογϡΛ؅ཧ͢Δ ɾΞϓϦέʔγϣϯαʔόʹ෇ଐͨ͠DBϓϩΩγʹΑΓɼDBΫΤϦ ୯ҐͰΩϟογϡ͢Δ ɾΞϓϦέʔγϣϯͱDBϓϩΩγΛΤοδʹ഑ஔ͠ɼߴ଎Ԡ౴ͤ͞Δ ɾDBϓϩΩγؒͰڠௐͯ͠ɼΩϟογϡΛڞ༗͢Δ CDNͷ՝୊Ͱ͋ΔΞϓϦέʔγϣϯมߋඞཁੑΛղܾ

  14. DBCache Proxy 14 DBΫΤϦΩϟογϡΞʔΩςΫνϟ DB Cloud Edge DBCache Proxy App

    Web Read/Write Edge Read/Write App Web App Web Ωϟογϡڞ༗
  15. 15 దԠతΫϥελ੍ޚ Ұ؏ੑͱੑೳͷτϨʔυΦϑΛղܾ ɾ ڞ༗ΩϟογϡͷҰ؏ੑҡ࣋ͷͨΊʹɼΩϟογϡߋ৽࣌ʹશΤοδ ͷಉظΛ଴ͨͳ͚Ε͹ͳΒͳ͍ ɾԠ౴ͷ஗͍ΤοδʹΑΓ͋ΔΤοδͷߋ৽ॲཧ͕ϒϩοΫ͞ΕΔ ɾෆௐͳΤοδͷॲཧΛ֎෦͔Βఀࢭͤ͞ɼΩϟογϡߋ৽ΛఘΊΔ

  16. 16 దԠతΫϥελ੍ޚͷ࣮ݱ ɾ(1) ߋ৽ॲཧΛ࣮ߦ͍ͯ͠ΔΤοδ͕ෆௐͳΤοδΛݕग़ ɾ(2) ݕग़ޙɼதԝσʔλϕʔεʹෆௐͷΤοδ͔ΒͷΫΤϦΛॲཧ͠ ͳ͍Α͏ʹ఻ୡ͢Δ ɾ(3) ࢦྩͷ׬ྃΛ଴ͬͯߋ৽ॲཧΛܧଓ͢Δ ɾதԝσʔλϕʔεͷલஈʹϓϩΩγΛ഑ஔ͠ɼΤοδ͔ΒͷΫΤϦͷ

    ࣮ߦՄ൱Λ؅ཧ͢Δ
  17. DBCache Proxy 17 దԠతΫϥελ੍ޚΞʔΩςΫνϟ DB Cloud Edge DBCache Proxy App

    Web Read/Write Edge Read/Write App Web App Web (1) ෆௐͳΤοδΛݕ஌ DBCache Proxy (2) ෆௐͳΤοδͷΫΤϦΛ ࢭΊΔΑ͏ʹ఻ୡ
  18. 18 ௒ݸମΫΤϦΩϟογϡͷߟ࡯ ɾ௨ৗͷΫϥ΢υίϯϐϡʔςΟϯάͰར༻͢Δͱɼதԝσʔλϕʔε ͷεέʔϧΞοϓΛ஗ΒͤΔ͜ͱ͕Մೳ ɾͨͩ͠ɼదԠతΫϥελ੍ޚʹΑΓΞϓϦέʔγϣϯͱΩϟογϡ ϓϩΩγ͕શ໓͠ͳ͍Α͏ʹอূ͢Δඞཁʹ͋Δ ɾଟ਺ͷΤοδ͕͋ΔલఏͩͱɼΤοδΛఀࢭͤͯ͞΋ɼΫϥ΢υʹ όΠύεՄೳ

  19. 4. ·ͱΊ

  20. 20 ·ͱΊ ɾΤοδίϯϐϡʔςΟϯάʹΑΓɼWebϗεςΟϯάͷԠ౴ੑೳΛ޲ ্͍ͤͨ͞ ɾ௒ݸମܕσʔληϯλʔ΁ͷల๬Λ΋ͬͯղܾ͢Δ ɾಈతίϯςϯπͷHTTPΩϟογϡͷ՝୊ => DBΫΤϦΩϟογϡ ʹΑΓղܾ ɾಉظ଴ͪʹΑΔੑೳ௿Լͷ՝୊

    => దԠతΫϥελ੍ޚʹΑΓղܾ ɾσʔλͷ؍఺ͰΫϥ΢υͱΤοδΛ༗ػతʹ݁߹͢ΔͨΊͷୈ1า