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
Takehiro Shiozaki
May 16, 2017
Technology
6
32k
MySQLからBigQueryの同期を差分更新にしたら4倍高速になった話 / Sync from MySQL to BigQuery become 4x faster by incremental updating
Embulk Meetup Tokyo #3のLTです
Takehiro Shiozaki
May 16, 2017
Tweet
Share
More Decks by Takehiro Shiozaki
See All by Takehiro Shiozaki
全部見せます! BigQueryのコスト削減の手法とその効果 / BigQuery Cost Reduction Methods
shiozaki
5
3.5k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
5.3k
これからのZOZOを支える ログ収集基盤を設計した話 / Log collection infrastructure to support ZOZO in the future
shiozaki
6
14k
Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた / Realtime data linkage from Amazon Aurora to Google BigQuery
shiozaki
10
15k
ZOZOTOWNの事業を支えるBigQueryの話 / BigQuery behind ZOZOTOWN
shiozaki
7
9.9k
ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
shiozaki
16
11k
ZOZOTOWNのバッチデータ転送基盤紹介 / ZOZOTOWN's data transfer batch
shiozaki
0
550
1日あたり数百万商品をクロールする 大規模クローラーの裏側 / How IQON crawler works
shiozaki
4
1.7k
Digdagを仕事で使ってみて良かったこと、ハマったこと / Using Digdag in production environment
shiozaki
1
2.1k
Other Decks in Technology
See All in Technology
20250913_JAWS_sysad_kobe
takuyay0ne
2
240
Practical Agentic AI in Software Engineering
uzyn
0
110
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
580
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
260
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
220
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
540
Featured
See All Featured
Docker and Python
trallard
46
3.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Practical Orchestrator
shlominoach
190
11k
Rails Girls Zürich Keynote
gr2m
95
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualization
eitanlees
148
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
BBQ
matthewcrist
89
9.8k
Designing for humans not robots
tammielis
253
25k
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 ӡ༻ϑΣʔζͰଞͷπʔϧͱͷ࿈ܞ͕ඞཁ