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

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

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

A658ec7f1badf73819dfa501165016c1?s=128

Yuuki Tsubouchi (yuuk1)

April 10, 2019
Tweet

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