Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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:モダンなアプリ開発を支えるデータプラットフォームのご紹介
chie8842
0
27
MongoDB Vectorsearchではじめるカスタマイズ可能な生成AIアプリ開発
chie8842
0
25
MongoDB Atlas Search のご紹介
chie8842
2
1.9k
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
1.9k
AWS GlueとAWS Lake Formationではじめるデータマネジメント
chie8842
0
1.2k
Distributed Processing in Python
chie8842
2
790
クックパッドにおける推薦(と検索)の取り組み
chie8842
20
8.1k
Understanding distributed processing in Python
chie8842
2
2.1k
Performance Tuning Tips of TensorFlow Inference
chie8842
1
770
Other Decks in Technology
See All in Technology
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
780
生成AI・AIエージェント時代、データサイエンティストは何をする人なのか?そして、今学生であるあなたは何を学ぶべきか?
kuri8ive
2
2.1k
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
250
Security Diaries of an Open Source IAM
ahus1
0
130
学習データって増やせばいいんですか?
ftakahashi
1
160
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
620
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
0
290
第4回 「メタデータ通り」 リアル開催
datayokocho
0
120
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
4.7k
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
0
470
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Ayumi Ohno)
nao_sumikawa
0
120
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Docker and Python
trallard
47
3.7k
Practical Orchestrator
shlominoach
190
11k
The Invisible Side of Design
smashingmag
302
51k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
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