Upgrade to Pro — share decks privately, control downloads, hide ads and more …

わたしの研究開発紹介 - 技術者から研究者へ - / 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. 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)
  4. 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೔
  5. HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on

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

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

    ੑೳ՝୊ͷղܾ ҟछࠞ߹DBMSͷ૊Έ߹Θͤ (ΠϯϝϞϦDBMSͰॻ͖ࠐΈ ΦϯσΟεΫDBMS΁·ͱΊͯҠಈ) ఏҊͷৄࡉ • DBMSؒͷҰ؏ੑΛอͭͨΊͷɹ ႈ౳ੑΛ΋ͭσʔλߏ଄ • ࣌ܥྻσʔλͷҠಈख๏ • σʔλߏ଄ͷ௥Ճख๏
  8. ఏҊγεςϜͷॲཧϑϩʔ 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)
  9. 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ʹ࡟ݮͨ͜͠ͱ͕Θ͔Δ ॻ͖ࠐΈεϧʔϓοτͷ࣌ؒมԽ
  10. 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ར༻཰ͱϝϞϦ࢖༻ྔ
  11. αʔό؂ࢹαʔϏεͷ࣮؀ڥ΁ͷద༻ • 2017೥7݄͔Β2018೥8݄·Ͱͷ1೥ؒͷՔಇ࣮੷ • ಉظؒͷো֐݅਺2݅ɺނোճ਺2݅ • ো֐1: ಛఆͷΠϯϝϞϦKVSͷϊʔυʹॻ͖ࠐΈෛՙ͕ूத͠ɺϝϞ Ϧ্ݶʹୡ͠ɺOSʹڧ੍ఀࢭ͞Εɺσʔλফࣦൃੜ •

    ϝοηʔδϒϩʔΧʔ্ͷσʔλΛ࠶ॲཧ͠σʔλ෮چ • ো֐2: ಉҰͷϝτϦοΫ໊ͱλΠϜελϯϓΛ΋ͭσʔλ఺͕୹࣌ؒ ʹେྔʹॻ͖ࠐ·ΕɺΠϯϝϞϦKVSͷॻ͖ࠐΈαΠζ্ݶʹୡͨ͠ • ΠϯϝϞϦKVSʹॻ͖ࠐΉલʹॏෳΛഉআ͢Δ͜ͱͰղܾ 22
  12. Proxy͕Ωϟογϡͷಉظͱ ΫΤϦͷϑΥϫʔσΟϯά Small Datacenter DBCache Proxy 32 DBΫΤϦΩϟογϡΞʔΩςΫνϟ DB Cloud

    Small Datacenter DBCache Proxy App Web Read/Write Read/Write App Web Ωϟογϡڞ༗
  13. Ұ࣌తͳԠ౴଎౓ͷ ௿Լ͸ڐ༰ 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