Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MySQLからBigQueryの同期を差分更新にしたら4倍高速になった話 / Sync fro...
Search
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
7
4.4k
タイムトラベルはじめました 〜時をかけるBigQuery〜 / Now serving Time Machine 〜BigQuery Which Leapt Through Time〜
shiozaki
0
5.8k
これからの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
630
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
USB PDを使ってスマホを労わりたい
raspython3
0
170
How to Design Configuration for Rails Applications
willnet
1
530
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
130
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
120
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
730
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
440
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
370
DGX Spark でどこまでハッキングができるのか?
kash1064
2
1.2k
継続的なAIコスト最適化
bgpat
1
300
Refining Active Record
shugo
0
110
Getting Started with Google Antigravity
glaforge
0
270
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Site-Speed That Sticks
csswizardry
13
1.6k
The agentic SEO stack - context over prompts
schlessera
0
970
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Music & Morning Musume
bryan
48
7.4k
The Limits of Empathy - UXLibs8
cassininazir
2
720
Paper Plane
katiecoart
PRO
5
54k
Google's AI Overviews - The New Search
badams
0
1.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
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 ӡ༻ϑΣʔζͰଞͷπʔϧͱͷ࿈ܞ͕ඞཁ