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:モダンなアプリ開発を支えるデータプラットフォームのご紹介
chie8842
0
12
MongoDB Vectorsearchではじめるカスタマイズ可能な生成AIアプリ開発
chie8842
0
12
MongoDB Atlas Search のご紹介
chie8842
2
1.7k
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
1.7k
AWS GlueとAWS Lake Formationではじめるデータマネジメント
chie8842
0
1.1k
Distributed Processing in Python
chie8842
2
740
クックパッドにおける推薦(と検索)の取り組み
chie8842
20
8.1k
Understanding distributed processing in Python
chie8842
2
2.1k
Performance Tuning Tips of TensorFlow Inference
chie8842
1
760
Other Decks in Technology
See All in Technology
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
180
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
380
DATA+AI SummitとSnowflake Summit: ユーザから見た共通点と相違点 / DATA+AI Summit and Snowflake Summit
nttcom
0
220
MCPに潜むセキュリティリスクを考えてみる
milix_m
1
730
(HackFes)米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
5
660
20250719_JAWS_kobe
takuyay0ne
1
160
Expertise as a Service via MCP
yodakeisuke
1
140
claude codeでPrompt Engineering
iori0311
0
440
スプリントレビューを効果的にするために
miholovesq
9
1.6k
地図と生成AI
nakasho
0
700
Jitera Company Deck / JP
jitera
0
140
Building GoReleaser - from shell script to paid product
caarlos0
0
270
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
How GitHub (no longer) Works
holman
314
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
A Tale of Four Properties
chriscoyier
160
23k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
We Have a Design System, Now What?
morganepeng
53
7.7k
Code Review Best Practice
trishagee
69
19k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
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