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
1.9k
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 Vectorsearchではじめる生成AIアプリ開発
chie8842
3
710
AWS GlueとAWS Lake Formationではじめるデータマネジメント
chie8842
0
730
Distributed Processing in Python
chie8842
2
540
クックパッドにおける推薦(と検索)の取り組み
chie8842
21
7.7k
Understanding distributed processing in Python
chie8842
2
1.7k
Performance Tuning Tips of TensorFlow Inference
chie8842
1
690
クックパッドにおけるCloud AutoML事例
chie8842
9
7.6k
Cookpad_Internship_MLOps_Lecture_2018
chie8842
35
16k
機械学習デプロイを支えるコンテナ技術(Machine Learning on Docker)
chie8842
14
8.1k
Other Decks in Technology
See All in Technology
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
430
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.8k
How to Lead? Testimonial of a Lead Android Engineer
oleur
1
120
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
1.9k
Azureの基本的な権限管理の勉強会
yhana
1
2.2k
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
180
uvを使ってストレスフリーな Python開発をしよう!
r74tech
0
250
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
7
2.2k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
7
1.4k
令和最新版 Ruby プロファイラ "Pf2" のご紹介
osyoyu
0
160
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.8k
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
3.3k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Atom: Resistance is Futile
akmur
260
25k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Code Review Best Practice
trishagee
56
15k
Building an army of robots
kneath
300
41k
How STYLIGHT went responsive
nonsquared
92
4.8k
Unsuck your backbone
ammeep
664
57k
Producing Creativity
orderedlist
PRO
338
39k
Done Done
chrislema
178
15k
RailsConf 2023
tenderlove
9
570
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