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.8k
ピクシブ流データ活用基盤のこれまでとこれから #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.2k
興味関心と組織とリサーチ #ResearchConf / 20240419
minamitary
1
260
デザインを誘発する「イネーブルメント」アプローチ #spectrumfest2023 / 20231203
minamitary
0
1k
まわるUXリサーチ、たまるユーザーインサイト #uxmilkallnight / 20200912
minamitary
2
400
もし仮に、定性・定量リサーチを全開発者が自ら実施できるようになったとしたら #InsightTokyo / 20200325
minamitary
7
2.7k
エンジニアがUXリサーチャーを兼任するに至ったワケ #uxmilk_fest / 20190914
minamitary
7
11k
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
340
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
140
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
190
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
3
5.8k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
280
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
220
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
860
OPENLOGI Company Profile
hr01
0
60k
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
160
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.1k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Designing for humans not robots
tammielis
250
25k
Rails Girls Zürich Keynote
gr2m
94
13k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
The Pragmatic Product Professional
lauravandoore
32
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Writing Fast Ruby
sferik
628
61k
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पลͰར༻͍ͯ͠Δπʔϧ܈ɾ۩ମతͳ࣮༰ ‣ ϐΫγϒͳΒͰͷσʔλ׆༻ࣄྫ͋Ε͜Ε ‣ ͳͲͳͲ……
• ৄ͘͠ฉ͖͍ͨํ࠙ձͰʂ ۩ମతͳΞϓϩʔν
• σʔλ׆༻Φʔφʔγοϓͱηοτ • ٕज़తมԽ৫తมԽͱηοτ • σʔλۦಈਪਐ͕ࣨͰ͖ͨ ·ͱΊ
ࣾһϓϩμΫτ૿͑ଓ͚Δ͚Ͳɺ ʮ࡞׆ಈ͕ͬͱָ͘͠ͳΔॴΛΔʯؾ࣋ͪมΘΒͳ͍ɻ ϐΫγϒσʔλͷྗͰ࡞׆ಈΛࢧ͍͑ͯ͘ɻ