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
MySQLからBigQueryの同期を差分更新にしたら4倍高速になった話 / Sync fro...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takehiro Shiozaki
May 16, 2017
Technology
32k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MySQLからBigQueryの同期を差分更新にしたら4倍高速になった話 / Sync from MySQL to BigQuery become 4x faster by incremental updating
Embulk Meetup Tokyo #3のLTです
Takehiro Shiozaki
May 16, 2017
More Decks by Takehiro Shiozaki
See All by Takehiro Shiozaki
全部見せます! BigQueryのコスト削減の手法とその効果 / BigQuery Cost Reduction Methods
shiozaki
6
4.2k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
5.7k
これからのZOZOを支える ログ収集基盤を設計した話 / Log collection infrastructure to support ZOZO in the future
shiozaki
6
15k
Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた / Realtime data linkage from Amazon Aurora to Google BigQuery
shiozaki
10
16k
ZOZOTOWNの事業を支えるBigQueryの話 / BigQuery behind ZOZOTOWN
shiozaki
7
11k
ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
shiozaki
16
11k
ZOZOTOWNのバッチデータ転送基盤紹介 / ZOZOTOWN's data transfer batch
shiozaki
0
600
1日あたり数百万商品をクロールする 大規模クローラーの裏側 / How IQON crawler works
shiozaki
4
1.8k
Digdagを仕事で使ってみて良かったこと、ハマったこと / Using Digdag in production environment
shiozaki
1
2.2k
Other Decks in Technology
See All in Technology
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
290
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
270
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.6k
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
430
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
300
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
390
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
340
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
1
650
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
430
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
570
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
Site-Speed That Sticks
csswizardry
13
1.3k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating Team Friction
lara
192
16k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Ethics towards AI in product and experience design
skipperchong
2
330
Prompt Engineering for Job Search
mfonobong
0
380
Practical Orchestrator
shlominoach
191
11k
Why Our Code Smells
bkeepers
PRO
340
58k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Deep Space Network (abreviated)
tonyrice
0
230
Transcript
.Z42-͔Β#JH2VFSZͷಉظΛ ࠩߋ৽ʹͨ͠Βഒߴʹͳͬͨ &NCVML.FFUVQ5PLZP VASILY,Inc. Ԙ㟒݈߂
Ԙ㟒݈߂ w ʹ7"4*-:ʹ৽ଔೖࣾ w ීஈͷ͓ࣄ3BJMTͰXFC"1*࡞ͬͨΓɺ4PMSͷϝϯςͨ͠Γɺ 5BCMFBV#JH2VFSZͰμογϡϘʔυ࡞ͬͨΓ w &NCVMLࠓͷ݄ࠒʹ৮Γ࢝Ί͔ͨΓ 7"4*-: *OD
TPGUXBSFFOHJOFFS
*20/հ Ҏ্ͷϑΝογϣϯ&$αΠτ͔Β ྦྷܭ ສΛ͑ΔΛܝࡌ ݄ؒສਓҎ্͕ར༻͢Δຊ࠷େڃͷϑΝογϣϯαΠτ
σʔλऩूج൫ͷհ Πϕϯτϩά &-# "1*4FSWFS -PH "HHSFHBUPS 8FC4FSWFS #JH2VFSZ 3FDPNNFOE
σʔλੳج൫ͷհ Ϛελʔσʔλ 3%4 .Z42- %BUBUSBOTGFS TFSWFS ($4 #JH2VFSZ Γ͔͚͍ͯΔൿͷͨΕঢ়ଶ ɾNZTRMEVNQ
US TFE FUDΛෳࡶʹΈ߹Θ͍ͤͯΔ ɾςʔϒϧΛׂͯ͠సૹ͢ΔઃఆΛϋʔυίʔσΟϯά
σʔλੳج൫ͷհ Ϛελʔσʔλ 3%4 .Z42- %BUBUSBOTGFS TFSWFS ($4 #JH2VFSZ ʹ&NCVMLΛಋೖ ɾಉظόον͕མͪΔ͜ͱ͕΄΅ͳ͘ͳΔ
͔͜͜ΒϝΠϯςʔϚ
ϚελʔσʔλͷಉظΛ ߴԽ͍ͨ͠ w ϢʔβʔͷՁͷఏڙΛߴԽ͢ΔͨΊ w ݱঢ়ใͷಉظ͚ͩͰ࣌ؒ ສߦ (#
࣌ؒܭଌ 3%4 .Z42- %BUBUSBOTGFS TFSWFS ($4 #JH2VFSZ NJO .Z42-ͷςʔϒϧΛμϯϓ NJO
μϯϓΛ($4ʹΞοϓϩʔυ NJO ($4͔Β#JH2VFSZʹϩʔυ
.Z42-ͷμϯϓ͕ ϘτϧωοΫ w Ϛελʔσʔλͷಉظຖߦ͍ͬͯΔͨΊɺ ࡢͱಉ͡σʔλಉظ͢Δඞཁͳ͠ w 3VCZPO3BJMTΛ༻͍ͯ͠ΔͷͰɺ VQEBUFE@BUʹͦͷߦͷߋ৽࣌ࠁ͕ೖ͍ͬͯΔ
ࠩߋ৽ͯ͠ΈΔ ςʔϒϧ ࠩͷΈ ςʔϒϧ લ ςʔϒϧͷϚʔδ 0-"1ؔΛ׆༻ લճͷಉظҎ߱ͷσʔλͷΈ where: "updated_at
> ..."
લճͷಉظҎ߱ͷσʔλΛऔಘ w JOQVUQMVHJONZTRMͷઃఆʹXIFSFΛՃ͢Δ w औಘ͢Δඞཁͷ͋Δߦ͕ҎԼʹͳΔ in: type: mysql host: example.com
user: user_name password: ******** database: db_name table: items select: "*" where: "updated_at > '2017-05-15 00:00:00'" # この行を追加
42-ͰςʔϒϧΛϚʔδ w ͭͷςʔϒϧΛVOJPOBMMͰ݁߹͠ɺओΩʔͰ QBSUJUJPOCZͯ͠৽͍͠ߦͷΈΛબ w ͜ͷ42-ͷ݁ՌΛݩͷςʔϒϧʹॻ͖͢ select * from (
select *, row_number() over (partition by id order by updated_at desc) as rn from ( select * from tmp.items union all select * from mysql.items ) ) where rn = 1
݁Ռ 3%4 .Z42- %BUBUSBOTGFS TFSWFS ($4 #JH2VFSZ NJO ˠNJO NJO
ˠNJO NJO ˠNJO શମͰഒͷߴԽ INJOˠNJO ςʔϒϧͷϚʔδ NJOˠNJO
৽ͨͳ՝ w Ϛελʔσʔλͷಉظ͕ෳࡶʹͳΓͦ͏ w ֤ॲཧͷʮྲྀΕʯΛཧ͢Δπʔϧ͕ཉ͍͠ %JHEBH "JSqPX -VJHJ
·ͱΊ w &NCVMLόϧΫసૹͷҋΛরΒͯ͘͠ΕΔπʔϧ w σʔλͷࠩߋ৽ʹΑͬͯഒߴԽ w ӡ༻ϑΣʔζͰଞͷπʔϧͱͷ࿈ܞ͕ඞཁ