Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

小規模ワークロードにおけるRedshift Serverlessのログの取り扱い

ikeda-masashi
September 27, 2022

小規模ワークロードにおけるRedshift Serverlessのログの取り扱い

JAWS-BigData 勉強会 #21

ikeda-masashi

September 27, 2022
Tweet

More Decks by ikeda-masashi

Other Decks in Programming

Transcript

  1. 2022/09/26 19:03 - 19:28 
 BigData-JAWS 勉強会#21 
 面白法人カヤック 池田将士

    @mashiike 
 小規模ワークロード向けのRedshift Serverlessのログの取り扱い

  2. 自己紹介
 池田 将士 (@mashiike) 技術部 SREチーム所属 好きなAWSサービス Amazon S3 Amazon

    Kinesis Data Firehose Amazon Redshift 2016年末に入社 入社当時はサーバーサイドエンジニア 現在はデータエンジニア活動 趣味 • ネットゲーム • OSSを書くこと
  3. 何が嬉しいのか?
 • 使ったコンピューティング性能に対する課金 
 Redshift Processing Unit (RPU) で測定
 
 •

    素早いスケーリング
 
 • 安心な可用性
 (ra3.xlplus 1ノードで運用することもあったので・・・)

  4. 何が嬉しいのか?
 • 使ったコンピューティング性能に対する課金 
 Redshift Processing Unit (RPU) で測定
 
 •

    素早いスケーリング
 
 • 安心な可用性
 (ra3.xlplus 1ノードで運用することもあったので・・・)

  5. 今回の内容は・・・
 小規模ワークロード向けに
 Redshift Serverlessで (料金がお安く)
 どうやってログデータを取り扱えば良いのか?
 ※仮に Kinesis Data Firehose経由で 


    1分に1回、取り込みに1秒かかるCopyコマンドを発行したとすると...
 24 [分/day] ✕ 0.494 [USD/ RPU hour] ✕ 32 [RPU] = 379.392 [USD/day] ??? 
 真面目にやると多分お高くなる。

  6. 今回の内容は・・・
 小規模ワークロード向けに
 Redshift Serverlessで (料金がお安く)
 どうやってログデータを取り扱えば良いのか?
 ※仮に Kinesis Data Firehose経由で 


    1分に1回、取り込みに1秒かかるCopyコマンドを発行したとすると...
 24 [分/day] ✕ 0.494 [USD/ RPU hour] ✕ 32 [RPU] = 379.392 [USD/day] ??? 
 真面目にやると多分お高くなる。
 0.4 [hour/day] ✕ 0.494 [USD/ RPU hour] ✕ 32 [RPU] = 6.3232 [USD/day] 
 配信中は計算ミスしてましたすみません! 

  7. 方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー
 といった機能が活用しづらい 方針2: 低頻度にCopy

    メリット: Redshiftの機能をフル活用できる
 デメリット: データの鮮度 https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/materialized-view-create-sql-co mmand.html Redshift Spectrumのデメリット例:
 マテリアライズドビューのAUTO REFRESH が使えなくなる

  8. ところで、昔はどうやってKinesisに流れるログを取り込んでいたのか?
 実は、Kinesis Firehoseが発表されたのは 2015.10 、 東京に来たのは2017年 
 https://aws.amazon.com/jp/blogs/aws/amazon-kinesis-firehose-simple-highly-scalable-data-ingestion/ https://speakerdeck.com/fujiwara3/aws-devday-tokyo-2019?slide=14 弊社は、隙間家具OSS

    『Rin』を使っていた(いる) 
 実は、
 • Kinesis firehoseの取り込み再試行は最大2時間 
 • メンテナンス時に取り込みを止められない 
 • 昔から使い続けてるから変えられない 
 • etc…
 で、まだまだ現役だったりする。 

  9. 方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー
 といった機能が活用しづらい 方針2: 低頻度にCopy

    メリット: Redshiftの機能をフル活用できる
 デメリット: データの鮮度 https://aws.amazon.com/jp/about-aws/whats-new/2022/02/amazon-redshift-public-preview-streaming -ingestion-kinesis-data-streams/ 覚えていますか?このPreview どうやら外部スキーマに対する 
 マテリアライズドビューのようです。 
 
 Previewでは手動更新のみですが、 
 GAではどうなるのでしょうか? 
 
 もしかしたら、Redshift Serverlessの 
 ワークグループが起動したタイミングで 
 24時間分しゅっと取り込んでくれるかもしれないで す? (願望)

  10. • Redshift Serverlessでログを取り扱うときは要注意
 • Kinesis Data Firehoseを使ってCopyすると高くなるかも?
 • 方針は2つ!節約のポイントはそれぞれあるよ!
 ◦

    方針1: Redshift Spectrumを使う
 節約ポイントはAWS Glue経由で未来のパーティションを!
 
 ◦ 方針2: 低頻度Copy
 節約ポイントはKinesis Data Firehoseに頼らない取り込み方法を考え よう!
 (弊社は github.com/fujiwara/Rin の再登場!)
 • プレビュー中のKinesis Data Streamのストリーミング取り込みは
 ちょっぴり期待が高い!
 まとめ