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
140
Snowflakeの最大ウェアハウス4XLは遠慮せず使うべし
2021-02-24の #SnowVillage LIVE 003 での発表資料
4XLは速い!
numa
October 09, 2021
Tweet
Share
More Decks by numa
See All by numa
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
550
日本におけるデータエンジニアリングのこれまでとこれから
foursue
17
4.9k
技育祭2023春 ちゅらデータ講演資料
foursue
1
1.7k
dbtでデータ品質活動
foursue
7
5k
dbtvaultはここまでできる
foursue
2
5.2k
今日わかるデータメッシュ!!!
foursue
1
670
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
2
5.1k
dbtvault on snowflake
foursue
0
4.8k
DataVault2.0をご紹介
foursue
5
4.9k
Other Decks in Programming
See All in Programming
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
140
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
4
2.2k
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
15
5.3k
The Final Frontier of Web Development: React Server Components vs Jakarta EE
ivargrimstad
0
260
CQRS meets modern Java
simas
PRO
2
480
酒飲んでたらテックリードになった話
spbaya0141
0
210
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
340
JS RPCを理解する
yusukebe
5
310
Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜
kokuyouwind
0
210
Kubernetes Code Contribution入門
bells17
1
120
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.4k
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
890
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
A designer walks into a library…
pauljervisheath
201
23k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Designing with Data
zakiwarfel
96
4.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
The Pragmatic Product Professional
lauravandoore
26
5.9k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
A Philosophy of Restraint
colly
197
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
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.