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

わたしの研究開発紹介 - 技術者から研究者へ - / Introduction to my research

わたしの研究開発紹介 - 技術者から研究者へ - / Introduction to my research

1. なぜ技術者から研究者へ転向したのか
2. 事業での実践を研究へ昇華した事例 (前職)
3. 今後の研究開発の構想 (さくらインターネット)

Yuuki Tsubouchi (yuuk1)

April 10, 2019
Tweet

More Decks by Yuuki Tsubouchi (yuuk1)

Other Decks in Research

Transcript

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

    Θͨ͠ͷݚڀ։ൃ঺հ - ٕज़ऀ͔Βݚڀऀ΁ - 2019/04/10 ݚڀһ ௶಺ ༎थ @yuuk1t / id:y_uuki
  2. 2 ࣗݾ঺հ ௶಺ ༎थ / Ώ͏͏͖ https://yuuk.io/ େࡕେֶ جૅ޻ֶ෦ ৘ใՊֶՊ

    େࡕେֶ େֶӃ৘ใՊֶݚڀՊ ɹ৘ใωοτϫʔΫֶઐ߈ ത࢜લظ՝ఔ ܦྺ גࣜձࣾ͸ͯͳ WebΦϖϨʔγϣϯΤϯδχΞɾSRE ͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ ݚڀһ ฒྻॲཧ TCP/IPελοΫ WebαʔϏεͷ ։ൃɾӡ༻ WebɾΠϯλʔωοτ ج൫ٕज़ݚڀ 5.5೥ 5೥ ݱࡏ
  3. 3 1. ͳٕͥज़ऀ͔Βݚڀऀ΁స޲ͨ͠ͷ͔ 2. ࣄۀͰͷ࣮ફΛݚڀ΁ঢ՚ͨ͠ࣄྫ (લ৬) 3. ࠓޙͷݚڀ։ൃͷߏ૝ (͘͞ΒΠϯλʔωοτ) ͓఻͍͑ͨ͜͠ͱ

    ͜ΕΒͷҰ߲໨͝ͱʹ࣭ٙͷ࣌ؒΛ͍͍ͨͩͯ ٞ࿦ϕʔεͰ͓࿩ΛਐΊ͍͚ͤͯͨͩ͞Ε͹ͱࢥ͍·͢
  4. 1. ͳٕͥज़ऀ͔Βݚڀऀ΁స޲ͨ͠ͷ͔

  5. 5 ͜͜Ͱͷٕज़ऀͱ͸ ɾΠϯλʔωοταʔϏεΛ։ൃɾӡ༻͢ΔͨΊͷٕज़Λ਎ʹ͚ͭɺ ໰୊Λղܾ͢Δਓ ɾ։ൃɾӡ༻ٕज़ͷதͰ΋ɺOSS΍Ϋϥ΢υίϯϐϡʔςΟϯάΛओ ʹར༻͍ͯ͠Δ ɾWeb্Ͱٕज़ʹؔ͢Δ৘ใΛΦʔϓϯʹڞ༗͠ɺڞ༗͞Εͨ಺༰Λ ࣗ෼ͨͪͷϓϩμΫτʹ൓ө͢ΔྲྀΕ͕͋Δ ɾձࣾͷϓϩμΫτҎ֎ʹɺࣗ਎ͷண૝Λιϑτ΢ΣΞͰ࣮ݱ͠ɺ OSSͱͯ͠ެ։͍ͯ͠Δਓͨͪ΋͍Δ

    ɾ৽ͯ͘͠༗༻ͳʮ୅දతϓϩμΫτʯͱݺ͹ΕΔ΋ͷ͕ੜ·ΕΔ
  6. 6 ࣗ਎ͷٕज़ʹର͢ΔϞνϕʔγϣϯ ɾ࡞ऀͷإ͕ݟ͑ΔΑ͏ͳ୅දతϓϩμΫτΛ࡞Γ͍ͨ ɾ୅දతϓϩμΫτΛ࡞ΔաఔͰɺ஥ؒͱٞ࿦͠ɺࢥߟ͠ͳ͕Βࣗ෼ ͷண૝Λ࣮ݱ͍ͯ͘͜͠ͱࣗମָ͕͍͠ ɾ୯ൃͷ੒ՌͰऴΘΒͣʹɺෳ਺ͷ୅දతϓϩμΫτΛҰͭྲྀΕͱ͠ ͯ๰͍ͰɺΑΓେ͖ͳ੒Ռͱͳ͍͚ͬͯ͹ɺΑΓָ͍͠͸ͣ ɾ݁Ռతʹɺ୅දతϓϩμΫτΛ࡞Γଓ͚ΒΕΔঢ়ଶͱͳΓɺָ͠͞ ΛܧଓͰ͖Δ

  7. 7 ࠷ۙͷٕज़ͷைྲྀʹର͢Δҧ࿨ײ ɾେखΫϥ΢υࣄۀऀ͕ఏڙ͢ΔϚωʔδυαʔϏε΍ɺେ͖ͳਓؾ ΛތΔج൫ιϑτ΢ΣΞ͕OSSͱͯ͠ొ৔͖ͯͨ͠ ɾ͜ΕΒΛ࢖͏͚ͩͰ໨ͷલͷ໰୊͕ղܾͯ͠͠·͍ͭͭ͋Δ ɾاۀͱͯ͠͸ɺ໰୊͕ղܾ͢ΔͷͰ͋Ε͹ͦΕͰҰݟΑͦ͞͏ͩ ͕ɺࣗ෼ͨͪͰ։ൃ͠ͳ͘ͳΓɺࣗࣾͷٕज़ͰࠩผԽͰ͖ͳ͘ͳΔ ɾݸਓͱͯ͠͸ɺ୅දతϓϩμΫτͷ։ൃ͢Δ໨ඪ͔Β͸ԕ͔ͬͯ͟ ͠·͏ ɾධՁ͕ओ؍తͳͨΊʹɺͲΜͳ৚݅Λຬͨͤ͹ɺ৽ͯ͘͠༗༻ͳ୅

    දతϓϩμΫτͱݴ͑Δͷ͔͕Θ͔Βͳ͍
  8. 8 ݚڀͷੈք΁ண໨ ɾ໨ͷલͷ໰୊͚ͩͰͳ͘ɺ਺೥ઌΛݟਾ͑ͨ໰୊ʹऔΓ૊Ή͜ͱ Ͱɺݸਓͱͯ͠ͷ୅දతϓϩμΫτͷ։ൃΛ࠶౓໨ࢦ͢ ɾ࡞Γํ͕Θ͔Βͳ͍ͨΊɺ୅දతϓϩμΫτΛҰ଍ඈͼʹ͸࡞Εͳ ͍ɻҰาҰาਐΉͨΊͷʮ٬؍తج४ʯΛઃఆ͢Δ ɾֶज़ݚڀͷੈքʹ͸ɺ͔͍͍ͬ͜ͱࢥ͑Δ٬؍తج४ͱͯ͠ɺࠪಡ ΍৹ࠪΛલఏͱͨ͠ձٞɺ࿦จࢽɺത࢜߸ͳͲ͕͋Δ ɾ͞Βʹɺֶज़࿦จࣗମʹ΋৽نੑɾ༗༻ੑͳͲͷ٬؍తج४͕͋Δ ɾ։ൃͨ͠ιϑτ΢ΣΞΛ΋ͬͯ٬؍తج४ʹ௅ઓ͠ϑΟʔυόοΫ

    Λಘͯɺ୅දతϓϩμΫτ΁޲͔͍ɺࣗ෼Λָ͍͠ঢ়ଶʹஔ͘
  9. 9 ݚڀ։ൃ࣮੷1 1.௶಺༎थ, ࣗવͷ͝ͱ͘ෳࡶԽͨ͠΢ΣϒγεςϜͷࣗ཯తӡ༻ʹ޲͚ͯ, ਓ޻஌ೳֶձ ߹ಉݚڀձ ୈ3ճ΢Σϒ αΠΤϯεݚڀձ(ট଴ߨԋ), 2017೥11݄24೔ 2.௶಺༎थ,

    ߴ౓ʹൃୡͨ͠γεςϜͷҟৗ͸ਆͷౖΓͱݟ෼͚͕͔ͭͳ͍, IPSJ-ONE 2017, 2017೥03݄18೔ 3.௶಺༎थ, αʔόϞχλϦϯά޲͚࣌ܥྻσʔλϕʔεͷ୳ڀ, ୈ9ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ (IOTS2016)(ট଴ߨԋ), 2016೥12݄01೔ ɾࠪಡ෇͖࿦จ(ࠃ಺) ɾߨԋ(ࠃ಺) 1.௶಺༎थ, ࿬ࡔேਓ, ᖛా݈, দ໦խ޾, Ѩ෦ത, দຊ྄հ, “HeteroTSDB: ҟछࠞ߹ΩʔόϦϡʔετΞΛ༻͍ͨࣗಈ ֊૚ԽͷͨΊͷ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ”, Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ࿦จू, 2018, 7-15 (2018-11-29), 2018೥12݄. ɾࠃࡍձٞ࿦จ 1.Yuuki Tsubouchi, Asato Wakisaka, Ken Hamada, Masayuki Matsuki, Hiroshi Abe, Ryosuke Matsumoto, “HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on Heterogeneous Key-Value Stores”, Proceedings of The 43rd Annual International Computers, Software & Applications Conference (COMPSAC), July 2019. (to apper)
  10. 10 ݚڀ։ൃ࣮੷2 ɾॻ੶ɾࡶࢽ 1.Ҫ্େี,പ୩େี,ਿࢁ޿௨,ాத৻࢘,௶಺༎थ,দ໦խ޾, Mackerel αʔό؂ࢹʦ࣮ફʧೖ໳, ٕज़ධ࿦ࣾ, 2017೥8 ݄26೔ 2.௶಺༎थ,

    MackerelͰ͸͡ΊΔαʔό؅ཧ ୈ17ճ ϩʔϧฤ੒ͷߟ͑ํ, Software Design 2016೥7݄߸, ٕज़ධ࿦ࣾ, 2016೥6݄18೔ 3.௶಺༎थ, MackerelͰ͸͡ΊΔαʔό؅ཧ ୈ13ճ MackerelͱServerspecΛ૊Έ߹ΘͤͨΠϯϑϥςετ, Software Design 2016೥3݄߸, ٕज़ධ࿦ࣾ, 2016೥2݄18೔ 4.௶಺༎थ, MackerelͰ͸͡ΊΔαʔό؅ཧ ୈ9ճ MackerelͷΞʔΩςΫνϟΛ஌Δ, Software Design 2015೥11݄߸, ٕज़ධ࿦ࣾ, 2015೥10݄17೔ 5.௶಺༎थ, Perl Hackers Hub ୈ34ճ DockerʹΑΔPerlͷWebΞϓϦέʔγϣϯ։ൃ, WEB+DB PRESS Vol.88, ٕज़ ධ࿦ࣾ, 2015೥8݄24೔ 6.௶಺༎थ, MackerelͰ͸͡ΊΔαʔό؅ཧ ୈ6ճ Mackerelपลͷӡ༻πʔϧͱAWS࿈ܞϊ΢ϋ΢, Software Design 2015೥8݄߸, ٕज़ධ࿦ࣾ, 2015೥7݄18೔ 7.௶಺༎थ, MackerelͰ͸͡ΊΔαʔό؅ཧ ୈ3ճ ӡ༻͠ͳ͕ΒҭͯΔαʔό؂ࢹͷϧʔϧ, Software Design 2015೥5 ݄߸, ٕज़ධ࿦ࣾ, 2015೥4݄18೔
  11. 11 ത࢜՝ఔ΁ͷؔ৺ ɾτοϓΧϯϑΝϨϯε(COMPSAC)ʹࠪಡΛ௨ͤͨ͜ͱ΋͋Γɺ୅ දతϓϩμΫτΛ࡞Εͨ͜ͱΛ٬؍తʹࣔ͢͜ͱ͕Ͱ͖ͭͭ͋Δ ɾ͔͠͠ɺ࣍ͷண૝͔Β୅දతϓϩμΫτΛ࡞Εͨͱͯ͠ɺҰͭͷε τʔϦʔʹ݁߹͢Δʹ͸ɺͦΕ·Ͱͱ͸ҟͳΔೳྗ͕ඞཁʹࢥ͑Δ ɾෳ਺ͷݚڀΛ౷߹͠ɺҰͭʹ·ͱΊΔͱ͍͏ത࢜࿦จͷϑϨʔϜ ϫʔΫΛҎͬͯɺετʔϦʔʹ·ͱΊΔೳྗΛ਎ʹண͚ΒΕͳ͍͔ ͱ͍͏ظ଴Λ΋͍ͬͯΔ

  12. 2. ٕज़ऀͱͯ͠ͷ੒ՌΛ·ͱΊͨݚڀ

  13. 13 ٕज़ऀͱͯ͠ͷ੒Ռ ɾαʔό؂ࢹαʔϏεΛ։ൃɾӡ༻͍ͯͨ͠ ɾαʔϏεར༻ऀ͔Βͷɺ؂ࢹର৅ͷখ͞ͳมԽΛݟಀ͞ͳ͍ͨΊʹɺ ؂ࢹ݁Ռͷ஝ੵͰ͋Δ࣌ܥྻσʔλͷߴղ૾౓Խɺ௕ظอଘԽ͢Δཁ ๬͕͋ͬͨ ɾઃܭͱ࣮૷ͷҰ෦ɺϦϦʔε·ͰͷϓϩδΣΫτ؅ཧΛ຿Ίͨ ɾ୅දతϓϩμΫτͱͯ͠ঢ՚͢ΔͨΊʹֶज़࿦จͱ͍͏٬؍తج४΁ ௅ઓ ɾIOTS2018

    ࠾࿥ ɾIEEE COMPSAC 2019 ϝΠϯγϯϙδ΢Ϝ (short paper) ࠾࿥
  14. HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on

    Heterogeneous Key-Value Storesa HeteroTSDB: ҟछࠞ߹ΩʔόϦϡʔετΞ Λ༻͍ͨࣗಈ֊૚ԽͷͨΊͷ ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ
  15. 15 ຊݚڀͷഎܠͷ֓؍ ࣾձͷഎܠ ΠϯλʔωοταʔϏεͷ৴པੑΛৗʹܭଌ͢Δͷ͕౰ͨΓલʹ ࣾձͷ ཁٻᶃ ࣌ܥྻσʔλΛߴղ૾౓ʹऔಘ͠ ௕ظอଘ͍ͨ͠ ࣾձͷ ཁٻᶄ

    ࣌ܥྻσʔλΛάϥϑҎ֎ͷ ෳ਺ͷҟͳΔ༻్Ͱࢀর͍ͨ͠ طଘͷղܾ • ࣌ܥྻσʔλͷѹॖ (ࠩ෼ූ߸Խ) • ϝϞϦʹॻ͖ࠐΈɺσΟεΫ΁·ͱ ΊҠಈͤͯ͞ॻ͖ࠐΈޮ཰޲্ ಺෦ߏ଄͕ີ݁߹ͳͨΊɺ σʔλߏ଄Λ௥Ճ͢Δ͜ͱ͕೉͍͠ ߴղ૾౓ => I/Oճ਺͕େ͖͍ ௕ظอଘ => σΟεΫ࢖༻͕େ͖͍ ༻్͝ͱʹσʔλࢀরύλʔϯ͕ҟͳΔͨ ҟͳΔσʔλߏ଄͕ඞཁ ੑೳ ՝୊ ֦ு՝୊ ղܾ͞Ε͍ͯͳ͍՝୊
  16. 16 ຊݚڀͷ໨తͱఏҊͷ֓؍ ݚڀ໨త ॻ͖ࠐΈޮ཰ͱσʔλอଘޮ཰Λ௿Լͤͣ͞ʹ σʔλߏ଄Λ֦ுՄೳͳ࣌ܥྻσʔλϕʔεͷఏҊ ֦ு՝୊ͷղܾ 1ͭͷ༻్ʹ͖ͭɺ1ͭͷDBMSΛ௥Ճ σʔλߏ଄Λ௥Ճ͠΍͍͢Α͏ʹ σʔλ(·ͨ͸ͦͷҰ෦)Λෳ੡ͯ͠ҟͳ ΔDBMSʹॻ͖ࠐΊΔΑ͏ʹૄ݁߹Խ

    ੑೳ՝୊ͷղܾ ҟछࠞ߹DBMSͷ૊Έ߹Θͤ (ΠϯϝϞϦDBMSͰॻ͖ࠐΈ ΦϯσΟεΫDBMS΁·ͱΊͯҠಈ) ఏҊͷৄࡉ • DBMSؒͷҰ؏ੑΛอͭͨΊͷɹ ႈ౳ੑΛ΋ͭσʔλߏ଄ • ࣌ܥྻσʔλͷҠಈख๏ • σʔλߏ଄ͷ௥Ճख๏
  17. ͔͜͜ΒΑΓৄࡉʹઆ໌

  18. ࣌ܥྻσʔλϕʔεͷઌߦख๏ 18 0QFO54%# (PSJMMB *OqVY%# ॻ͖ࠐΈޮ཰ ϝϞϦόοϑΝ ΠϯϝϞϦ ϝϞϦόοϑΝ σʔλอଘޮ཰

    ແѹॖ ѹॖ ѹॖ ૄ݁߹ੑ ີ݁߹ ॻ͖ࠐΈʹ͍ͭͯ ີ݁߹ ີ݁߹
  19. ఏҊγεςϜͷॲཧϑϩʔ 19 Message Broker (1) write Client Metric Writer Metric

    Reader In-Memory DBMS On—Disk DBMS (2) subscribe and write (3) migration (i) query (ii) read from each dbms (iii) merge datapoints (ii)
  20. 20 0 1 2 3 4 5 0 20 40

    60 80 100 120 datapoint writes / min (mega) minutes In-Memory KVS On-Disk KVS ΠϯϝϞϦKVS΁ͷ෼ؒॻ͖ࠐΈճ਺͸ ໿4MͰҰఆ ΦϯσΟεΫKVS΁෼ؒॻ͖ࠐΈճ਺͸ 70k͔Β170kͷؒΛਪҠ ΦϯσΟεΫKVS΁ͷ ෼ؒॻ͖ࠐΈճ਺Λ ໿1/20ʹ࡟ݮͨ͜͠ͱ͕Θ͔Δ ॻ͖ࠐΈεϧʔϓοτͷ࣌ؒมԽ
  21. 21 0 10 20 30 40 50 60 70 80

    90 100 0 20 40 60 80 100 120 0 2 4 6 8 10 12 14 16 CPU usage (%) Free memory size (GB) minutes master CPU usage (%) slave1 CPU usage (%) slave2 CPU usage (%) Free memory size (GB) 50෼Λ௒͑ͨͱ͜ΖͰ ۭ͖ϝϞϦ࢖༻ྔ͕10.5GBͰҰఆʹͳͬ ͍ͯΔͨΊσʔλҠಈͰ͖͍ͯΔͱ͍͑Δ CPUར༻཰ͱϝϞϦ࢖༻ྔ
  22. αʔό؂ࢹαʔϏεͷ࣮؀ڥ΁ͷద༻ • 2017೥7݄͔Β2018೥8݄·Ͱͷ1೥ؒͷՔಇ࣮੷ • ಉظؒͷো֐݅਺2݅ɺނোճ਺2݅ • ো֐1: ಛఆͷΠϯϝϞϦKVSͷϊʔυʹॻ͖ࠐΈෛՙ͕ूத͠ɺϝϞ Ϧ্ݶʹୡ͠ɺOSʹڧ੍ఀࢭ͞Εɺσʔλফࣦൃੜ •

    ϝοηʔδϒϩʔΧʔ্ͷσʔλΛ࠶ॲཧ͠σʔλ෮چ • ো֐2: ಉҰͷϝτϦοΫ໊ͱλΠϜελϯϓΛ΋ͭσʔλ఺͕୹࣌ؒ ʹେྔʹॻ͖ࠐ·ΕɺΠϯϝϞϦKVSͷॻ͖ࠐΈαΠζ্ݶʹୡͨ͠ • ΠϯϝϞϦKVSʹॻ͖ࠐΉલʹॏෳΛഉআ͢Δ͜ͱͰղܾ 22
  23. Mackerelͷ࣮؀ڥ΁ͷద༻ • ނোʹ͍ͭͯ͸ɺ͍ͣΕ΋ΠϯϝϞϦKVSͷϊʔυ͕ఀࢭ͠ɺ ౰֘ϊʔυ͕Ϋϥελ͔Β֎ΕΔ·ͰͷؒʹΤϥʔ͕ൃੜͨ͠ • Lambdaؔ਺࣮ߦͷࣗಈ࠶ࢼߦʹΑΓࣗಈͰσʔλ෮چ • Ұ෦ͷϝτϦοΫͷॻ͖ࠐΈ͕਺෼஗Ԇ͢ΔʹͱͲ·ͬͨ 23

  24. ·ͱΊ • ੑೳͱ֦ுੑΛཱ྆͢Δ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟͷ ఏҊ • AWSͷϚωʔδυαʔϏεʹΑΓҟछࠞ߹σʔλετΞΛલఏ ͱͨ͠ΞʔΩςΫνϟͷߴ͍࣮ݱੑ • Mackerelͷ࣌ܥྻσʔλϕʔεͱͯ͠1೥ͷՔಇ࣮੷ 24

  25. 25 ຊݚڀͷ՝୊ ɾධՁͷ؍఺ ɾଞͷख๏ͱൺֱͨ͠ධՁ݁Ռ͕ͳ͍͜ͱ ɾ֦ுੑͷධՁ݁Ռ͕ͳ͍͜ͱ ɾؔ࿈ݚڀͷ໢ཏ ɾ࿦จͱͯ͠ɺఏҊख๏ͷཱͪҐஔΛࣔͨ͢Ίͷ࠷௿ݶͷؔ࿈ݚڀͷ Έͱͳ͍ͬͯΔ͜ͱ

  26. 3. ࠓޙͷݚڀ։ൃߏ૝

  27. 27 ݚڀ։ൃߏ૝ͷ֓؍ ɾ͘͞ΒΠϯλʔωοτݚڀॴͷϏδϣϯͰ͋Δʮ௒ݸମܕσʔληϯ λʔʯʹΑΓɺΫϥ΢υͷܭࢉػೳྗ͕͔͋ͨ΋ਓʑͷ਎ۙʹଘࡏ͢ Δ͔ͷΑ͏ͳίϯϐϡʔςΟϯάΛ໨ࢦ͢ ɾࣗ෼ͷಘҙ෼໺ͱབྷΊͯςʔϚͷେ࿮ΛߜΓࠐΜͩ খن໛σʔληϯλʔͱΫϥ΢ υΛ༗ػతʹ݁߹͢ΔͨΊʹ σʔλͷҰ؏ੑΛอͪͳ͕Βɺ ͍͔ʹޮ཰Α͘ಡΈॻ͖͢Δ͔

    খن໛σʔληϯλʔͱΫϥ΢ υ͕݁߹ͨ͠ঢ়ଶʹ͓͍ͯ γεςϜͷঢ়ଶΛ͍͔ʹܭଌ ͠ɺ೺Ѳ͢Δ͔ σʔλू໿ΞϓϦέʔγϣϯ γεςϜ؍ଌ
  28. 28 ςʔϚᶃ: σʔλू໿ΞϓϦέʔγϣϯͷલఏ ɾ௒ݸମܕσʔληϯλʔ͸ɺ֤σʔληϯ λʔ͕ͲͷΑ͏ʹ෼ࢄ͢Δ͔͸نఆ͍ͯ͠ͳ͍ ɾ·ͣ͸ɺΫϥ΢υͱΤοδ(ར༻ऀͷۙ๣)Λར ༻ͨ͠ΤοδίϯϐϡʔςΟϯάͷܗͰ੍໿Λ ͔͚Δ ɾࣗ෼͕ಘҙͳWebΞϓϦέʔγϣϯ͕ಈ࡞͢ Δ΋ͷͱ͢Δ

    ɾΤοδ͸ɺIaaSΛఏڙ͢Δখن໛σʔληϯ λʔΛ૝ఆ Cloud Edge Edge Edge Edge
  29. 29 ɾ֤ΤοδؒͱΫϥ΢υͰɺར༻ऀ͕Ͳͷڌ఺ʹ઀ଓͯ͠΋ಉ͡σʔ λΛฦ͔͢ɺฦ͞ͳ͍͔ ɾྫ͑͹ϒϩάαʔϏεͰ͋Ε͹ɺಉ͡σʔλΛฦ͢ඞཁ͕͋Δ ɾ஍ཧతʹॲཧ͕׬݁͢ΔαʔϏεͳΒಉ͡σʔλΛฦ͞ͳͯ͘Α͍ ɾαʔϏε࢓༷ͷ੍໿͕খ͍͞ɺಉ͡σʔλΛฦ͢ํࣜΛબ୒ ɾಉ͡σʔλΛฦ͢৔߹ɺҰ؏ੑͱԠ౴ੑೳͷτϨʔυΦϑ͕͋Δ ɾΤοδؒ͸ϨΠςϯγ͕େ͖͍ͨΊɺҰ؏ੑΛڧ͘͢ΔͱɺશΤο δͰσʔλ͕ಉظ͞ΕΔ·Ͱ଴ͭඞཁ͕͋ΓɺԠ౴ੑೳ͕௿Լ ɾҰ؏ੑΛ؇ΊΔͱΞϓϦέʔγϣϯʹݹ͍σʔλΛฦ͢Մೳੑ͋Γ

    ɾ·ͨɺ߹ܭσʔλྔ͕େ͖͘ͳΔ՝୊͕͋Δ ςʔϚᶃ: σʔλू໿ΞϓϦέʔγϣϯͷצॴ
  30. 30 ɾҰ؏ੑͱੑೳͷτϨʔυΦϑΛɺಡΈࠐΈͱॻ͖ࠐΈͷΞΫηεൺ ཰ͱɺΞϓϦέʔγϣϯͷมߋՄ൱ʹԠͯ͡ɺ੍໿Λઃఆ ɾಡΈࠐΈओମͰ͋Ε͹ɺσʔλͷߋ৽ස౓͕গͳ͍ͨΊɺҰ؏ੑΛ ڧΊͯ΋ɺಉظճ਺͕খ͘͞ͳΓɺԠ౴ੑೳͷ௿ԼͷӨڹ͸૬ରత ʹখ͘͞ͳΔ ɾҰ؏ੑΛڧΊɺΞϓϦέʔγϣϯΛมߋ͠ͳ͍ͱ͍͏੍໿Λઃఆ ɾσʔλྔ࡟ݮͷͨΊɺΩϟογϡΛڞ༗͢ΔΑ͏ʹ͢Δ ɾॻ͖ࠐΈओମͰ͋Ε͹ɺಡΈऔΓओମͱٯͱͳΓɺԠ౴ੑೳͷ௿Լ ͷӨڹ͕େ͖͘ͳΓɺҰ؏ੑΛڧ͘͢Δͷ͸ݱ࣮తͰ͸ͳ͍

    ɾ۩ମతͳΞϓϦέʔγϣϯΛنఆɻྫ)࣌ܥྻσʔλऩूγεςϜ ςʔϚᶃ: ۩ମతͳςʔϚ੍໿Λઃఆ
  31. ௒ݸମܕσʔληϯλʔΛ໨ࢦͨ͠ ෼ࢄڠௐΫΤϦϦβϧτΩϟογϡߏ૝

  32. Proxy͕Ωϟογϡͷಉظͱ ΫΤϦͷϑΥϫʔσΟϯά Small Datacenter DBCache Proxy 32 DBΫΤϦΩϟογϡΞʔΩςΫνϟ DB Cloud

    Small Datacenter DBCache Proxy App Web Read/Write Read/Write App Web Ωϟογϡڞ༗
  33. Ұ࣌తͳԠ౴଎౓ͷ ௿Լ͸ڐ༰ DBCache Proxy 33 దԠతΫϥελ੍ޚΞʔΩςΫνϟ DB Cloud DBCache Proxy

    App Web Read/Write Read/Write App Web App Web (1) ෆௐͳΤοδΛݕ஌ DB Manager (2) ෆௐͳΤοδͷΫΤϦΛ ࢭΊΔΑ͏ʹ఻ୡ (3) όοΫάϥϯυͰΩϟογϡΛഇغ ͠ɺۙ๣·ͨ͸Ϋϥ΢υ͔Βಉظ ෆௐͳSmall Datacenter ʹҾ͖ͮΒΕͳ͍Α͏ʹ Small Datacenter Small Datacenter
  34. 34 ςʔϚᶄ: γεςϜ؍ଌͷצॴ ɾطଘͷ؍ଌख๏͸ɺαʔόϝτϦοΫ(CPUར༻཰ͳͲ)ऩूɺϩάऩ ूɾղੳͳͲ ɾ௒ݸମܕσʔληϯλʔʹ͓͍ͯ͸ɺΫϥ΢υͱൺֱ͠ɺγεςϜ؅ ཧऀ͸஍ཧతͳ෼ࢄΛߟྀʹ͍Εͳ͚Ε͹ͳΒͳ͍ ɾγεςϜͷߏ੒ཁૉಉ࢜ͷؔ܎ੑ͕֮͑ΒΕͣɺӨڹൣғෆ໌ͱͳΔ ɾΞϓϦέʔγϣϯΛมߋ͠ͳ͍ܗͰɺTCP/UDP૚Ͱ઀ଓؔ܎Λ௥੻ Ͱ͖ΔΑ͏ͳ࢓૊ΈΛߟ͑Δ

    ɾγεςϜ؅ཧऀ޲͚ͷՄࢹԽΑΓ͸ɺܭࢉػγεςϜ͕ࣗ཯తʹ؍ଌ ݁ՌʹԠͯ͡൑அͰ͖ΔΑ͏ͳख๏Λ໨ࢦ͍ͨ͠
  35. ௒ݸମܕσʔληϯλʔΛ໨ࢦͨ͠ ωοτϫʔΫґଘؔ܎ͷࣗ཯త௥੻ͷߏ૝

  36. 4. ·ͱΊ

  37. 37 ·ͱΊ ɾ୅දతϓϩμΫτΛ໨ࢦͯ͠ɺݚڀͷੈք΁དྷͨ ɾαʔό؂ࢹαʔϏεͷ࣌ܥྻσʔλϕʔεͷݚڀ։ൃ಺༰Λ঺հͨ͠ ɾݚڀ։ൃߏ૝ͱͯ͠ɺσʔλू໿ΞϓϦέʔγϣϯͱɺγεςϜ؍ଌ ͷͦΕͧΕʹ͍ͭͯ঺հͨ͠