Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Redshift Serverless vs Snowflake 徹底比較!

Atsushi Sumita
November 30, 2022

Redshift Serverless vs Snowflake 徹底比較!

以下のイベントの登壇資料になります.
https://finatext.connpass.com/event/264064/

あくまで2022/11/24時点での比較になります. 両製品は刻々と進化しているので継続的に動向をウォッチしましょう.

11/30時点で, 早速DataFrame APIについてはRedshiftが追い上げをかけてきました!
https://aws.amazon.com/blogs/aws/new-amazon-redshift-integration-with-apache-spark/

また, 本発表では話しきれなかった比較軸もたくさんあるので, 今後の発表やカジュアル面談などで続きをお話できればと!!

Atsushi Sumita

November 30, 2022
Tweet

More Decks by Atsushi Sumita

Other Decks in Technology

Transcript

  1. © 2015 - 2022 Nowcast Inc. Redshift Serverless vs Snowflake

    徹底比較! at DataOps Night #3 株式会社ナウキャスト 隅田 敦 1
  2. © 2013 - 2022 Finatext Ltd. 4 ナウキャストの紹介 Alternative Dataとは利活用の進んでいないビッグデータの総称

    Alternative Dataとは元々は金融領域の用語で、伝統的に使 われてきた財務情報や経済統計のようなデータ( Traditional Data)に対して、これまで利活用の進んでこなかったビッグデー タのことを指します。 データ利活用が活発なアメリカでは、様々な種類の Alternative Dataがサービスとして実際に提供されています。 参考) オルタナティブデータとは
  3. © 2013 - 2022 Finatext Ltd. 7 今回の発表の目的は両者の使い所を見極めることであり, 優劣をつけることではありません! その上で,

    今回の比較軸は以下の3つ! • 製品としての位置づけ • 実行速度と費用 • pythonによる拡張
  4. © 2013 - 2022 Finatext Ltd. 9 AWSのPaaSゆえに導入のハードルが低く, 他のAWSサービスとの連携もスムーズなRedshift •

    AWSを既に使っているなら今この瞬間にでも動かし始められる! ◦ アカウント管理, 請求, 各種ポリシーなどが既に整備されている ◦ アクセス制御/ドキュメント/APIの仕様など馴染みがあり, 学習コストが低い ◦ Serverlessになってさらに手軽に Federated query RDS Redshift Spectrum S3 COPY command S3, DynamoDB, EMR • 他のAWSのサービスとシームレスなデータ連携
  5. © 2013 - 2022 Finatext Ltd. 10 マルチクラウド対応のSaaSとしてクラウドを跨ったデータの集約/連携が魅力のSnowflake • 組織内にマルチクラウド環境がある場合,

    簡単にsnowflakeに集約可能 • 別組織にあるsnowflakeやクラウド環境にシームレスにデータ連携 COPY INTO COPY INTO Data Sharing Organization A Organization B Organization C
  6. © 2013 - 2022 Finatext Ltd. 12 ベンチマーキングは難しい!! • キャッシュ

    • 並行処理性能 • 誤差評価 • 計算資源の設定 • アーキテクチャ上の差異 • どういうデータセットにどういうクエリを実行するのか • どれくらい人手で個別の最適化をするのか
  7. © 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にまとめてくれています
  8. © 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のがちょい安い ◦ ただ解釈に注意: 製品としての位置づけが異なるので当然っちゃ当然
  9. © 2013 - 2022 Finatext Ltd. 17 SQLでは書きづらい/実装出来ない処理があるならPythonで書きたいよね • 認知負荷の軽減や処理の共通化のためのモジュール化の機構がSQLには存在しない

    ◦ dbtみたいにマクロでSQLを組み立てるという方向性もある(が...) ◦ DataFrame API: モジュール化 & テスト容易性 & lintやformatによる品質向上 • テキスト処理や機械学習など, SQLで実装出来ない処理は往々にしてある ◦ python udfによる拡張が必要
  10. © 2013 - 2022 Finatext Ltd. 18 Python udfは両者問題なし, DataFrame

    APIなどを使いたいならsnowflakeが良さそう • 注意点: Redshiftのpython udfはPython 2.7しかサポートしていない ◦ python拡張したいならlambda udfが推奨か. ベンチマーキングの結果は良好. • DataFrame APIによる恩恵を受けたいならsnowpark ◦ EMRとRedshiftの統合が進めば近い世界観が実現出来るかも?
  11. © 2013 - 2022 Finatext Ltd. 20 今回の内容以外にもたくさん両者の差異や特徴があります • computeの分離容易性

    • modern data stackとの相性 • 権限管理のしやすさ • etc この後のディスカッションや後日カジュアル面談などでお話しましょう!