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
ピクシブ流データ活用基盤のこれまでとこれから #pixivTECHSALON / 20190305
Search
minamitary
March 05, 2019
Technology
1
3.7k
ピクシブ流データ活用基盤のこれまでとこれから #pixivTECHSALON / 20190305
pixiv TECH SALON
https://techsalon.pixiv.co.jp/
メインセッションで使用した発表資料です。
minamitary
March 05, 2019
Tweet
Share
More Decks by minamitary
See All by minamitary
ピクシブにおける「ビジョン」の取り扱われ方 #pixivdevmeetup / 20240920
minamitary
1
1.3k
興味関心と組織とリサーチ #ResearchConf / 20240419
minamitary
1
220
デザインを誘発する「イネーブルメント」アプローチ #spectrumfest2023 / 20231203
minamitary
0
890
まわるUXリサーチ、たまるユーザーインサイト #uxmilkallnight / 20200912
minamitary
2
380
もし仮に、定性・定量リサーチを全開発者が自ら実施できるようになったとしたら #InsightTokyo / 20200325
minamitary
7
2.7k
エンジニアがUXリサーチャーを兼任するに至ったワケ #uxmilk_fest / 20190914
minamitary
7
11k
Other Decks in Technology
See All in Technology
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Lambdaと地方とコミュニティ
miu_crescent
2
370
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
Platform Engineering for Software Developers and Architects
syntasso
1
510
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
CysharpのOSS群から見るModern C#の現在地
neuecc
1
3.1k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
複雑なState管理からの脱却
sansantech
PRO
1
140
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
BBQ
matthewcrist
85
9.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
How to Ace a Technical Interview
jacobian
276
23k
Building Your Own Lightsaber
phodgson
103
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
What's new in Ruby 2.0
geeforr
343
31k
Code Reviewing Like a Champion
maltzj
520
39k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
ϐΫγϒྲྀσʔλ׆༻ج൫ͷ ͜Ε·Ͱͱ͜Ε͔Β pixiv.inc minamitary
σʔλ׆༻ج൫ ࠓ͢͜ͱ
@minamitary / ా༸հ 2015த్ೖࣾ pixivӡӦຊ෦ + σʔλۦಈਪਐࣨ ΤϯδχΞ + UX
Ϧαʔνϟʔ ྖҬԣஅతͳಈ͖ํΛ͢Δ͜ͱ͕ଟ͍ ࣗݾհ
• 2015ɿೖࣾޙʮsenseiʯͷ্ཱͪ͛ʹϦʔυΤϯδχΞͱͯ͠ࢀՃ • 2016ɿsenseiͷϦϦʔεޙάϩʔεΛ୲ɺͦͷޙʮpixivʯ • Ҏ߱ΫϦΤΠλʔΛத৺ͱͨ͠UXϦαʔνΛओʹ୲ • ఆྔతϦαʔνͰBigQueryΛୟ͖࢝Ίͯ̏ ࣗݾհ ʴ
͓ֆ͔͖ྺ̏
σʔλ׆༻ج൫ ࠓ͢͜ͱ
ϐΫγϒʹ͓͚Δσʔλ׆༻ج൫ ≒ BigQuery
• BigQueryʹσʔλΛूΊ͚ͨͩͰμϝ • ΘΕͳ͚Εσʔλʮ׆༻ʯج൫Ͱͳ͍ ϐΫγϒʹ͓͚Δσʔλ׆༻ج൫
ʮ׆༻ʯʹͲ͏ཱ͔ͪ͏͔
• ʮ׆༻ʯΛ८ͬͯɺ̏ͷؒʹ৭ʑͳมԽ͕͋ͬͨ • ٕज़తͳมԽ͚ͩͰͳ͘ɺ৫తͳมԽେ͖͔ͬͨ ϐΫγϒʹ͓͚Δσʔλ׆༻ج൫
• ͜ͷ̏Ͱσʔλ׆༻ج൫ʹੜͨ͡มԽ ‣ ٕज़తͳมԽ ‣ ৫తͳมԽ • ϐΫγϒʹ͓͚Δσʔλ׆༻ج൫ͷ͜Ε͔Β ࠓ͢͜ͱ
ʮΦʔφʔγοϓʯ
Φʔφʔγοϓʁ ୲͢ΔϓϩμΫτʹର͢ΔΦʔφʔγοϓ
Φʔφʔγοϓʁ ʮԶ͕͜ͷϓϩμΫτΛੈքҰʹ͢ΔΜʂʯ
• શ৬छ͕ϢʔβʔΛத৺ʹΈͯಈ͘ • Ϣʔβʔ࠷༏ઌ = ৬छؒͷ͕͍֞ࠜ • ϓϩμΫτѪɾΧϧνϟʔѪ͕ڧ͍ϝϯόʔ͕ଟ͍ લఏɿϐΫγϒͷاۀจԽ
ʮΦʔφʔγοϓ͕ڧ͍ʯ ͱ͍͏ͷ͕ϐΫγϒʹ͓͚Δେલఏ
υϝΠϯཧղ͕σʔλ׆༻ͷਫ਼ΛߴΊΔ υϝΠϯཧղͷਂ͍ਓ͕σʔλΛ׆༻͍͖ͯ͘͠ Φʔφʔγοϓͳͥॏཁʁ
Φʔφʔγοϓ͕υϝΠϯཧղΛਂΊΔ ͭ·ΓΦʔφʔγοϓ͕σʔλ׆༻ͷਫ਼ΛߴΊΔ Φʔφʔγοϓͷڧ͍։ൃऀ͕σʔλΛ׆༻͍͖ͯ͘͠ Φʔφʔγοϓͳͥॏཁʁ
σʔλ׆༻ Φʔφʔγοϓͱηοτ جຊݪଇɿ
͏ҰͭͷϐΫγϒͷಛ
ଟछଟ༷ͳϓϩμΫτ
• υϝΠϯྖҬͯ͢ʮ࡞׆ಈʯ • αʔϏεܗଶҟͳΓͭͭɺϢʔβʔಉ͡ • Ϣʔβʔ୯ҐͰͷ݁ͼ͚͕ͭେࣄʂ ϐΫγϒͷ๊͑ΔϓϩμΫτ
• ʮσʔλ׆༻Φʔφγοϓͱηοτʯҡ࣋ • σʔλ׆༻ͷʮڮ͠ʯඞཁ ͦΕΏ͑ʹ……
ʮΦʔφʔγοϓʯ ʮڮ͠ʯ ೋͭͷϙΠϯτɿ
1. ͜ͷ3Ͱੜͨ͡มԽ ʙٕज़ฤʙ 2. ͜ͷ3Ͱੜͨ͡มԽ ʙ৫ฤʙ 3. ͜Ε͔Βͷ
࣌ḪΔ͜ͱ3……
• σʔλطʹBigQueryʹͬͯͨ • ར༻։࢝2014ʂ ٕज़ฤ -3લ-
• DBϨϓϦΧΛୟ͘ • Google AnalyticsͷAPIΛୟ͍ͯूܭ • ൿͷεϓϨουγʔτͷཚཱ • σʔλ෦తʹ্͔͕͍ͬͯ͠ͳ͍ʂ ʮ׆༻ʯݶఆత……
3ޙ
σʔλBigQueryʹू JOIN͠์ʂ
• ൿͷεϓϨουγʔτɿ΄΅ফ໓ʂ • ൿͷूܭεΫϦϓτɿ΄΅ফ໓ʂ • ཧը໘্ʹࡏ͍ͯͨ͠άϥϑ܈ɿ΄΅ফ໓ʂ • શͯͷσʔλॲཧ͕SQLͰهड़͞ΕΔੈքʹ ੳखஈBigQueryʹ౷Ұ
• WITH۟ϏϡʔͰલॲཧΛ؆ུԽ • ͍ճ͍͢͠WITH۟Λࢿ࢈ͱͯ͠อଘɾγΣΞ • SQLͷڞ௨ࢿ࢈Խʂ શ͕ͯSQLͰهड़͞ΕΔੈք
• SQL֮͑͑͞ΕσʔλΛ׆༻Ͱ͖Δੈք • BigQuery্Ͱσʔλॲཧ͕݁ • ϚγϯϦιʔεΛҙࣝ͢Δඞཁ͕ͳ͍ શ͕ͯSQLͰهड़͞ΕΔੈք
• ʮSQLศརʯʮSQLΠέͯΔʯ • ݁ՌϏδωεଆͷਓؒʹSQLར༻͕֦େ • ΦʔφʔγοϓͷԸܙʂ શ͕ͯSQLͰهड़͞ΕΔੈք
ʮڮ͠ʯ͍͢͠ڥ͕Ͱ͖ͨʂ
• ͯ͢ͷσʔλ͕BigQueryʹू͞Εͨ • ੳखஈ͕SQLʹ౷Ұ͞Εͨ • ʮڮ͠ʯ͕Γ͘͢ͳͬͨ ٕज़తͳมԽ·ͱΊ
1. ͜ͷ3Ͱੜͨ͡มԽ ʙٕज़ฤʙ 2. ͜ͷ3Ͱੜͨ͡มԽ ʙ৫ฤʙ 3. ͜Ε͔Βͷ
࠶ͼḪΔ͜ͱ3……
• ֤෦ॺ͕ͦΕͧΕͰؤுΔ • Ϗδωεܥͷ෦ॺΛத৺ʹσʔλ͕׆༻͞Ε͍ͯͨ • μογϡϘʔυɺཧը໘ɺεϓϨουγʔτͷཚཱ ৫ฤ -3લ-
എܠɿ૿͑Ώ͘ϓϩμΫτ 9ݸ 2016/01 20ݸ 2019/01 ͜ͷ3ؒͰϓϩμΫτͷ2ഒҎ্ʹ
• ͦΕʹԠͯ͡νʔϜͷ૿Ճ • νʔϜʹσʔλಘҙϚϯ͕͍ͳ͍ • ยखؒσʔλΤϯδχΞϦϯά എܠɿ૿͑Ώ͘ϓϩμΫτ
ੳઐͷ෦ॺΛ࡞Δ͖ʁ
• جຊݪଇʮσʔλ׆༻ΦʔφʔγοϓͱηοτͰʯ • ʮσʔλ͋ͷ෦ॺͷਓ͕ݟͯ͘ΕΔʯͱ͍͏ҙࣝ ආ͚͍ͨ ͑NOʂ
ੳ୲ऀ֤෦ॺʹ͍Δ͖ ͱ͍͑ԣͷܨ͕Γඞཁ……
ରࡦ
ରࡦ SlackνϟϯωϧΛ࡞͚ͬͨͩ
• ࣾษڧձ༻ͷSlackνϟϯωϧΛ࡞Δ • ษڧձऴྃޙɺओ࠵ϝϯόʔ͕݁ୗ • ʮσʔλʹڵຯ͋Δਓ͜͜ʹདྷͯ͘ΕʂʯΞϐʔϧ ܦҢ
• νϟϯωϧʹਓ͕ू·Γ͡ΊΔ • ଟͷ૬ஊ͕دͤΒΕΔ • ଞ෦ॺͷৄ͍͠ਓ͕ͦΕʹԠ͡ΔจԽ • ʮ͜͜ʹߦ͚ղܾ͢Δʯ͞Βʹਓ͕૿͑Δʂ ܦҢ
• ि࣍Ͱੳ୲͕ू·ΔΑ͏ʹ ‣ ৽نσʔληοτՃͷ࿈བྷ ‣ ৽͍͠μογϡϘʔυͷڞ༗ ‣ BigQueryͷ৽ػೳհ ‣ ظతͳํܾΊ
‣ ͳͲͳͲ ܦҢ
ઐ෦ॺۦಈͰͳ͍ ࣗൃతͳʮ׆༻ʯج൫ͷվળ
Why?
• ʮΦʔφʔγοϓʯͱ͍͏ϐΫγϒͷاۀจԽ͋Γ͖ • ʮϓϩμΫτΛͤ͞Δ্Ͱɺඞཁ͔ͩΒΔʯ Why?
• Φʔφʔγοϓ + ϕετϓϥΫςΟεͷಉظ • ʮ͜Ε͕ϕετϓϥΫςΟεʯ͕ಉظ͞ΕΔ͜ͱͰ…… →ʮͪΐͬͱख͕ۭ͖ؾຯͳͷͰΨοͱվળ͓͖ͯ͠·͢ʯ →ʮߋʹϥΫʹͰ͖Δํ๏Λࢥ͍͖ͭ·ͨ͠ʯ →ʮ͜ͷBigQueryͷ৽ػೳศརͦ͏ͳͷͰͬͯΈ·͠ΐ͏ʯ
Why?
• ʮΦʔφʔγοϓʯͷൃشઌΛಉظ͢Δඞཁੑ • ͦͷͨΊͷɺSlackʹ͓͚Δʮڮ͠ʯͷઃܭ Why?
• Slackνϟϯωϧ࡞͕มԽͷ͖͔͚ͬ • νϟϯωϧʹਓ͕ू·Γɺԣͷ࿈ܞ͕ڧԽ • ʮڮ͠ʯʹΑΔϕετϓϥΫςΟεͷಉظ • ʮΦʔφʔγοϓʯϕʔεͰԣஅతͳج൫վળ͕Մೳʹʂ
৫తͳมԽ·ͱΊ
1. ͜ͷ3Ͱੜͨ͡มԽ ʙٕज़ฤʙ 2. ͜ͷ3Ͱੜͨ͡มԽ ʙ৫ฤʙ 3. ͜Ε͔Βͷ
ͦͷલʹ
• ٕज़తͳมԽ͚ͩΛਐΊ͍ͯͨΒ……ʁ • ৫తͳมԽ͚ͩΛਐΊ͍ͯͨΒ……ʁ • ͲͪΒʮ׆༻ʯΓཱͨͳ͍ʂ ৼΓฦͬͯΈΔͱ……
ৼΓฦͬͯΈΔͱ… ٕज़తมԽ ৫తมԽ
σʔλ׆༻ Φʔφʔγοϓͱηοτ جຊݪଇɿ
ٕज़తมԽ ৫తมԽͱηοτ ͏Ұͭͷجຊݪଇɿ
1. ͜ͷ3Ͱੜͨ͡มԽ ʙٕज़ฤʙ 2. ͜ͷ3Ͱੜͨ͡มԽ ʙ৫ฤʙ 3. ͜Ε͔Βͷ
ࡢ CTO ෦ॺ࡞ͬͪΌ͓ʂ
ࡢ ʮσʔλۦಈਪਐࣨʯͷੜ
• جຊݪଇʮσʔλ׆༻ΦʔφʔγοϓͱηοτͰʯ • ੳͷ࣮୲͠ͳ͍ʂ • ֤෦ॺͷσʔλ׆༻Λαϙʔτɾਪਐ͢Δׂ • Ϗδωε໘ɾUX໘ɾٕज़໘͕ͯ͢ରʂ σʔλۦಈʮਪਐʯࣨ
None
ΑΓΞΫϩόςΟοΫʹ ʮಈ͚Δʯ Α͏ʹ෦ॺԽ
۩ମతͳΞϓϩʔν https://inside.pixiv.blog/jaggy/6421 ϢʔβʔʹՁΛ࠷Ͱಧ͚ΔͨΊʹɻ ϐΫγϒͷʮσʔλຽओԽʯʹ͚ͨઓ
• ٕज़తͳτϐοΫͨ͘͞Μ ‣ BigQuery্ͰେنͳσʔλΛѻ͏ࡍͷϊϋ ‣ BigQueryपลͰར༻͍ͯ͠Δπʔϧ܈ɾ۩ମతͳ࣮༰ ‣ ϐΫγϒͳΒͰͷσʔλ׆༻ࣄྫ͋Ε͜Ε ‣ ͳͲͳͲ……
• ৄ͘͠ฉ͖͍ͨํ࠙ձͰʂ ۩ମతͳΞϓϩʔν
• σʔλ׆༻Φʔφʔγοϓͱηοτ • ٕज़తมԽ৫తมԽͱηοτ • σʔλۦಈਪਐ͕ࣨͰ͖ͨ ·ͱΊ
ࣾһϓϩμΫτ૿͑ଓ͚Δ͚Ͳɺ ʮ࡞׆ಈ͕ͬͱָ͘͠ͳΔॴΛΔʯؾ࣋ͪมΘΒͳ͍ɻ ϐΫγϒσʔλͷྗͰ࡞׆ಈΛࢧ͍͑ͯ͘ɻ