$30 off During Our Annual Pro Sale. View Details »

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

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

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

Yuuki Tsubouchi (yuuk1)

March 22, 2019
Tweet

More Decks by Yuuki Tsubouchi (yuuk1)

Other Decks in Research

Transcript

  1. ͘͞ΒΠϯλʔωοτ
    גࣜձࣾ
    (C) Copyright 1996-2019 SAKURA Internet Inc
    ͘͞ΒΠϯλʔωοτ
    ݚڀॴ
    ௒ݸମతDBΫΤϦΩϟογϯά
    ߏ૝
    2019/03/22 ݚڀһ ௶಺ ༎थ
    Hosting Casual Talks #5 @෱Ԭ
    @yuuk1t / id:y_uuki

    View Slide

  2. 2
    1. ΤοδίϯϐϡʔςΟϯάͱWebϗεςΟϯά
    2. ௒ݸମܕσʔληϯλʔ
    3. ௒ݸମతDBΫΤϦΩϟογϯά
    4. ·ͱΊ
    ΞδΣϯμ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. 2.
    ௒ݸମܕσʔληϯλʔ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. DBCache
    Proxy
    14
    DBΫΤϦΩϟογϡΞʔΩςΫνϟ
    DB
    Cloud
    Edge
    DBCache
    Proxy
    App
    Web
    Read/Write
    Edge
    Read/Write
    App
    Web
    App
    Web
    Ωϟογϡڞ༗

    View Slide

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

    View Slide

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

    View Slide

  17. DBCache
    Proxy
    17
    దԠతΫϥελ੍ޚΞʔΩςΫνϟ
    DB
    Cloud
    Edge
    DBCache
    Proxy
    App
    Web
    Read/Write
    Edge
    Read/Write
    App
    Web
    App
    Web
    (1) ෆௐͳΤοδΛݕ஌ DBCache
    Proxy
    (2) ෆௐͳΤοδͷΫΤϦΛ
    ࢭΊΔΑ͏ʹ఻ୡ

    View Slide

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

    View Slide

  19. 4.
    ·ͱΊ

    View Slide

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

    View Slide