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
YAPC::Tokyo 2019 Log Friendly DB Design
Search
fisto
January 26, 2019
Programming
2.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
YAPC::Tokyo 2019 Log Friendly DB Design
ログにやさしいDB設計
fisto
January 26, 2019
Other Decks in Programming
See All in Programming
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
300
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
560
えっ!!コードを読まずに開発を!?
hananouchi
0
170
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
0
2.1k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
15
3.2k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
3.7k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.7k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
Crafting Experiences
bethany
1
210
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Ruling the World: When Life Gets Gamed
codingconduct
0
280
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
290
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Building an army of robots
kneath
306
46k
Ethics towards AI in product and experience design
skipperchong
2
330
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing Experiences People Love
moore
143
24k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
Transcript
ϩάʹ͍͞͠%#ઃܭ @fist0 2019.01.26 YAPC::Tokyo 2019
2019.01.26 :"1$5PLZP 2 ࣗݾհ )/;͌͢ͱ +PCαʔόαΠυΤϯδχΞ *%pTUpTUP ͣͬͱHPMBOHॻ͍ͯͨ 4DBMBॻ͘ػӡ 4DBMBੜ
2019.01.26 :"1$5PLZP 3 ࢲͱ1FSM ͡Ίͯͷ:"1$͕:"1$"TJB5PLZP ৽ଔͰೖࣾͨ͠ͷ͕1FSMͷձࣾ ৽ଔݚमͰ1FSM ଐ͞Εͯ࠷ॳͷϓϩμΫτ1FSM
2019.01.26 :"1$5PLZP αʔϏεӡ༻ͯ͠·͔͢ʁ
2019.01.26 :"1$5PLZP ϩάݟͯ·͔͢ʁ
2019.01.26 :"1$5PLZP 6 ӡ༻ͱϩά ʁʁʁʮϩάʹαʔϏεͷେͳ͜ͱ͕ͯ͢٧·ͬͯΔΜͩΑʯ ʁʁʁʮͰɺ΄ͱΜͲͷਓͦΕʹؾ͔ͮͳ͍Μͩʜʯ ਆ༷ɺ༷ɺϩά༷
2019.01.26 :"1$5PLZP ใԸँಙ
2019.01.26 :"1$5PLZP ϩά
2019.01.26 :"1$5PLZP 9 ϩά ͍Ζ͍Ζ͋Δ ΞΫηεϩά )551αʔό FYOHJOY BQBDIF ͷϩά
ΞϓϦϩά 8FCΞϓϦέʔγϣϯ FY1FSM 1)1 3VCZ ͷϩά %#ϩά %# FY.Z42- 1PTUHSF42- ͷϩά
2019.01.26 :"1$5PLZP 10 ͳͥඞཁ͔ʁ αʔϏεʹԿ͕ى͖ͨͷ͔ΔͨΊ w σʔλੳ w ͍߹Θͤͷࣄ࣮֬ೝ w
োͷݪҼڀ໌ w োͷࣗಈݕ
2019.01.26 :"1$5PLZP 11 ϩάͷཁ݅ ߹ੑ ΞΫηεϩάʹϩά͕͋Δ͚ͲΞϓϦϩάʹϩά͕ͳ͍ͱ͔ ཏੑ 8FCΞϓϦͷಛघͳ݅ذͰΞϓϦϩά͕࿙Εͯͨͱ͔ ༰қੑ ΞΫηεϩάͱΞϓϦϩάΛඥ͚Δखஈ͕ͳ࣌͘Ͱඥ͚Δ͔͠ͳ͍ͱ͔
ௐࠪͷͨΊʹΞΫηεϩάΛߴසͰݟʹߦ͔ͳ͍ͱ͍͚ͳ͍ͱ͔
2019.01.26 :"1$5PLZP 'JO5FDI
2019.01.26 :"1$5PLZP 13 ͱ͋ΔԾ௨՟ΞϓϦͷ։ൃ Ϣʔβͷࢿ࢈αʔόͰཧ͢Δߏ %#ʹอଘ͞ΕΔσʔλͷ߹ੑ͕࠷༏ઌ αʔϏε͕ࢭ·ΔҎ্ʹσʔλͷෆ߹͕ා͍ Ճ͑ͯɺۚ༥γεςϜͱͯ͠ূΛٻΊΒΕΔ ϩάͱͯେࣄ
2019.01.26 :"1$5PLZP 14 ͱ͋ΔԾ௨՟ΞϓϦͷαʔόαΠυ αʔόαΠυ("&(PΛબ͕ͯͬͭ͠ΓΫϥυ 4UBDL%SJWFSΛ͑ϩάͷ߹ੑʹ͍ͭͯ͋·Γ৺ͳ͠ ৺ͳͷཏੑͱ༰қੑ
2019.01.26 :"1$5PLZP %#ઃܭ
2019.01.26 :"1$5PLZP 16 ߟ͑Δ͜ͱ ঢ়ଶΛ࣋ͬͨσʔλΛ%#ͰͲ͏ѻ͏͔ ঢ়ଶͷมԽΛϩάʹͲ͏ه͢Δ͔ ྫɿϢʔβͷຊԁߴɺຊਓ֬ೝεςʔλεɺϢʔβొใ
2019.01.26 :"1$5PLZP 17 ঢ়ଶͷมԽͱϩά Α͋͘ΔྫɿΞΧϯτͷͬऔΓʢෆਖ਼ϩάΠϯʴ*%1BTTมߋʣ ϢʔβใͷมߋཤྺΛௐࠪ͠ͳ͚ΕͳΒͳ͍ Ϣʔβใͷมߋ͕Ͳ͔͜ͷϩάʹ͍ͬͯͳ͚ΕͳΒͳ͍
2019.01.26 :"1$5PLZP 18 ։ൃݱͷ%#ઃܭ͍͖ͬͯ
2019.01.26 :"1$5PLZP 19 Ϣʔβͷຊԁߴ ຊԁߴશϢʔβ͕ਓͭ࣋ͭ ࠷৽ͷԁߴϢʔβʹදࣔ͢Δ ຊԁߴೖۚɺग़ۚɺԾ௨՟ചങ͕ൃੜ͢ΔͱมԽ͢Δ
2019.01.26 :"1$5PLZP 20 Ϣʔβͷຊԁߴͷઃܭᶃ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF VTFS@JE 1, BNPVOU VQEBUFE@BU ϢʔβͷߴͷཤྺʢߴͷਪҠʣΛཧը໘ʹද͍ࣔͨ͠ͱ͖ ˠߴมߋʹؔΘΔΤϯυϙΠϯτͷΞΫηεϩάΛࢀর͢Δʁ
2019.01.26 :"1$5PLZP 21 Ϣʔβͷຊԁߴͷઃܭᶄ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF JE 1, VTFS@JE BNPVOU DSFBUFE@BU ߋ৽࣌มԽޙͷ৽͍͠ߴΛ*/4&35ͯ͠ɺ࠷৽ͷߴΛऔΔͱ͖ SELECT ~ WHERE user_id = hoge ORDER BY created_at LIMIT 1
2019.01.26 :"1$5PLZP 22 Ϣʔβͷຊԁߴͷઃܭᶄ աڈͷߴͷϨίʔυ͕େྔʹͰ͖ͯύϑΥʔϚϯεݒ೦͕ͩ ཧը໘ʹඞཁͳσʔλอଘͰ͖͍ͯΔͷͰѱ͘ͳͦ͞͏ ଞ௨՟ͷߴVTFS@CBMBODFςʔϒϧͰཧ͢Δ͜ͱʹͳͬͨΒʁ
2019.01.26 :"1$5PLZP 23 Ϣʔβͷߴ ߴશϢʔβ͕௨՟ʹ͖ͭਓͭ࣋ͭ ௨՟ͷछผɺ+1:ɺ#5$ɺ&5)ͳͲ ࠷৽ͷ֤ߴϢʔβʹදࣔ͢Δ ߴೖۚɺग़ۚɺԾ௨՟ചങ͕ൃੜ͢ΔͱมԽ͢Δ
2019.01.26 :"1$5PLZP 24 Ϣʔβߴͷઃܭᶃ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF VTFS@JE 1, KQZ@BNPVOU CUD@BNPVOU VQEBUFE@BU ߋ৽࣌৽͍͠ߴͰ61%"5& ௨՟ͷछผ͕૿͑Δͨͼʹ"-5&3จΛଧͭͷ͔ʁʢଧͪͨ͘ͳ͍'ʣ
2019.01.26 :"1$5PLZP 25 Ϣʔβߴͷઃܭᶄ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF VTFS@JE 1, DVSSFODZ@JE BNPVOU VQEBUFE@BU ຊԁߴͷͱ͖ͱಉ༷ʹɺ ϢʔβͷߴͷཤྺʢߴͷਪҠʣΛཧը໘ʹද͍ࣔͨ͠
2019.01.26 :"1$5PLZP 26 Ϣʔβߴͷઃܭᶅ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF JE 1, VTFS@JE DVSSFODZ@JE BNPVOU DSFBUFE@BU ߋ৽࣌มԽޙͷ৽͍͠ߴΛ*/4&35 ͰɺϢʔβͷ࠷৽ͷߴΛऔΔͱ͖ʜʁ
2019.01.26 :"1$5PLZP 27 Ϣʔβߴͷઃܭᶅ Ϣʔβͷ࠷৽ͷߴΛ௨՟ࢦఆͰऔಘ͍ͨ͠ͱ͖ SELECT ~ WHERE user_id =
hoge AND currency_id = jpy ORDER BY created_at LIMIT 1 Ϣʔβͷ࠷৽ͷߴΛશ௨՟छผͰऔಘ͍ͨ͠ͱ͖ ˠΫΤϦͰ͍͘ͳΒαϒΫΤϦࠈ ˠ্ͷΫΤϦΛ௨՟छผ͝ͱʹ࣮ߦ
2019.01.26 :"1$5PLZP 28 Ϣʔβߴͷઃܭᶆ VTFS JE 1, VTFSOBNF
VTFS@CBMBODF VTFS@JE 1, DVSSFODZ@JE 1, BNPVOU VQEBUFE@BU VTFS@CBMBODFʹ61%"5&ͷΫΤϦΛ࣮ߦ͢Δͱ͖ VTFS@CBMBODF@MPHʹ΄΅ಉͷϨίʔυΛ*/4&35͢Δ VTFS@CBMBODF@MPH JE 1, VTFS@JE DVSSFODZ@JE BNPVOU VQEBUFE@BU ෳ߹1,
2019.01.26 :"1$5PLZP 29 Ϣʔβߴͷઃܭᶆ Ϣʔβͷ࠷৽ͷߴΛ௨՟ࢦఆͰऔಘ͍ͨ͠ͱ͖ SELECT * FROM user_balance WHERE
user_id = hoge AND currency_id = jpy Ϣʔβͷ࠷৽ͷߴΛશ௨՟छผͰऔಘ͍ͨ͠ͱ͖ SELECT * FROM user_balance WHERE user_id = hoge ཧը໘ͰཤྺΛऔಘ͍ͨ͠ͱ͖ʢ௨՟ࢦఆʣ SELECT * FROM user_balance_log WHERE user_id = hoge AND currency_id = jpy
2019.01.26 :"1$5PLZP 30 ϩάςʔϒϧͷ αʔϏεͰར༻͢ΔςʔϒϧͱϩάςʔϒϧΛͨ͠ σʔλมߋͷཤྺΛ֬ೝ͢ΔͨΊʹΞΫηεϩάࢀরͭΒ͍ ΞΫηεϩάجຊͰ͔͍͠ݕࡧʹ͕͔͔࣌ؒΔ %#ϩάΛݟʹߦ͘ͷӡ༻తʹָͰͳ͍
2019.01.26 :"1$5PLZP 31 ϩάςʔϒϧͷಋೖํ ϨίʔυΛߋ৽͢ΔςʔϒϧҰϩάςʔϒϧΛ࡞Δํʹͨ͠ ঢ়ଶͷมԽΛؚΊσʔλͷมߋ͕શ෦ςʔϒϧʹΔ ˠશ෦Δɻཏੑͷ্ ˠςʔϒϧʹΔͷͰௐ͍ࠪ͢͠ɻ༰қੑͷ্
2019.01.26 :"1$5PLZP 32 ϩάςʔϒϧͷઃܭ
2019.01.26 :"1$5PLZP 33 ϝΠϯςʔϒϧͷΧϥϜ໊ʹॏෳ͠ͳ໋໊͍ IPHF JE 1, IPHF VQEBUFE@BU
IPHF@MPH MPH@JE 1, JE IPHF VQEBUFE@BU MPHHFE@BU ϩάςʔϒϧͷ໋໊نଇɺڞ௨ΧϥϜ໊౷ҰͰ͖ΔΑ͏ʹ
2019.01.26 :"1$5PLZP 34 ϨίʔυআͷରԠ IPHF JE 1, IPHF VQEBUFE@BU
IPHF@MPH MPH@JE 1, JE IPHF VQEBUFE@BU MPHHFE@BU IPHFͷϨίʔυΛআͨ͠ͱ͖IPHF@MPHʹͲΜͳϨίʔυ͕ೖΕΑ͍͔
2019.01.26 :"1$5PLZP 35 ϨίʔυআϑϥάͷՃ IPHF JE 1, IPHF VQEBUFE@BU
JT@EFMFUFE IPHF@MPH MPH@JE 1, JE IPHF VQEBUFE@BU MPHHFE@BU JT@EFMFUF@MPH ཧআఆ͕ͩɺສ͕ҰͷཧআʹରԠͰ͖ΔΑ͏ʹϑϥάΛ໋໊
2019.01.26 :"1$5PLZP 36 ϩάςʔϒϧͷ࠷ऴઃܭ IPHF JE 1, IPHF VQEBUFE@BU
IPHF@MPH MPH@JE 1, JE IPHF VQEBUFE@BU MPHHFE@BU JT@EFMFUF@MPH
2019.01.26 :"1$5PLZP 37 ࠷ऴઃܭͷײ ϝϦοτ Γ͍ͨ͜ͱʹରͯ͠ΫΤϦ͕ૉʹͳΔ มߋཤྺʹ͍ͭͯߟ͑ͳͯ͘Α͍ ཧআཧআͰ·ͳͯ͘Α͍ σϝϦοτ ࡞ߋ৽আܥΫΤϦͰ࣮ߦΫΤϦ͕Ұͭ૿͑ΔʢཁτϥϯβΫγϣϯʣ
ϩάςʔϒϧʹϨίʔυ͕ͲΜͲΜཷ·͍ͬͯ͘
2019.01.26 :"1$5PLZP 38 ϩάςʔϒϧංେԽ ϩάςʔϒϧʹϨίʔυ͕ͲΜͲΜཷ·͍ͬͯ͘ ˠ%#Λຊ൪༻ͱϩάςʔϒϧ༻Ͱ͚Δʁ ˠύʔςΟγϣχϯάͯ͠ఆظతʹຊ൪%#͔ΒऔΓग़͢ʁ
2019.01.26 :"1$5PLZP 39 ϩάςʔϒϧ༻ʹ%#ׂ͢Δ͔ʁ ӡ༻Λߟ͑ͨΒ%#ׂͨ͘͠ͳΔ ͔͠͠ϩάςʔϒϧʹτϥϯβΫγϣϯඞਢ ˠׂ͢ΔͱࢄτϥϯβΫγϣϯ͕ݦࡏԽ 4QBOOFSͷಉҰϓϩδΣΫτͰΠϯελϯε͚Δͷ͕Αͦ͞͏ʁ .Z42-ͳΒૉʹύʔςΟγϣχϯά͢Δͷ͕Αͦ͞͏
2019.01.26 :"1$5PLZP 40 %BUBTUPSFซ༻͍ͯ͘͠ελΠϧ ֎෦"1*͔ΒԾ௨՟Ձ֨Λऔಘͯ͠อଘ͢Δ औಘසۃΊ͍ͯ ʙඵʹճ ͷͰϨίʔυେ .Z42-ͳΒ%#ׂ͢ΔPS%BUBTUPSF͕Αͦ͞͏
2019.01.26 :"1$5PLZP 41 ࠓ͔͑ͨͬͨ͜ͱ
2019.01.26 :"1$5PLZP 42 ࠓ͔͑ͨͬͨ͜ͱ ϩάςʔϒϧΛ༻ҙ͢ΔઃܭͲ͏ʁ ϩάʹͯ͘͞͠ӡ༻ͷ؍͔ΒݟΔͱྑ͍ͱߟ͍͑ͯΔ ݱঢ়ɺ͜ΕҎ্ͷઃܭΛࢥ͍͔ͭͳ͔ͬͨ ͜ͷΛआΓͯઃܭϨϏϡʔ͕͍ͨ͠ Έͳ͞·ͷ͝ҙݟΛ͓͍ͪͯ͠·͢
2019.01.26 :"1$5PLZP 5IBOLT