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
numa
October 09, 2021
Programming
0
300
Snowflakeの最大ウェアハウス4XLは遠慮せず使うべし
2021-02-24の #SnowVillage LIVE 003 での発表資料
4XLは速い!
numa
October 09, 2021
Tweet
Share
More Decks by numa
See All by numa
DataEngineeringとCloudNativeの今と未来
foursue
0
680
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
420
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
790
日本におけるデータエンジニアリングのこれまでとこれから
foursue
19
6.2k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.9k
dbtでデータ品質活動
foursue
8
6.1k
dbtvaultはここまでできる
foursue
2
7.4k
今日わかるデータメッシュ!!!
foursue
1
910
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
7.8k
Other Decks in Programming
See All in Programming
Honoアップデート 2025年夏
yusukebe
0
270
DataformでPythonする / dataform-de-python
snhryt
0
180
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
460
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
110
Infer入門
riru
4
1.5k
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
パスタの技術
yusukebe
1
390
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.9k
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.4k
Reactの歴史を振り返る
tutinoko
1
180
画像コンペでのベースラインモデルの育て方
tattaka
3
1.7k
Webinar: AI-Powered Development: Transformiere deinen Workflow mit Coding Tools und MCP Servern
danielsogl
0
130
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Raft: Consensus for Rubyists
vanstee
140
7.1k
RailsConf 2023
tenderlove
30
1.2k
Agile that works and the tools we love
rasmusluckow
329
21k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Faster Mobile Websites
deanohume
309
31k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Statistics for Hackers
jakevdp
799
220k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Adopting Sorbet at Scale
ufuk
77
9.5k
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.