Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rettyの分析基盤におけるAWS活用術
Search
chie8842
October 20, 2017
Technology
8
2k
Rettyの分析基盤におけるAWS活用術
#xtechjaws #xtechjaws01
2017/10/20 X-Tech JAWS の資料
chie8842
October 20, 2017
Tweet
Share
More Decks by chie8842
See All by chie8842
MongoDB Atlas Search のご紹介
chie8842
2
1.6k
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
1.6k
AWS GlueとAWS Lake Formationではじめるデータマネジメント
chie8842
0
1k
Distributed Processing in Python
chie8842
2
700
クックパッドにおける推薦(と検索)の取り組み
chie8842
20
8k
Understanding distributed processing in Python
chie8842
2
2k
Performance Tuning Tips of TensorFlow Inference
chie8842
1
740
クックパッドにおけるCloud AutoML事例
chie8842
9
7.9k
Cookpad_Internship_MLOps_Lecture_2018
chie8842
35
16k
Other Decks in Technology
See All in Technology
Restarting_SRE_Road_to_SRENext_.pdf
_awache
0
160
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
710
お問い合わせ対応の改善取り組みとその進め方
masartz
1
370
Redefine_Possible
upsider_tech
0
260
OPENLOGI Company Profile
hr01
0
61k
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.8k
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
2k
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
240
銀行でDevOpsを進める理由と実践例 / 20250317 Masaki Iwama
shift_evolve
1
110
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
400
Agile TPIを活用した品質改善事例
tomasagi
0
310
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
930
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
75
9.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
RailsConf 2023
tenderlove
29
1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
How to train your dragon (web standard)
notwaldorf
91
5.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
Building Applications with DynamoDB
mza
94
6.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Transcript
3FUUZͷੳج൫ʹ͓͚Δ"84׆༻ज़ !DIJF DIJFIBZBTIJEB 1
ࣗݾհ $IJF)BZBTIJEB 5XJUUFS!DIJF (JU)VCDIJF 3FUUZ*OD 4PGUXBSF&OHJOFFS
"84($1ػցֶश1ZUIPO4DBMB$MPKVSF%#WJN মϐΞϊςχεεϊϘ 2
"84 ͱҰ෦($1 Λϑϧ׆༻ͯ͠ ੳج൫ΛظؒͰ ߏஙͨ͠ࣄྫΛհ͠·͢ɻ 3
3FUUZͷσʔλ • ͓ళใ • Ϣʔβใ • ྉཧ໊ใ • ͓ళ৯ͷࣸਅ •
Ϣʔβͷߘจ • ϖʔδͷΞΫηεϩά 4
ੳج൫ߏஙͷഎܠ • 3FUUZೖࣾ マネージャ わたし(⼊社初⽇、 肩書き:データ サイエンティスト) ͱΓ͋͑ͣɺੳج൫ͭͬͯ͘ɻ ϲ݄Ͱʂ ͑ɺੳج൫ʜʁ
5
ͦͦੳج൫ͱʁ • σʔλΛੵɾ׆༻͢ΔͨΊͷج൫ ੳج൫ ! ,1*μογϡϘʔυ ΞυςΫ Ϩίϝϯυ ϩά ϑΝΠϧ
σʔλ ϕʔε 6 " # "#ςετ
ͱͱ͋ͬͨੳج൫ͷ՝ᶃ ˙%8)ͷςʔϒϧઃܭͷ ྫ ΫΤϦ࣮ߦ࣌ʹաେͳαʔό Ϧιʔε͕ඞཁ ετϨʔδ༰ྔඡഭ ੳͮ͠Β͍ ʢΞυϗοΫੳͷʹ ෳࡶͳਖ਼نදݱநग़ʣ •
ෆཁͳϩά͕ϩάશମͷׂ • దͳσʔλܕ͕ΘΕ͍ͯͳ͍ • KTPOΦϒδΣΫτ͕ςΩετܗࣜͰೖ͍ͬͯΔ 7
ͱͱ͋ͬͨੳج൫ͷ՝ᶄ ˙Ϛελσʔλผͷ%#ʹ͋Δ • Ϛελσʔλͱಥ߹ͯ͠ੳ͍ͨ͠߹ ผͷڥʹσʔλΛҠ͢ඞཁ͕͋Δ • KPJO͍ͨ͠ΧϥϜಉ࢜Ͱσʔλܕ͕ҟͳΔ ੳऀ͝ͱʹڥߏங σʔλసૹίετ
8
ͱͱ͋ͬͨੳج൫ͷ՝ᶅ ˙ϩά૿େʹ͏ύϑΥʔϚϯεϘτϧωοΫ • ࣍όον͕ऴΘΒͳ͍ • ؾܰʹΞυϗοΫੳͰ͖ͳ͍ ˠΫΤϦΛ͛Δࡍ4MBDLʹใࠂ͢Δӡ༻ 9
ݱঢ়ཧ • ϩάαΠζɿʹे(#ʢH[KTPOঢ়ଶʣ ˠ͚ͬ͜͏Ͱ͔͍ɻ͜Ε͔Β૿͑Δ • ਖ਼نԽ͞Ε͍ͯͳ͍ϩά – ୯७ͳσʔλసૹਖ਼نදݱநग़Ͱ͢·ͳ͍ – 4FTTJPOJ[F&5-ͰΔ
• αʔϏεଆͷػೳՃʹ͏ཁ݅มߋ͕ ༧͞ΕΔ 10
৽͍͠ੳج൫ʹٻΊΒΕΔͷ • ੳऀʹͱ͍͍ͬͯ͢ – 42-ͦΕʹ४ͣΔΫΤϦݴޠ͕ར༻Ͱ͖Δ – Ϩεϙϯεεϧʔϓοτ • Ճ։ൃɾӡ༻͕͍͢͠ –
ྻมߋ͕ॊೈʹͰ͖Δ – ෳࡶͳ&5-ॲཧʹॊೈʹରԠͰ͖Δ • ίετʢΠχγϟϧϥϯχϯάʣ͕ݱ࣮తͰ͋Δ • εέʔϥϒϧͰ͋Δ – ੳରσʔλͷछྨαΠζ͕૿͑ͯରԠͰ͖Δ Ϋϥυͷྑ͞Λϑϧ׆༻ͨ͠ੳج൫ 11
ͭͬͨ͘ੳج൫ 3FUUZαʔϏεج൫ 3FUUZੳج൫ʢ"84ʣ 3FUUZੳج൫ʢ($1ʣ Kinesis S3 EMR (Spark) S3 EC2
EC2 RDS(MySQL) 分析者 プランナ 12
ͭͬͨ͘ੳج൫ 3FUUZαʔϏεج൫ 3FUUZੳج൫ʢ"84ʣ 3FUUZੳج൫ʢ($1ʣ Kinesis S3 EMR (Spark) S3 EC2
EC2 RDS(MySQL) 分析者 プランナ σʔλϨΠΫ σʔλՃ πʔϧ %8)ɾ%. 13
ੳج൫ߏஙͷϙΠϯτ ظؒͰΘΕΔੳج൫Λߏங͢ΔͨΊʹؾΛ͚ͭͨ ϙΠϯτΛ͝հ͠·͢ɻ 14 ̍ɽతʹ͋ͬͨج൫ίϯϙʔωϯτͷ બఆ ̎ɽॲཧ͢Δσʔλྔͷ૿ՃΛߟྀͨ͠
ઃܭ ̏ɽϫʔΫϑϩʔͷཧ ̐ɽظؒͰ͑͘Δੳج൫Λ࡞Δ ߏஙͷਐΊํ
తʹ͋ͬͨج൫ίϯϙʔωϯτ ͷબఆ 15
ੳج൫ͷׂ 16 σʔλϨΠΫ %8) σʔλͷऩूɾ ੵॴ %. ΞυϗοΫੳ ༻σʔλϕʔε తผʹՃɾू
͞Εͨσʔλϕʔε Γ͍ͨ͜ͱ͕ҧ͏ͷͰඞཁͳཁ݅ҧ͏ɻ ҰՕॴͰҰʹΖ͏ͱ͠ͳ͍ɻ ͦΕͧΕͷཁ݅ʹ͋ͬͨίϯϙʔωοτΛར༻ ॲཧΛ͚Δ
3FUUZͰͷߏ 17 σʔλϨΠΫ 4 %8)%. #JH2VFSZ
σʔλϨΠΫɿ4 • ඇߏԽσʔλͷอଘ • ֦ுੑɾٱੑ͕୲อ͞ΕΔ • αʔϏεͷಈ͍͍ͯΔॴͱಉ͡ϦʔδϣϯʹσʔλΛ อ͍࣋ͨ͠ ߹ʹΑͬͯόοΫΞοϓɺࠪϩάɺকདྷతͳ σʔλϏδωεͷཁ݅ߟྀ
– ωοτϫʔΫసૹίετ – ཧ͢͠͞ • ಉ͡όέοτͰϓϨϑΟοΫελάΛར༻ͨ͠ॊ ೈͳϥΠϑαΠΫϧͷӡ༻ • ,JOFTJT'JSFIPTFΛར༻͢Δ͜ͱͰ͔ΜͨΜʹ࣌͝ͱʹ σΟϨΫτϦΛ͚ͯอଘͰ͖Δ 18
%8)ɾ%.ɿ#JH2VFSZ • ੳऀʹͱ͍͍ͬͯ͢ – 4UBOEBSE42-͕ར༻Ͱ͖Δ – 6%'8JOEPXؔ͑Δ – εϓϨουγʔτQBOEBTEBUBGSBNFͱͷ࿈ܞ •
ޙͷςʔϒϧઃܭมߋ͕͍͢͠ – ςʔϒϧͷྻՃ͕Ͱ͖Δ • ҆ఆͨ͠ϨΠςϯγͱεϧʔϓοτ • ϝϯςφϯεϑϦʔ • ࣌ؒ՝ۚͰͳ͘ΫΤϦ՝ۚ • σϝϦοτɿ3FE4IJGU"UIFOBΛ͏߹ͱൺͯɺ "84͔Β($1ͷσʔλసૹίετ͕͔͔Δ 19
ॲཧ͢Δσʔλྔͷ૿ՃΛ ߟྀͨ͠ઃܭ 20
αʔϏε֦େʹ͏σʔλྔ૿Ճ • 3FUUZͷ߹ 21 ݄ສ66 ݄ສ66
Ͱഒɻࠓޙ૿͑ଓ͚Δɻ ࠷ॳ͔Βεέʔϥϒϧͳઃܭʹ͓ͯ͘͠ ඞཁ͕͋Δɻ
σʔλྔ૿ՃͰؾʹ͖͢ϙΠϯτ • σʔλੵ༰ྔ – 4ɺ#JH2VFSZΛ࠾༻͢Δ͜ͱͰΫϦΞ • &5-ॲཧ – σʔλ͕૿͑ͯಉ͡ΞʔΩςΫνϟͰॲཧՄೳ͔ –
ॲཧ͕࣌ؒݱ࣮త͔ • σʔλసૹ – σʔλ͕૿͑ͯಉ͡ΞʔΩςΫνϟͰॲཧՄೳ͔ – ॲཧ͕࣌ؒݱ࣮త͔ – సૹίετ͕ڐ༰ൣғ͔ 22
&5-͔&-5͔ʁ &5-ɿ&YUSBDUˠ5SBOTGPSNˠ-PBE – σʔλΛܗ͔ͯ͠Β%8)ʹϩʔυ͢Δ &-5ɿ&YUSBDUˠ-PBEˠ5SBOTGPSN – σʔλΛ%8)ʹϩʔυ͔ͯ͠Β%8)্ͰσʔλΛܗ͢Δ 23 • 3FUUZͷ߹
– ෆཁͳϩάग़ྗ͕શମͷׂΛΊΔͨΊɺωοτϫʔΫ సૹྔΛߟྀͯ͠%8)ʹೖΕΔલʹϑΟϧλ͍ͨ͠ – 42-Ͱදݱͮ͠Β͍ෳࡶͳ&5-ॲཧΛߦ͍͍ͨ ˠ%8)ʹೖΕΔલʹσʔλܗɻ ʢͨͩ͠42-ͰॲཧͰ͖Δͷ#JH2VFSZ্Ͱॲཧʣ
&5-ॲཧɿ&.3 ˙&.3 • ϩά͕૿େͯ͠ΫϥελΛ૿͢͜ͱͰ εέʔϧͰ͖Δ • Ϋϥελڥߏங͕ෆཁ • (BOHMJB;FQQFMJOʹΑΔϦιʔεࢹϊʔτ ϒοΫ։ൃ͕ศར
• ౦ژϦʔδϣϯͰ͑Δ σʔλՃᶃʢ4QBSLʣ 24 σʔλՃ ᶄʢ42-ʣ
&5-ॲཧɿ&.3 4QBSL ˙4QBSL • 42-Ͱදݱͮ͠Β͍ඇߏԽσʔλʹର͢Δ ෳࡶͳ&5-ॲཧ – ࣌ܥྻσʔλͷ4FTTJPOJ[FͳͲ • ੳऀʹೃછΈਂ͍1ZUIPOͰॲཧ͕هड़Ͱ͖Δ
• 42-ͱҟͳΓϞδϡʔϧʹ͚ͯςετ͕Ͱ͖Δ ˞4QBSLͷৄࡉ1Z$PO+1ͷൃදࢿྉࢀর σʔλՃᶃʢ4QBSLʣ 25 σʔλՃ ᶄʢ42-ʣ
σʔλྔ૿ՃͰؾʹ͖͢ϙΠϯτ • σʔλੵ༰ྔ – 4ɺ#JH2VFSZΛ࠾༻͢Δ͜ͱͰΫϦΞ • &5-ॲཧ – σʔλ͕૿͑ͯಉ͡ΞʔΩςΫνϟͰॲཧՄೳ͔ –
ॲཧ͕࣌ؒݱ࣮త͔ • σʔλసૹ – σʔλ͕૿͑ͯಉ͡ΞʔΩςΫνϟͰॲཧՄೳ͔ – ॲཧ͕࣌ؒݱ࣮త͔ – సૹίετ͕ڐ༰ൣғ͔ 26
σʔλసૹɿ&NCVML • ZBNMϑΝΠϧͰσʔλసૹͷઃఆΛཧ • ϓϥάΠϯʹΑ༷ͬͯʑͳσʔλιʔεؒͷ σʔλసૹ͕Մೳ • &NCVML্Ͱ͋ΔఔͷσʔλͷՃՄೳ • σʔλͷฒྻΛ্͛Δ͜ͱͰσʔλసૹޮ
Λ্Ͱ͖Δ – ͨͩ͠సૹσʔλྔ͕ଟ͍ͷʹؔͯ͠Τϥʔ͕ සൃ͍ͯ͠Ζ͍Ζνϡʔχϯά͕ඞཁͩͬͨɻ 27
ϫʔΫϑϩʔͷཧ 28
ϫʔΫϑϩʔͷಋೖ &NCVMLɺ&.3ɺ1ZUIPOͳͲ߹ΘͤΔͱΛ͑ΔλεΫ ˠґଘؔͷ֬ೝΤϥʔ࣌ͷղੳͷͨΊͷϫʔΫϑϩʔ ΤϯδϯΛಋೖɻ ϫʔΫϑϩʔΤϯδϯʹҎԼͳͲ͕͋Δ • NBLFpMF • EJHEBH
• "JSqPX • -VJHJ ࠓճɺ7JTVBMJ[BUJPOͱ1ZUIPOͰ͔͚Δͱ͍͏؍͔Β "JSqPXΛબΜͩ 29
"JSqPXͷར༻ • 1ZUIPOͰ͔͚Δ • 7JTVBMJ[BUJPO͕༏Ε͍ͯΔ – ॲཧͷґଘ͕ؔΘ͔Γ͍͢ – ຖɺλεΫ͝ͱͷॲཧ͕࣌ؒݟ͑Δ ˞HJUIVCͷ"JSqPXͷϖʔδʹྫ͕͋ͬͯΘ͔Γ͍͢
• Τϥʔ࣌ͷϦτϥΠͷ੍ޚ • ॲཧ݁ՌΛ4MBDLͰ௨ 30
ظؒͰ͑͘Δੳ ج൫Λ࡞ΔߏஙͷਐΊํ 31
ੳج൫͋Δ͋Δ • ࡞ͬͯΈ͚ͨͲΘΕͳ͍ – ཁ݅ͱ߹Θͳ͍ – εέʔϧͰ͖ͣ࡞Γ͠ – ͳΜ͔͍ʹ͍͘ •
ӡ༻͕ΊΜͲ͍͘͞ • ਵ࣌ͷཁ݅มߋʹ͑ΒΕͳ͍ 32 ҰਓͰ๊͑ࠐΉͱ͍ͨΜͳ͜ͱʹɻ
ੳج൫ߏஙͷਐΊํᶃ • ૣ͘࡞ͬͯ͑͘ͳ͍ͷΛ࡞ͬͯҙຯ͕ͳ͍ • %8)ͷ߹ɺج൫෦ʮ࡞ͬͯյͯ͠ʯ͕؆୯ʹ ͢·ͳ͍ɻ • ج൫෦৻ॏʹܾΊͨ 5⽉ 6⽉
ཁ݅ώΞϦϯάɺɾٕज़બఆɺ1P$ &5-εΫϦϓτ࡞ɾ ڥߏங ͬͪ͜ʹ͔͚࣌ؒͨɻ ͪΌΜͱΘΕΔੳج൫͕Ͱ͖ͨʂ 33
ੳج൫ߏஙͷਐΊํᶄ • ੳऀ͕ࣗ͋Δఔӡ༻Ͱ͖ΔΑ͏ʹ͢Δ – ϑϧϚωʔδυαʔϏεΛ͏ – &NCVMLͷઃఆϑΝΠϧੳऀ͕ࣗͰՃɻ Ճ͞ΕͨΒࣗಈͰ"JSqPXδϣϒʹऔΓࠐ·ΕΔ Α͏ʹ͢Δ –
4QBSLʹΑΔਖ਼نදݱநग़ͷ݅มߋɺઃఆ༻ͷ ςΩετϑΝΠϧͷରߦΛมߋ͢Δ͚ͩ – Τϥʔൃੜ࣌#BDLMPHͰϨϙʔτͯ͠*TTVFཧɻ ؆୯ͳΤϥʔؾ͍ͮͨਓ͕͢ɻ 34
ظؒͰ࡞ΔͨΊʹޙճ͠ʹͨ͠ͷ ҎԼʹؔͯ͠ɺ࠷ॳͷϲ݄༏ઌΛԼ͛ͨɻ • $*ɾςετͷ࣮ • υΩϡϝϯςʔγϣϯ ͱʹ͔͘ಈ͘ͷΛݟͤΔ͜ͱ༏ઌɻ ʢ্هΛ୲อͯ͠ΘΕͳ͔ͬͨΒҙຯ͕ͳ͍ͷͰɺҰ ୴ӡ༻ʹͤͯΈ͔ͯΒͪΌΜͱ͢Δํʹͨ͠ɻʣ
όά͕͋Δ߹͋ͱ͔Βͳ͓ͤΔͭ͘Γʹͳ͍ͬͯΕ Α͍ 35
ੳͷͨΊʹʢۤ࿑ʣͨ͜͠ͱ ͷҰ෦ • ,JOFTJT'JSFIPTFʮσʔλൃੜ࣌ࠁʯͰͳ͘ʮσʔλ౸ ண࣌ࠁʯͰσΟϨΫτϦ͕͔ΕΔɻ લͷσʔλΛੳ͠Α͏ͱ͢Δͱɺσʔλ͕Γͳ ͍͜ͱʹͳΔ ˠ&.3Ͱͷ&5-Ͱʮσʔλൃੜ࣌ࠁʯΛ͏Α͏ʹɻ •
#JH2VFSZEBUFϑΥʔϚοτ(.5ͷΈɻ ɹˠ&5-Ͱ࣌ؒޙͷ࣌ࠁͷΧϥϜ࡞ • σʔλϕʔε͔Βऔಘ͢ΔςʔϒϧͱϩάςʔϒϧͷΧ ϥϜͷܕΛ͋ΘͤΔ • (PPHMF"OBMZUJDTʹ͋Θͤͯ66*%ͱ4FTTJPO*%Λ&5-Ͱ ༩ 36
͍͞͝ʹ • "84ʢͱ($1ʣΛϑϧ׆༻͢Δͱੳج൫ΛظؒͰ ࡞ΕΔʂ – Ͱ̍ਓͰΔͷͭΒ͔ͬͨɻ৭ΜͳҙຯͰɻ • ੳج൫ͷߏஙͷϙΠϯτͱͯ͠ɺҎԼΛհͨ͠ɻ – తʹ͋ͬͨج൫ίϯϙʔωϯτͷબఆ
– ॲཧ͢Δσʔλྔͷ૿ՃΛߟྀͨ͠ઃܭ – ϫʔΫϑϩʔͷཧ – ظؒͰ͑͘Δੳج൫Λ࡞ΔߏஙͷਐΊํ 37
༻ޠ • σʔλϨΠΫ – ՃલͷੜϩάΛอଘ͢Δॴ • %8) – ੳ͍͢͠Α͏ʹՃ͞ΕͨσʔλΛ֨ೲ͢Δσʔλϕʔε •
%. – ੳ༻్ʹԠͯ͡ूܭޙͷσʔλͳͲΛ֨ೲ͢ΔͳͲɺαϯυ ϘοΫεతʹ͔ͭ͏ͨΊͷσʔλϕʔε • σʔλՃπʔϧ – ϩάΛੳ͍͢͠ܗʹܗ͢Δπʔϧ • ϫʔΫϑϩʔΤϯδϯ – Ұ࿈ͷσʔλॲཧͷϑϩʔΛཧ͢Δπʔϧ 38