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
実践的データ基盤への処方箋_2-9_2-12
Search
Tomoya Koike
February 03, 2022
Programming
0
220
実践的データ基盤への処方箋_2-9_2-12
Tomoya Koike
February 03, 2022
Tweet
Share
More Decks by Tomoya Koike
See All by Tomoya Koike
CDLE youth LT会 #1
koikeya
0
96
Other Decks in Programming
See All in Programming
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
CSC307 Lecture 10
javiergs
PRO
1
660
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
230
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
470
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
97
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
230
Exploring anti-patterns in Rails
aemeredith
2
250
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
The Language of Interfaces
destraynor
162
26k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
A Tale of Four Properties
chriscoyier
162
24k
Code Review Best Practice
trishagee
74
20k
Transcript
࣮ફత デ ʔλج൫ͷॲํᝦ ྠಡձ 2-9 ~ 2-12 খஐ࠸
2−9 ϩάऩूΤʔδΣϯτͷΩϟύγςΟʹҙ
ϩάͱ 3 Α͘ੳ͞ΕΔϩά 1. WebαʔόͷΞΫηεϩά 2. ΞϓϦέʔγϣϯͷϩά WebαʔόͷΞΫηεϩάͷྫ • ΞΫηεͨ࣌ؒ͠ɺURL
• ΞΫηεݩͷIPΞυϨε • ΞΫηεʹ༻͍ͨใ • Web App͕ઃఆͨ͠ɺϢʔβࣝผใ
ϩάϩάऩूΤʔδΣϯτͰऩू͢Δ 4 ϩάऩूΤʔδΣϯτ • όοϑΝʹΑΓϩάऩूϚωʔδϟͷෛՙΛҰఆʹͰ͖Δ • όοϑΝ͕ᷓΕͳ͍Α͏ʹαΠζΛ֬อ͢Δ͜ͱʹҙ͕ඞཁ
ϩάऩू͕Ͱ͖Δ 5 ໊ ఏڙํ๏ ఏڙɾαϙʔτ ͍ͯ͠Δձࣾ fluentd, fluent-bit OSS Treasure
Data Logstash OSS Elastic CloudWatch Cloud AWS Cloud Logging Agent Cloud GCP
2−10 σʔλͷऩूқ͕ߴ͍ͨΊ Ͱ͖Δ͚ͩΛར༻͠ແཧͳΒࣗ࡞͢Δ
σʔλେྔ͕ͩ༗༻ 7 දతͳσʔλ ϒϥβΠϕϯτ εϚϗΞϓϦΠϕϯτ IoTσόΠεσʔλ ը໘ͷεΫϩʔϧϚεͷيɺϢʔβͷϒϥβ্Ͱͷૢ࡞σʔλ εϚϗΞϓϦ্ͰͷϢʔβͷૢ࡞σʔλ ंࡌηϯαʔͷσʔλɺڥηϯαɺΤΞϥϒϧσόΠε
ϒϥβΠϕϯτεϚϗΞϓϦΠϕϯτσʔλऩूΛར༻ 8 ཉ͍͠σʔλΛऩूͰ͖Δ͕ͳ͍͔Λ୳͢ Ϣʔβͷ্ͷߦಈੳπʔϧଟ͘ଘࡏ͢Δ ϒϥβΠϕϯτ εϚϗΞϓϦΠϕϯτ Adobe AnalyticsGoogle Analytics
Google Analytics For Firebase
ࣗ࡞͢Δ߹ࢄϝοηʔδΩϡʔΛ͏ 9 ϩάऩूπʔϧΛࣗ࡞͢Δ໘ • IoTσόΠεͷσʔλͰɺΫϥυαʔϏεʹ͍͍ͷ͕ͳ͍ͱ͖ • ΞΫηεղੳπʔϧͰेͳσʔλ͕ಘΒΕͳ͍߹ • ϩά༰ΛϦΞϧλΠϜʹ׆༻͢Δඞཁ͕͋Δͱ͖I ࢄϝοηʔδΩϡʔʹϩάΛૹ৴͢Δ
ࣗ࡞͢Δ߹ࢄϝοηʔδΩϡʔΛ͏ 10 ࢄϝοηʔδΩϡʔ ΩϡʔͱɺઌೖΕઌग़͠ͷσʔλߏͷ͜ͱɻ ΩϡʔΠϯά͢Δϓϩσϡʔαͱɺpop͢ΔίϯγϡʔϚͷ2ͭͷׂ͕͋Δɻ
ࢄϝοηʔδΩϡʔͷҙ͖͢ಛͱӡ༻ͷίπ 11 ࢄϝοηʔδΩϡʔͷҙ͖͢ಛ 1. ॱংੑอূͷ༗ແ…ॱং͕ඞཁͳ߹λΠϜελϯϓΛೖΕͯฒͼସ͑Δ͕ඞཁ 2. ϝοηʔδͷॏෳ༗ແ…ॲཧΛႈʹ͢Δ͔ɺॲཧ༗ແͷஅϩδοΫΛೖΕΔ 3. ՄࢹੑλΠϜΞτ…ॲཧ࣌ؒΑΓ͍ͱɺॲཧ͕2ճҎ্Δ ӡ༻ͷίπ
• ίϯγϡʔϚ͕ॲཧʹࣦഊ͠ଓ͚ͨσουϨλʔΛઐ༻ͷΩϡʔʹೖΕΔ • ϓϩσϡʔαʔ͕ੜྔΛ੍͢ΔόοΫϓϨογϟʔͱ͍͏ΈΛೖΕΔ
۩ମతͳγεςϜͷ࡞Γํ 12 ࢄϝοηʔδΩϡʔ
2−11 ETLΛબͿϙΠϯτར༻͢Δ ίωΫλͷػೳੑͱσόοάͷ͢͠͞
ETLͱ 14 ఏڙܗଶͷҧ͍ ETL…Extract Transform LoadͷུͰɺσʔλͷநग़ɺՃɺϩʔυΛҙຯ͢Δɻ ෳࡶͳՃ͕Ͱ͖Δ͔Ͳ͏͔ ҟͳΔσʔλιʔε͔ΒͷσʔλΛՃɺ݁߹ͯ͠ϩʔυ͢Δɻ Apache Nifi,
DataSpider, Glue, Cloud Data Fusion OSSɺ༗ঈɺΫϥυͷ3छྨɻ OSS…embulkfluentd, Apache Sqoop, ༗ঈͱͯ͠DataSpider, ASTERIAͳͲɻ ΫϥυͰAWSͷGlueGCPͷCloud Data Fusion, ྆αʔϏεͷDMS, embulkͷϚωʔδυαʔϏεͰ͋ΔtroccoͳͲɻ ※DMS…Database Migration Service
͏ίωΫλͷػೳΛॏࢹ͢Δ 15 MySQLίωΫλͰ͋ΕɺWHERE۟ࠩͷΈऩू͕Ͱ͖Δ͔ɻ ϏοάσʔλͰ͋ΕɺࢄॲཧͰ͖Δ͔ʹҙ͢Δɻ
ιʔείʔυϨϕϧͰσόοά͍͢͠ͷΛར༻͢Δ 16 όά͕ى͖ͨͱ͖ɺσʔλιʔεɾ֨ೲઌɾऩू͠Α͏ͱ͢ΔσʔλͷΈ߹ ΘͤʹΑͬͯ࠶ݱྫ͕ͳ͍͜ͱɻ ίωΫλͷιʔείʔυΛݟʹߦ͚Δͷ͕େࣄɻ ETLͷαϙʔτʹௐࠪͯ͠Β͏ͱ͖ɺσʔλج൫ʹೖͬͯΒ͏Α͏४උɻ σʔλʹґଘͯ͠ى͖Δόά ఆ͍ͯ͠ͳ͍จࣈίʔυ੍ޚจࣈɺվߦίʔυ nullΛظ͢Δͱ͜Ζʹۭจࣈྻ
ΤϯδχΞ͕͍ͳ͚ΕϓϩάϥϛϯάϨεͷETLબࢶͷ1ͭ 17 ઐ༻ͷը໘্Ͱσʔλιʔε֨ ೲઌͷΞΠίϯΛͭͳ͛ͯETLॲ ཧΛఆٛɺσϓϩΠͰ͖Δɻ Apache Nifi, Talend, DataSpider, ASTERIA,
Glue, Cloud Data Fusion ͳͲɻ
2−12 σʔλϨΠΫͰऩूͨ͠σʔλ Λͳ͘͞ͳ͍Α͏ʹ͢Δ
ऩूͨ͠σʔλΛݪଇͦͷ··ੵ͢Δ 19 σʔλϨΠΫʹऩूͨ͠σʔλΛՃͤͣʹ֨ೲ͢Δ σʔλϨΠΫʹԽͰ͖༰ྔ͕֦ுͰ͖ΔΛબͿ ऩूͨ͠σʔλΛͳ͘͞ͳ͍ͨΊʹԽ͢Δ͜ͱɺ σʔλ༰ྔΛ૿ͤΔΑ͏ʹ͓ͯ͘͜͠ͱ͕ॏཁɻ ϑΝΠϧJSONܗࣜɺςʔϒϧߏͳͲΛͦͷ··อଘɻ Ճʹࣦഊͯ͠σʔλଛࣦ͢Δ͜ͱΛ͙ͨΊɻ ػີใݸਓใಗ໊ԽΛߦͬͯੵ͢Δɻ
ϑΝΠϧΦϒδΣΫτετϨʔδʹੵ͢Δ 20 ෳͷσʔληϯλʔͰෳσόΠεʹ Խͯ͠อଘ͢Δ͜ͱͰɺ ΠϨϒϯφΠϯͷݎ࿚ੑͱ 99.99%ͷՄ༻ੑΛ࣮ݱ͍ͯ͠Δɻ σʔλΛʮΦϒδΣΫτʯͱ͍͏୯ҐͰѻ͏هԱஔɻ ΫϥυαʔϏεͱͯ͠S3Cloud StorageͳͲ͕͋Δɻ ΦϒδΣΫτετϨʔδ
ΦϯϓϨͷ߹ࢄετϨʔδΛར༻ɻ OSSͱͯ͠HDFSͳͲɻ
CSVJSONσʔλσʔλϕʔεʹೖΕͯOK 21 CSVJSONσʔλΛDWH༻ੳDBʹೖΕΔ ੳ༻DBͷதͰɺੜͷσʔλ Λ֨ೲ͢ΔσʔλϨΠΫͱ Ճ͞ΕͨσʔλΛ࣋ͭDWH ʹ͚Δ JSONʹ͍ͭͯɺจࣈྻܕ·ͨJSONܕͱͯ֨͠ೲ͢Δ
σʔλ͕ΦϯϓϨϛεʹ͋ͬͯσʔλϨΠΫΫϥυʹ͢Δ 22 3ͭͷཧ༝ ैྔ՝ۚͰར༻Ͱ͖ΔͨΊ ٱੑ͕ߴ͍ͨΊ ӡ༻ਓ݅අ͕͍҆ ج൫ߏங࣌ʹσʔλྔΛਖ਼֬ʹݟੵΔͷࠔͳͨΊ AWS S3ͷٱੑΠϨϒϯφΠϯͰ͋ΓɺΦϯϓϨͰఢΘͳ͍ αʔόͷߏΛؾʹ͠ͳͯ͘Α͍ͷͰɺඞཁͳٕज़ྗ͕Լ͕Δ
σϝϦοτͱͯ͠ɺࡉ҆͘ఆ͠ͳ͍ωοτճઢ͔ɺߴ͍ઐ༻ઢ͔Λ༻͍Δඞཁ͕͋Δ