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.9k
ピクシブ流データ活用基盤のこれまでとこれから #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
2.8k
興味関心と組織とリサーチ #ResearchConf / 20240419
minamitary
1
300
デザインを誘発する「イネーブルメント」アプローチ #spectrumfest2023 / 20231203
minamitary
0
1.2k
まわるUXリサーチ、たまるユーザーインサイト #uxmilkallnight / 20200912
minamitary
2
430
もし仮に、定性・定量リサーチを全開発者が自ら実施できるようになったとしたら #InsightTokyo / 20200325
minamitary
7
2.8k
エンジニアがUXリサーチャーを兼任するに至ったワケ #uxmilk_fest / 20190914
minamitary
7
11k
Other Decks in Technology
See All in Technology
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
150
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
260
事業価値と Engineering
recruitengineers
PRO
6
3.4k
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
270
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
120
広島発!スタートアップ開発の裏側
tsankyo
0
260
Backboneとしてのtimm2025
yu4u
4
1.7k
トヨタ生産方式(TPS)入門
recruitengineers
PRO
4
760
制約理論(ToC)入門
recruitengineers
PRO
7
2.4k
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
140
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
430
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Rails Girls Zürich Keynote
gr2m
95
14k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Why Our Code Smells
bkeepers
PRO
338
57k
Fireside Chat
paigeccino
39
3.6k
GitHub's CSS Performance
jonrohan
1031
460k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Side Projects
sachag
455
43k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
KATA
mclloyd
32
14k
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पลͰར༻͍ͯ͠Δπʔϧ܈ɾ۩ମతͳ࣮༰ ‣ ϐΫγϒͳΒͰͷσʔλ׆༻ࣄྫ͋Ε͜Ε ‣ ͳͲͳͲ……
• ৄ͘͠ฉ͖͍ͨํ࠙ձͰʂ ۩ମతͳΞϓϩʔν
• σʔλ׆༻Φʔφʔγοϓͱηοτ • ٕज़తมԽ৫తมԽͱηοτ • σʔλۦಈਪਐ͕ࣨͰ͖ͨ ·ͱΊ
ࣾһϓϩμΫτ૿͑ଓ͚Δ͚Ͳɺ ʮ࡞׆ಈ͕ͬͱָ͘͠ͳΔॴΛΔʯؾ࣋ͪมΘΒͳ͍ɻ ϐΫγϒσʔλͷྗͰ࡞׆ಈΛࢧ͍͑ͯ͘ɻ