Slide 1

Slide 1 text

© 2015 - 2022 Nowcast Inc. Redshift Serverless vs Snowflake 徹底比較! at DataOps Night #3 株式会社ナウキャスト 隅田 敦 1

Slide 2

Slide 2 text

© 2013 - 2022 Finatext Ltd. 2 twitter: @yummydum 隅田 敦 すみた あつし

Slide 3

Slide 3 text

© 2013 - 2022 Finatext Ltd. 3 株式会社ナウキャスト

Slide 4

Slide 4 text

© 2013 - 2022 Finatext Ltd. 4 ナウキャストの紹介 Alternative Dataとは利活用の進んでいないビッグデータの総称 Alternative Dataとは元々は金融領域の用語で、伝統的に使 われてきた財務情報や経済統計のようなデータ( Traditional Data)に対して、これまで利活用の進んでこなかったビッグデー タのことを指します。 データ利活用が活発なアメリカでは、様々な種類の Alternative Dataがサービスとして実際に提供されています。 参考) オルタナティブデータとは

Slide 5

Slide 5 text

© 2013 - 2022 Finatext Ltd. 5 ナウキャストの紹介 データの保有側・利用側の双方に価値を提供するAlternative Dataの Two-Sided Platformを展開

Slide 6

Slide 6 text

© 2013 - 2022 Finatext Ltd. 6 徹底比較の前に

Slide 7

Slide 7 text

© 2013 - 2022 Finatext Ltd. 7 今回の発表の目的は両者の使い所を見極めることであり, 優劣をつけることではありません! その上で, 今回の比較軸は以下の3つ! ● 製品としての位置づけ ● 実行速度と費用 ● pythonによる拡張

Slide 8

Slide 8 text

© 2013 - 2022 Finatext Ltd. 8 製品としての位置づけ

Slide 9

Slide 9 text

© 2013 - 2022 Finatext Ltd. 9 AWSのPaaSゆえに導入のハードルが低く, 他のAWSサービスとの連携もスムーズなRedshift ● AWSを既に使っているなら今この瞬間にでも動かし始められる! ○ アカウント管理, 請求, 各種ポリシーなどが既に整備されている ○ アクセス制御/ドキュメント/APIの仕様など馴染みがあり, 学習コストが低い ○ Serverlessになってさらに手軽に Federated query RDS Redshift Spectrum S3 COPY command S3, DynamoDB, EMR ● 他のAWSのサービスとシームレスなデータ連携

Slide 10

Slide 10 text

© 2013 - 2022 Finatext Ltd. 10 マルチクラウド対応のSaaSとしてクラウドを跨ったデータの集約/連携が魅力のSnowflake ● 組織内にマルチクラウド環境がある場合, 簡単にsnowflakeに集約可能 ● 別組織にあるsnowflakeやクラウド環境にシームレスにデータ連携 COPY INTO COPY INTO Data Sharing Organization A Organization B Organization C

Slide 11

Slide 11 text

© 2013 - 2022 Finatext Ltd. 11 実行速度と費用

Slide 12

Slide 12 text

© 2013 - 2022 Finatext Ltd. 12 ベンチマーキングは難しい!! ● キャッシュ ● 並行処理性能 ● 誤差評価 ● 計算資源の設定 ● アーキテクチャ上の差異 ● どういうデータセットにどういうクエリを実行するのか ● どれくらい人手で個別の最適化をするのか

Slide 13

Slide 13 text

© 2013 - 2022 Finatext Ltd. 13 TPC-DS 10TBによるベンチマーキングのやり方 ● OLAP用のベンチマークの産業標準であるTPC-DSを使って実行速度や費用を確かめたい ○ 意思決定支援システムを模したデータセット (今回は10TBを使用) ○ 様々な種類のOLAPクエリ99個 ● Redshiftでの用意の仕方 ○ https://github.com/awslabs/amazon-redshift-utils/tree/master/src/CloudDataWarehouseBenchmark/Cloud-DWB-Derived-from-TPCDS/10TB ○ ddl.sqlを実行するとテーブルが用意されます ○ query_0.sqlにベンチマーキング用のクエリがまとまっています ● Snowflakeでの用意の仕方 ○ https://docs.snowflake.com/en/user-guide/sample-data.html ○ SNOWFLAKE_SAMPLE_DATAというDBをdata sharingさせてくれます ○ クエリも専用のworksheetにまとめてくれています

Slide 14

Slide 14 text

© 2013 - 2022 Finatext Ltd. 14 99個のクエリを順次実行し, かかった時間と費用を計測してみた Total minutes Total cost in dollars Cost per minute Redshift (max RPU = 128) 37.0 min 38.7 $ 1.1 $ Redshift (max RPU = 256) 21.3 min 44.8 $ 2.1 $ Snowflake (X-Large) 41.2 min 47.2 $ 1.2 $ Snowflake (2X-Large) 23.1 min 53.1 $ 2.3 $ ● 両者ともに計算資源を増やせば十分な速度が出る ○ 同じ速度を出す設定ならRedshift Serverlessのがちょい安い ○ ただ解釈に注意: 製品としての位置づけが異なるので当然っちゃ当然

Slide 15

Slide 15 text

© 2013 - 2022 Finatext Ltd. 15 それぞれ得意不得意があるので, 必要に応じて追加でベンチマーキングをしましょう

Slide 16

Slide 16 text

© 2013 - 2022 Finatext Ltd. 16 Pythonによる拡張

Slide 17

Slide 17 text

© 2013 - 2022 Finatext Ltd. 17 SQLでは書きづらい/実装出来ない処理があるならPythonで書きたいよね ● 認知負荷の軽減や処理の共通化のためのモジュール化の機構がSQLには存在しない ○ dbtみたいにマクロでSQLを組み立てるという方向性もある(が...) ○ DataFrame API: モジュール化 & テスト容易性 & lintやformatによる品質向上 ● テキスト処理や機械学習など, SQLで実装出来ない処理は往々にしてある ○ python udfによる拡張が必要

Slide 18

Slide 18 text

© 2013 - 2022 Finatext Ltd. 18 Python udfは両者問題なし, DataFrame APIなどを使いたいならsnowflakeが良さそう ● 注意点: Redshiftのpython udfはPython 2.7しかサポートしていない ○ python拡張したいならlambda udfが推奨か. ベンチマーキングの結果は良好. ● DataFrame APIによる恩恵を受けたいならsnowpark ○ EMRとRedshiftの統合が進めば近い世界観が実現出来るかも?

Slide 19

Slide 19 text

© 2013 - 2022 Finatext Ltd. 19 すぐ導入できてAWS内のデータをシームレスに連携出来るRedshift マルチクラウド対応で豊富な拡張機能が魅力のsnowflake

Slide 20

Slide 20 text

© 2013 - 2022 Finatext Ltd. 20 今回の内容以外にもたくさん両者の差異や特徴があります ● computeの分離容易性 ● modern data stackとの相性 ● 権限管理のしやすさ ● etc この後のディスカッションや後日カジュアル面談などでお話しましょう!

Slide 21

Slide 21 text

© 2013 - 2022 Finatext Ltd. 21 End