Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
わたしの研究開発紹介 - 技術者から研究者へ - / Introduction to my research
Yuuki Tsubouchi (yuuk1)
April 10, 2019
Research
1
150
わたしの研究開発紹介 - 技術者から研究者へ - / Introduction to my research
1. なぜ技術者から研究者へ転向したのか
2. 事業での実践を研究へ昇華した事例 (前職)
3. 今後の研究開発の構想 (さくらインターネット)
Yuuki Tsubouchi (yuuk1)
April 10, 2019
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
yuukit
4
1.4k
yuukit
1
650
yuukit
0
72
yuukit
0
1.2k
yuukit
0
860
yuukit
0
300
yuukit
5
800
yuukit
0
110
yuukit
0
48
Other Decks in Research
See All in Research
sei88888
4
290
takuma_okamoto
0
300
hiroki13
0
140
ailaboocu
0
170
mkimura
2
690
ledgerback
0
210
flankerhqd
2
2.7k
makenowjust
0
100
ttsunoda
0
790
scwuaptx
1
1.9k
beeeee
0
170
noguhiro2002
1
560
Featured
See All Featured
keathley
18
650
malarkey
119
16k
rocio
155
11k
wjessup
338
16k
lara
590
61k
hannesfritz
27
930
reverentgeek
27
1.9k
jasonvnalue
82
8.1k
shpigford
368
42k
robhawkes
52
2.8k
bkeepers
52
4.1k
jponch
103
5k
Transcript
͘͞ΒΠϯλʔωοτ גࣜձࣾ (C) Copyright 1996-2019 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτ ݚڀॴ
Θͨ͠ͷݚڀ։ൃհ - ٕज़ऀ͔Βݚڀऀ - 2019/04/10 ݚڀһ ௶ ༎थ @yuuk1t / id:y_uuki
2 ࣗݾհ ௶ ༎थ / Ώ͏͏͖ https://yuuk.io/ େࡕେֶ جૅֶ෦ ใՊֶՊ
େࡕେֶ େֶӃใՊֶݚڀՊ ɹใωοτϫʔΫֶઐ߈ ത࢜લظ՝ఔ ܦྺ גࣜձࣾͯͳ WebΦϖϨʔγϣϯΤϯδχΞɾSRE ͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ ݚڀһ ฒྻॲཧ TCP/IPελοΫ WebαʔϏεͷ ։ൃɾӡ༻ WebɾΠϯλʔωοτ ج൫ٕज़ݚڀ 5.5 5 ݱࡏ
3 1. ͳٕͥज़ऀ͔Βݚڀऀసͨ͠ͷ͔ 2. ࣄۀͰͷ࣮ફΛݚڀঢ՚ͨ͠ࣄྫ (લ৬) 3. ࠓޙͷݚڀ։ൃͷߏ (͘͞ΒΠϯλʔωοτ) ͓͍͑ͨ͜͠ͱ
͜ΕΒͷҰ߲͝ͱʹ࣭ٙͷ࣌ؒΛ͍͍ͨͩͯ ٞϕʔεͰ͓ΛਐΊ͍͚ͤͯͨͩ͞Εͱࢥ͍·͢
1. ͳٕͥज़ऀ͔Βݚڀऀసͨ͠ͷ͔
5 ͜͜Ͱͷٕज़ऀͱ ɾΠϯλʔωοταʔϏεΛ։ൃɾӡ༻͢ΔͨΊͷٕज़Λʹ͚ͭɺ Λղܾ͢Δਓ ɾ։ൃɾӡ༻ٕज़ͷதͰɺOSSΫϥυίϯϐϡʔςΟϯάΛओ ʹར༻͍ͯ͠Δ ɾWeb্Ͱٕज़ʹؔ͢ΔใΛΦʔϓϯʹڞ༗͠ɺڞ༗͞Εͨ༰Λ ࣗͨͪͷϓϩμΫτʹө͢ΔྲྀΕ͕͋Δ ɾձࣾͷϓϩμΫτҎ֎ʹɺࣗͷணΛιϑτΣΞͰ࣮ݱ͠ɺ OSSͱͯ͠ެ։͍ͯ͠Δਓ͍ͨͪΔ
ɾ৽ͯ͘͠༗༻ͳʮදతϓϩμΫτʯͱݺΕΔͷ͕ੜ·ΕΔ
6 ࣗͷٕज़ʹର͢ΔϞνϕʔγϣϯ ɾ࡞ऀͷإ͕ݟ͑ΔΑ͏ͳදతϓϩμΫτΛ࡞Γ͍ͨ ɾදతϓϩμΫτΛ࡞ΔաఔͰɺؒͱٞ͠ɺࢥߟ͠ͳ͕Βࣗ ͷணΛ࣮ݱ͍ͯ͘͜͠ͱࣗମָ͕͍͠ ɾ୯ൃͷՌͰऴΘΒͣʹɺෳͷදతϓϩμΫτΛҰͭྲྀΕͱ͠ ͍ͯͰɺΑΓେ͖ͳՌͱͳ͍͚ͬͯɺΑΓָ͍ͣ͠ ɾ݁ՌతʹɺදతϓϩμΫτΛ࡞Γଓ͚ΒΕΔঢ়ଶͱͳΓɺָ͠͞ ΛܧଓͰ͖Δ
7 ࠷ۙͷٕज़ͷைྲྀʹର͢Δҧײ ɾେखΫϥυࣄۀऀ͕ఏڙ͢ΔϚωʔδυαʔϏεɺେ͖ͳਓؾ ΛތΔج൫ιϑτΣΞ͕OSSͱͯ͠ొ͖ͯͨ͠ ɾ͜ΕΒΛ͏͚ͩͰͷલͷ͕ղܾͯ͠͠·͍ͭͭ͋Δ ɾاۀͱͯ͠ɺ͕ղܾ͢ΔͷͰ͋ΕͦΕͰҰݟΑͦ͞͏ͩ ͕ɺࣗͨͪͰ։ൃ͠ͳ͘ͳΓɺࣗࣾͷٕज़ͰࠩผԽͰ͖ͳ͘ͳΔ ɾݸਓͱͯ͠ɺදతϓϩμΫτͷ։ൃ͢Δඪ͔Βԕ͔ͬͯ͟ ͠·͏ ɾධՁ͕ओ؍తͳͨΊʹɺͲΜͳ݅Λຬͨͤɺ৽ͯ͘͠༗༻ͳ
දతϓϩμΫτͱݴ͑Δͷ͔͕Θ͔Βͳ͍
8 ݚڀͷੈքண ɾͷલͷ͚ͩͰͳ͘ɺઌΛݟਾ͑ͨʹऔΓΉ͜ͱ Ͱɺݸਓͱͯ͠ͷදతϓϩμΫτͷ։ൃΛ࠶ࢦ͢ ɾ࡞Γํ͕Θ͔Βͳ͍ͨΊɺදతϓϩμΫτΛҰඈͼʹ࡞Εͳ ͍ɻҰาҰาਐΉͨΊͷʮ٬؍తج४ʯΛઃఆ͢Δ ɾֶज़ݚڀͷੈքʹɺ͔͍͍ͬ͜ͱࢥ͑Δ٬؍తج४ͱͯ͠ɺࠪಡ ৹ࠪΛલఏͱͨ͠ձٞɺจࢽɺത࢜߸ͳͲ͕͋Δ ɾ͞Βʹɺֶज़จࣗମʹ৽نੑɾ༗༻ੑͳͲͷ٬؍తج४͕͋Δ ɾ։ൃͨ͠ιϑτΣΞΛͬͯ٬؍తج४ʹઓ͠ϑΟʔυόοΫ
ΛಘͯɺදతϓϩμΫτ͔͍ɺࣗΛָ͍͠ঢ়ଶʹஔ͘
9 ݚڀ։ൃ࣮1 1.௶༎थ, ࣗવͷ͝ͱ͘ෳࡶԽͨ͠ΣϒγεςϜͷࣗతӡ༻ʹ͚ͯ, ਓೳֶձ ߹ಉݚڀձ ୈ3ճΣϒ αΠΤϯεݚڀձ(টߨԋ), 201711݄24 2.௶༎थ,
ߴʹൃୡͨ͠γεςϜͷҟৗਆͷౖΓͱݟ͚͕͔ͭͳ͍, IPSJ-ONE 2017, 201703݄18 3.௶༎थ, αʔόϞχλϦϯά͚࣌ܥྻσʔλϕʔεͷ୳ڀ, ୈ9ճΠϯλʔωοτͱӡ༻ٕज़γϯϙδϜ (IOTS2016)(টߨԋ), 201612݄01 ɾࠪಡ͖จ(ࠃ) ɾߨԋ(ࠃ) 1.௶༎थ, ࡔேਓ, ᖛా݈, দխ, Ѩ෦ത, দຊ྄հ, “HeteroTSDB: ҟछࠞ߹ΩʔόϦϡʔετΞΛ༻͍ͨࣗಈ ֊ԽͷͨΊͷ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ”, Πϯλʔωοτͱӡ༻ٕज़γϯϙδϜจू, 2018, 7-15 (2018-11-29), 201812݄. ɾࠃࡍձٞจ 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 ݚڀ։ൃ࣮2 ɾॻ੶ɾࡶࢽ 1.Ҫ্େี,പ୩େี,ਿࢁ௨,ాத৻࢘,௶༎थ,দխ, Mackerel αʔόࢹʦ࣮ફʧೖ, ٕज़ධࣾ, 20178 ݄26 2.௶༎थ,
MackerelͰ͡ΊΔαʔόཧ ୈ17ճ ϩʔϧฤͷߟ͑ํ, Software Design 20167݄߸, ٕज़ධࣾ, 20166݄18 3.௶༎थ, MackerelͰ͡ΊΔαʔόཧ ୈ13ճ MackerelͱServerspecΛΈ߹ΘͤͨΠϯϑϥςετ, Software Design 20163݄߸, ٕज़ධࣾ, 20162݄18 4.௶༎थ, MackerelͰ͡ΊΔαʔόཧ ୈ9ճ MackerelͷΞʔΩςΫνϟΛΔ, Software Design 201511݄߸, ٕज़ධࣾ, 201510݄17 5.௶༎थ, Perl Hackers Hub ୈ34ճ DockerʹΑΔPerlͷWebΞϓϦέʔγϣϯ։ൃ, WEB+DB PRESS Vol.88, ٕज़ ධࣾ, 20158݄24 6.௶༎थ, MackerelͰ͡ΊΔαʔόཧ ୈ6ճ Mackerelपลͷӡ༻πʔϧͱAWS࿈ܞϊϋ, Software Design 20158݄߸, ٕज़ධࣾ, 20157݄18 7.௶༎थ, MackerelͰ͡ΊΔαʔόཧ ୈ3ճ ӡ༻͠ͳ͕ΒҭͯΔαʔόࢹͷϧʔϧ, Software Design 20155 ݄߸, ٕज़ධࣾ, 20154݄18
11 ത࢜՝ఔͷؔ৺ ɾτοϓΧϯϑΝϨϯε(COMPSAC)ʹࠪಡΛ௨ͤͨ͜ͱ͋Γɺ දతϓϩμΫτΛ࡞Εͨ͜ͱΛ٬؍తʹࣔ͢͜ͱ͕Ͱ͖ͭͭ͋Δ ɾ͔͠͠ɺ࣍ͷண͔ΒදతϓϩμΫτΛ࡞Εͨͱͯ͠ɺҰͭͷε τʔϦʔʹ݁߹͢ΔʹɺͦΕ·ͰͱҟͳΔೳྗ͕ඞཁʹࢥ͑Δ ɾෳͷݚڀΛ౷߹͠ɺҰͭʹ·ͱΊΔͱ͍͏ത࢜จͷϑϨʔϜ ϫʔΫΛҎͬͯɺετʔϦʔʹ·ͱΊΔೳྗΛʹண͚ΒΕͳ͍͔ ͱ͍͏ظΛ͍ͬͯΔ
2. ٕज़ऀͱͯ͠ͷՌΛ·ͱΊͨݚڀ
13 ٕज़ऀͱͯ͠ͷՌ ɾαʔόࢹαʔϏεΛ։ൃɾӡ༻͍ͯͨ͠ ɾαʔϏεར༻ऀ͔Βͷɺࢹରͷখ͞ͳมԽΛݟಀ͞ͳ͍ͨΊʹɺ ࢹ݁ՌͷੵͰ͋Δ࣌ܥྻσʔλͷߴղ૾ԽɺظอଘԽ͢Δཁ ͕͋ͬͨ ɾઃܭͱ࣮ͷҰ෦ɺϦϦʔε·ͰͷϓϩδΣΫτཧΛΊͨ ɾදతϓϩμΫτͱͯ͠ঢ՚͢ΔͨΊʹֶज़จͱ͍͏٬؍తج४ ઓ ɾIOTS2018
࠾ ɾIEEE COMPSAC 2019 ϝΠϯγϯϙδϜ (short paper) ࠾
HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on
Heterogeneous Key-Value Storesa HeteroTSDB: ҟछࠞ߹ΩʔόϦϡʔετΞ Λ༻͍ͨࣗಈ֊ԽͷͨΊͷ ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ
15 ຊݚڀͷഎܠͷ֓؍ ࣾձͷഎܠ ΠϯλʔωοταʔϏεͷ৴པੑΛৗʹܭଌ͢Δͷ͕ͨΓલʹ ࣾձͷ ཁٻᶃ ࣌ܥྻσʔλΛߴղ૾ʹऔಘ͠ ظอଘ͍ͨ͠ ࣾձͷ ཁٻᶄ
࣌ܥྻσʔλΛάϥϑҎ֎ͷ ෳͷҟͳΔ༻్Ͱࢀর͍ͨ͠ طଘͷղܾ • ࣌ܥྻσʔλͷѹॖ (ࠩූ߸Խ) • ϝϞϦʹॻ͖ࠐΈɺσΟεΫ·ͱ ΊҠಈͤͯ͞ॻ͖ࠐΈޮ্ ෦ߏ͕ີ݁߹ͳͨΊɺ σʔλߏΛՃ͢Δ͜ͱ͕͍͠ ߴղ૾ => I/Oճ͕େ͖͍ ظอଘ => σΟεΫ༻͕େ͖͍ ༻్͝ͱʹσʔλࢀরύλʔϯ͕ҟͳΔͨ ҟͳΔσʔλߏ͕ඞཁ ੑೳ ՝ ֦ு՝ ղܾ͞Ε͍ͯͳ͍՝
16 ຊݚڀͷతͱఏҊͷ֓؍ ݚڀత ॻ͖ࠐΈޮͱσʔλอଘޮΛԼͤͣ͞ʹ σʔλߏΛ֦ுՄೳͳ࣌ܥྻσʔλϕʔεͷఏҊ ֦ு՝ͷղܾ 1ͭͷ༻్ʹ͖ͭɺ1ͭͷDBMSΛՃ σʔλߏΛՃ͍͢͠Α͏ʹ σʔλ(·ͨͦͷҰ෦)Λෳͯ͠ҟͳ ΔDBMSʹॻ͖ࠐΊΔΑ͏ʹૄ݁߹Խ
ੑೳ՝ͷղܾ ҟछࠞ߹DBMSͷΈ߹Θͤ (ΠϯϝϞϦDBMSͰॻ͖ࠐΈ ΦϯσΟεΫDBMS·ͱΊͯҠಈ) ఏҊͷৄࡉ • DBMSؒͷҰ؏ੑΛอͭͨΊͷɹ ႈੑΛͭσʔλߏ • ࣌ܥྻσʔλͷҠಈख๏ • σʔλߏͷՃख๏
͔͜͜ΒΑΓৄࡉʹઆ໌
࣌ܥྻσʔλϕʔεͷઌߦख๏ 18 0QFO54%# (PSJMMB *OqVY%# ॻ͖ࠐΈޮ ϝϞϦόοϑΝ ΠϯϝϞϦ ϝϞϦόοϑΝ σʔλอଘޮ
ແѹॖ ѹॖ ѹॖ ૄ݁߹ੑ ີ݁߹ ॻ͖ࠐΈʹ͍ͭͯ ີ݁߹ ີ݁߹
ఏҊγεςϜͷॲཧϑϩʔ 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 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 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ར༻ͱϝϞϦ༻ྔ
αʔόࢹαʔϏεͷ࣮ڥͷద༻ • 20177݄͔Β20188݄·Ͱͷ1ؒͷՔಇ࣮ • ಉظؒͷো݅2݅ɺނোճ2݅ • ো1: ಛఆͷΠϯϝϞϦKVSͷϊʔυʹॻ͖ࠐΈෛՙ͕ूத͠ɺϝϞ Ϧ্ݶʹୡ͠ɺOSʹڧ੍ఀࢭ͞Εɺσʔλফࣦൃੜ •
ϝοηʔδϒϩʔΧʔ্ͷσʔλΛ࠶ॲཧ͠σʔλ෮چ • ো2: ಉҰͷϝτϦοΫ໊ͱλΠϜελϯϓΛͭσʔλ͕࣌ؒ ʹେྔʹॻ͖ࠐ·ΕɺΠϯϝϞϦKVSͷॻ͖ࠐΈαΠζ্ݶʹୡͨ͠ • ΠϯϝϞϦKVSʹॻ͖ࠐΉલʹॏෳΛഉআ͢Δ͜ͱͰղܾ 22
Mackerelͷ࣮ڥͷద༻ • ނোʹ͍ͭͯɺ͍ͣΕΠϯϝϞϦKVSͷϊʔυ͕ఀࢭ͠ɺ ֘ϊʔυ͕Ϋϥελ͔Β֎ΕΔ·ͰͷؒʹΤϥʔ͕ൃੜͨ͠ • Lambda࣮ؔߦͷࣗಈ࠶ࢼߦʹΑΓࣗಈͰσʔλ෮چ • Ұ෦ͷϝτϦοΫͷॻ͖ࠐΈ͕Ԇ͢ΔʹͱͲ·ͬͨ 23
·ͱΊ • ੑೳͱ֦ுੑΛཱ྆͢Δ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟͷ ఏҊ • AWSͷϚωʔδυαʔϏεʹΑΓҟछࠞ߹σʔλετΞΛલఏ ͱͨ͠ΞʔΩςΫνϟͷߴ͍࣮ݱੑ • Mackerelͷ࣌ܥྻσʔλϕʔεͱͯ͠1ͷՔಇ࣮ 24
25 ຊݚڀͷ՝ ɾධՁͷ؍ ɾଞͷख๏ͱൺֱͨ͠ධՁ݁Ռ͕ͳ͍͜ͱ ɾ֦ுੑͷධՁ݁Ռ͕ͳ͍͜ͱ ɾؔ࿈ݚڀͷཏ ɾจͱͯ͠ɺఏҊख๏ͷཱͪҐஔΛࣔͨ͢Ίͷ࠷ݶͷؔ࿈ݚڀͷ Έͱͳ͍ͬͯΔ͜ͱ
3. ࠓޙͷݚڀ։ൃߏ
27 ݚڀ։ൃߏͷ֓؍ ɾ͘͞ΒΠϯλʔωοτݚڀॴͷϏδϣϯͰ͋Δʮݸମܕσʔληϯ λʔʯʹΑΓɺΫϥυͷܭࢉػೳྗ͕͔͋ͨਓʑͷۙʹଘࡏ͢ Δ͔ͷΑ͏ͳίϯϐϡʔςΟϯάΛࢦ͢ ɾࣗͷಘҙͱབྷΊͯςʔϚͷେΛߜΓࠐΜͩ খنσʔληϯλʔͱΫϥ υΛ༗ػతʹ݁߹͢ΔͨΊʹ σʔλͷҰ؏ੑΛอͪͳ͕Βɺ ͍͔ʹޮΑ͘ಡΈॻ͖͢Δ͔
খنσʔληϯλʔͱΫϥ υ͕݁߹ͨ͠ঢ়ଶʹ͓͍ͯ γεςϜͷঢ়ଶΛ͍͔ʹܭଌ ͠ɺѲ͢Δ͔ σʔλूΞϓϦέʔγϣϯ γεςϜ؍ଌ
28 ςʔϚᶃ: σʔλूΞϓϦέʔγϣϯͷલఏ ɾݸମܕσʔληϯλʔɺ֤σʔληϯ λʔ͕ͲͷΑ͏ʹࢄ͢Δ͔نఆ͍ͯ͠ͳ͍ ɾ·ͣɺΫϥυͱΤοδ(ར༻ऀͷۙ)Λར ༻ͨ͠ΤοδίϯϐϡʔςΟϯάͷܗͰ੍Λ ͔͚Δ ɾ͕ࣗಘҙͳWebΞϓϦέʔγϣϯ͕ಈ࡞͢ Δͷͱ͢Δ
ɾΤοδɺIaaSΛఏڙ͢Δখنσʔληϯ λʔΛఆ Cloud Edge Edge Edge Edge
29 ɾ֤ΤοδؒͱΫϥυͰɺར༻ऀ͕Ͳͷڌʹଓͯ͠ಉ͡σʔ λΛฦ͔͢ɺฦ͞ͳ͍͔ ɾྫ͑ϒϩάαʔϏεͰ͋Εɺಉ͡σʔλΛฦ͢ඞཁ͕͋Δ ɾཧతʹॲཧ͕݁͢ΔαʔϏεͳΒಉ͡σʔλΛฦ͞ͳͯ͘Α͍ ɾαʔϏε༷ͷ੍͕খ͍͞ɺಉ͡σʔλΛฦ͢ํࣜΛબ ɾಉ͡σʔλΛฦ͢߹ɺҰ؏ੑͱԠੑೳͷτϨʔυΦϑ͕͋Δ ɾΤοδؒϨΠςϯγ͕େ͖͍ͨΊɺҰ؏ੑΛڧ͘͢ΔͱɺશΤο δͰσʔλ͕ಉظ͞ΕΔ·Ͱͭඞཁ͕͋ΓɺԠੑೳ͕Լ ɾҰ؏ੑΛ؇ΊΔͱΞϓϦέʔγϣϯʹݹ͍σʔλΛฦ͢Մೳੑ͋Γ
ɾ·ͨɺ߹ܭσʔλྔ͕େ͖͘ͳΔ՝͕͋Δ ςʔϚᶃ: σʔλूΞϓϦέʔγϣϯͷצॴ
30 ɾҰ؏ੑͱੑೳͷτϨʔυΦϑΛɺಡΈࠐΈͱॻ͖ࠐΈͷΞΫηεൺ ͱɺΞϓϦέʔγϣϯͷมߋՄ൱ʹԠͯ͡ɺ੍Λઃఆ ɾಡΈࠐΈओମͰ͋Εɺσʔλͷߋ৽ස͕গͳ͍ͨΊɺҰ؏ੑΛ ڧΊͯɺಉظճ͕খ͘͞ͳΓɺԠੑೳͷԼͷӨڹ૬ରత ʹখ͘͞ͳΔ ɾҰ؏ੑΛڧΊɺΞϓϦέʔγϣϯΛมߋ͠ͳ͍ͱ͍͏੍Λઃఆ ɾσʔλྔݮͷͨΊɺΩϟογϡΛڞ༗͢ΔΑ͏ʹ͢Δ ɾॻ͖ࠐΈओମͰ͋ΕɺಡΈऔΓओମͱٯͱͳΓɺԠੑೳͷԼ ͷӨڹ͕େ͖͘ͳΓɺҰ؏ੑΛڧ͘͢Δͷݱ࣮తͰͳ͍
ɾ۩ମతͳΞϓϦέʔγϣϯΛنఆɻྫ)࣌ܥྻσʔλऩूγεςϜ ςʔϚᶃ: ۩ମతͳςʔϚ੍Λઃఆ
ݸମܕσʔληϯλʔΛࢦͨ͠ ࢄڠௐΫΤϦϦβϧτΩϟογϡߏ
Proxy͕Ωϟογϡͷಉظͱ ΫΤϦͷϑΥϫʔσΟϯά Small Datacenter DBCache Proxy 32 DBΫΤϦΩϟογϡΞʔΩςΫνϟ DB Cloud
Small Datacenter DBCache Proxy App Web Read/Write Read/Write App Web Ωϟογϡڞ༗
Ұ࣌తͳԠͷ Լڐ༰ 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 ςʔϚᶄ: γεςϜ؍ଌͷצॴ ɾطଘͷ؍ଌख๏ɺαʔόϝτϦοΫ(CPUར༻ͳͲ)ऩूɺϩάऩ ूɾղੳͳͲ ɾݸମܕσʔληϯλʔʹ͓͍ͯɺΫϥυͱൺֱ͠ɺγεςϜ ཧऀཧతͳࢄΛߟྀʹ͍Εͳ͚ΕͳΒͳ͍ ɾγεςϜͷߏཁૉಉ࢜ͷؔੑ͕֮͑ΒΕͣɺӨڹൣғෆ໌ͱͳΔ ɾΞϓϦέʔγϣϯΛมߋ͠ͳ͍ܗͰɺTCP/UDPͰଓؔΛ Ͱ͖ΔΑ͏ͳΈΛߟ͑Δ
ɾγεςϜཧऀ͚ͷՄࢹԽΑΓɺܭࢉػγεςϜ͕ࣗతʹ؍ଌ ݁ՌʹԠͯ͡அͰ͖ΔΑ͏ͳख๏Λࢦ͍ͨ͠
ݸମܕσʔληϯλʔΛࢦͨ͠ ωοτϫʔΫґଘؔͷࣗతͷߏ
4. ·ͱΊ
37 ·ͱΊ ɾදతϓϩμΫτΛࢦͯ͠ɺݚڀͷੈքདྷͨ ɾαʔόࢹαʔϏεͷ࣌ܥྻσʔλϕʔεͷݚڀ։ൃ༰Λհͨ͠ ɾݚڀ։ൃߏͱͯ͠ɺσʔλूΞϓϦέʔγϣϯͱɺγεςϜ؍ଌ ͷͦΕͧΕʹ͍ͭͯհͨ͠