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
Snowflakeの最大ウェアハウス4XLは遠慮せず使うべし
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
numa
October 09, 2021
Programming
330
0
Share
Snowflakeの最大ウェアハウス4XLは遠慮せず使うべし
2021-02-24の #SnowVillage LIVE 003 での発表資料
4XLは速い!
numa
October 09, 2021
More Decks by numa
See All by numa
MLLoop〜Opsてない夜が気に入らないよ〜
foursue
0
270
20250924_LT2本やる.pdf
foursue
0
1.3k
DataEngineeringとCloudNativeの今と未来
foursue
1
800
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
470
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
860
日本におけるデータエンジニアリングのこれまでとこれから
foursue
20
6.4k
技育祭2023春 ちゅらデータ講演資料
foursue
1
2k
dbtでデータ品質活動
foursue
8
6.5k
dbtvaultはここまでできる
foursue
2
8.4k
Other Decks in Programming
See All in Programming
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
520
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
820
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
170
アーキテクチャモダナイゼーションとは何か
nwiizo
9
2.2k
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
「速くなった気がする」をデータで疑う
senleaf24
0
130
存在論的プログラミング: 時間と存在を記述する
koriym
5
770
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
おれのAgentic Coding 2026/03
tsukasagr
1
130
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
430
ファインチューニングせずメインコンペを解く方法
pokutuna
0
260
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
96
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Unsuck your backbone
ammeep
672
58k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
The Pragmatic Product Professional
lauravandoore
37
7.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
How to Talk to Developers About Accessibility
jct
2
170
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Transcript
Snowflakeの最⼤ウェアハウス 4XLは遠慮せず使うべし #SnowVillage LIVE 003 © 2020 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
⾃⼰紹介 CTO 菱沼雄太 ⼤きなデータを扱う仕事を主にしてます ↓↓沖縄は良いぞお↓↓ © 2020 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
今⽇やりたいこと © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. とある店員「そこに無ければ無いですね」
を Snowflake でもやりたい 「4XLで処理出来なければ処理出来ないですね」
今⽇やりたいこと © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. とある店員「そこに無ければ無いですね」
を Snowflake でもやりたい 「4XLで処理出来なければ処理出来ないですね」 くっくっく… 4XLの幻想をぶち壊してやるぜ
AGENDA © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. •
①1minクエリチャレンジ︕ • ②サチらせチャレンジ︕ • ③4XLを使うときのポイントまとめ
①1minクエリチャレンジ︕ © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
問題です︓1問⽬ 次のサイズのテーブルのうち、 select * from tablename; を1分以内に処理できるのはど こまででしょう。このときウェアハウスのサイズは4XLとする。 A)1億⾏、550MB B)10億⾏、5.4GB
C)100億⾏、53.7GB D)1000億⾏、537.1GB E)2000億⾏、1TB © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 1億⾏だって 無理に決まってるぜ
結論 • やっぱ select * だとこんなもんかな︖ 参考値︓ A)1億⾏、550MB => 1秒
B)10億⾏、5.4GB => 20秒くらい C)100億⾏、53.7GB => 1分くらい D)1000億⾏、537.1GB => 6分くらい E)2000億⾏、1TB => 13分くらい © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. フルスキャンは 100億⾏くらいが 限界かwwww
問題です︓2問⽬ 次のクエリでsize列の基礎統計量(count、mean、std、min、max、median)を求めた いと思います。1分以内に処理できるのはどこまででしょう。 select count(*), avg(size), stddev(size),min(size), max(size), median(size) from
access_log; A)1億⾏、550MB B)10億⾏、5.4GB C)100億⾏、53.7GB D)1000億⾏、537.1GB E)2000億⾏、1TB © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. くっくっく… 今度はどうかな︖
結論 統計量出すのはめっちゃ速い 参考値︓ A)1億⾏、550MB => 3秒 B)10億⾏、5.4GB => 7秒くらい C)100億⾏、53.7GB
=> 10秒くらい D)1000億⾏、537.1GB => 1分くらい E)2000億⾏、1TB => 2分くらい © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 2000億⾏でもぜんぜん 使えるじゃねーかwwww
問題です︓3問⽬ 次のクエリで特定の⾏を検索したいと思います。1分以内に処理できるのはどこまででしょう。 select * from access_log where host = '148.117.65.93'
and path = '/item/jewelry/1288'; A)1億⾏、550MB B)10億⾏、5.4GB C)100億⾏、53.7GB D)1000億⾏、537.1GB E)2000億⾏、1TB © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. RDBと違ってIndexはないが、 こういうのはどうなるのかな︖
結論 特定の⾏を抽出するのもめっちゃ速い 参考値︓ A)1億⾏、550MB => 1秒 B)10億⾏、5.4GB => 2秒 C)100億⾏、53.7GB
=> 5秒 D)1000億⾏、537.1GB => 25秒 E)2000億⾏、1TB => 50秒 © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. こ、こいつ速すぎる
問題です︓4問⽬ 次のクエリで集約したい思います。。1分以内に処理できるのはどこまででしょう。 select host, path, count(*) from access_log group by
host, path; A)1億⾏、550MB B)10億⾏、5.4GB C)100億⾏、53.7GB D)1000億⾏、537.1GB E)2000億⾏、1TB © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 集約関数おそかったら 仕事でつかえねーから
結論 集約関数もめっちゃ速い 参考値︓ A)1億⾏、550MB => 2秒 B)10億⾏、5.4GB => 7秒 C)100億⾏、53.7GB
=> 10秒 D)1000億⾏、537.1GB => 35秒 E)2000億⾏、1TB => 1分5秒 © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ありがてぇ
1minクエリチャレンジ結論 4XL速すぎ © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
②サチらせチャレンジ︕ © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
こんな速い4XLですが サチります。 © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
ほう︖
サチるとは saturate(飽和する)のことで、これ以上性能が上がらないような状態を指します。 今回は4XLを下⼿くそに使って、サチらせてみましょう。 © 2020 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL. なるほどな
S3からロードしてみよう さぁ予想してみよう。それぞれどれくらいかかるかな︖ ※参考情報︓100億⾏、50GBで、1分12秒でした。 A)100万⾏、⾮圧縮、240MB、1ファイル => B)200万⾏、⾮圧縮、480MB、1ファイル => C)200万⾏、gzip圧縮、37MB、1ファイル => D)1億⾏、snappy圧縮550MB、69ファイル
=> © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
© 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 1ファイルで1億⾏のndjsonを ロードしたら15分もかかってびっくりしました。
そらそうだろ
© 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 同じ1億⾏のデータをきちんと分割すると 11秒でロード出来てしまう。
そらそうだろ
S3からロードしてみよう 参考値︓ A)100万⾏、⾮圧縮、240MB => 12秒 B)200万⾏、⾮圧縮、480MB => 23秒 C)200万⾏、gzip圧縮、37MB =>
22秒 D)1億⾏、550MB、69ファイル => 11秒 © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
③4XLを使うときのポイントまとめ © 2020 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
今⽇のまとめ • 4XLは何をやらせても速かった(本当に速いと思います © 2020 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL.
今⽇のまとめ • 4XLは何をやらせても速かった(本当に速いと思います • だが分割されてないファイル︕お前は駄⽬だ︕ © 2020 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.