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
4.1k
1
Share
ピクシブ流データ活用基盤のこれまでとこれから #pixivTECHSALON / 20190305
pixiv TECH SALON
https://techsalon.pixiv.co.jp/
メインセッションで使用した発表資料です。
minamitary
March 05, 2019
More Decks by minamitary
See All by minamitary
ピクシブにおける「ビジョン」の取り扱われ方 #pixivdevmeetup / 20240920
minamitary
1
3.6k
興味関心と組織とリサーチ #ResearchConf / 20240419
minamitary
1
350
デザインを誘発する「イネーブルメント」アプローチ #spectrumfest2023 / 20231203
minamitary
0
1.4k
まわるUXリサーチ、たまるユーザーインサイト #uxmilkallnight / 20200912
minamitary
2
450
もし仮に、定性・定量リサーチを全開発者が自ら実施できるようになったとしたら #InsightTokyo / 20200325
minamitary
7
2.9k
エンジニアがUXリサーチャーを兼任するに至ったワケ #uxmilk_fest / 20190914
minamitary
7
12k
Other Decks in Technology
See All in Technology
Claude code Orchestra
ozakiomumkj
3
830
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
400
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
520
テストコードのないプロジェクトにテストを根付かせる
tttol
1
240
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
560
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
190
先取りMaven4 ~16年ぶりのメジャーアップデート、その進化とは?~
ogiwarat
0
110
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
280
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
17
16k
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
650
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
390
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Agile that works and the tools we love
rasmusluckow
331
21k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
Producing Creativity
orderedlist
PRO
348
40k
We Are The Robots
honzajavorek
0
240
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
It's Worth the Effort
3n
188
29k
How to Talk to Developers About Accessibility
jct
2
210
The Curse of the Amulet
leimatthew05
1
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Paper Plane (Part 1)
katiecoart
PRO
0
8.1k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
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पลͰར༻͍ͯ͠Δπʔϧ܈ɾ۩ମతͳ࣮༰ ‣ ϐΫγϒͳΒͰͷσʔλ׆༻ࣄྫ͋Ε͜Ε ‣ ͳͲͳͲ……
• ৄ͘͠ฉ͖͍ͨํ࠙ձͰʂ ۩ମతͳΞϓϩʔν
• σʔλ׆༻Φʔφʔγοϓͱηοτ • ٕज़తมԽ৫తมԽͱηοτ • σʔλۦಈਪਐ͕ࣨͰ͖ͨ ·ͱΊ
ࣾһϓϩμΫτ૿͑ଓ͚Δ͚Ͳɺ ʮ࡞׆ಈ͕ͬͱָ͘͠ͳΔॴΛΔʯؾ࣋ͪมΘΒͳ͍ɻ ϐΫγϒσʔλͷྗͰ࡞׆ಈΛࢧ͍͑ͯ͘ɻ