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
250
Snowflakeの最大ウェアハウス4XLは遠慮せず使うべし
2021-02-24の #SnowVillage LIVE 003 での発表資料
4XLは速い!
numa
October 09, 2021
Tweet
Share
More Decks by numa
See All by numa
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
320
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
720
日本におけるデータエンジニアリングのこれまでとこれから
foursue
19
5.8k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.8k
dbtでデータ品質活動
foursue
7
5.7k
dbtvaultはここまでできる
foursue
2
6.4k
今日わかるデータメッシュ!!!
foursue
1
830
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
3
6.8k
dbtvault on snowflake
foursue
0
5.6k
Other Decks in Programming
See All in Programming
ASP.NET Core の OpenAPIサポート
h455h1
0
120
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Jaspr Dart Web Framework 박제창 @Devfest 2024
itsmedreamwalker
0
150
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
280
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
rails newと同時に型を書く
aki19035vc
5
710
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.4k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Docker and Python
trallard
43
3.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
KATA
mclloyd
29
14k
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.