Share
Embed
Transcript
41 slides
-
2022/09/26 19:03 - 19:28 BigData-JAWS 勉強会#21 面白法人カヤック 池田将士
@mashiike 小規模ワークロード向けのRedshift Serverlessのログの取り扱い -
自己紹介 池田 将士 (@mashiike) 技術部 SREチーム所属 好きなAWSサービス Amazon S3 Amazon
Kinesis Data Firehose Amazon Redshift 2016年末に入社 入社当時はサーバーサイドエンジニア 現在はデータエンジニア活動 趣味 • ネットゲーム • OSSを書くこと -
何が嬉しいのか? • 使ったコンピューティング性能に対する課金 Redshift Processing Unit (RPU) で測定 •
素早いスケーリング • 安心な可用性 (ra3.xlplus 1ノードで運用することもあったので・・・) -
何が嬉しいのか? • 使ったコンピューティング性能に対する課金 Redshift Processing Unit (RPU) で測定 •
素早いスケーリング • 安心な可用性 (ra3.xlplus 1ノードで運用することもあったので・・・) -
今回の内容は・・・ 小規模ワークロード向けに Redshift Serverlessで (料金がお安く) どうやってログデータを取り扱えば良いのか? ※仮に Kinesis Data Firehose経由で
1分に1回、取り込みに1秒かかるCopyコマンドを発行したとすると... 24 [分/day] ✕ 0.494 [USD/ RPU hour] ✕ 32 [RPU] = 379.392 [USD/day] ??? 真面目にやると多分お高くなる。 -
今回の内容は・・・ 小規模ワークロード向けに 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] 配信中は計算ミスしてましたすみません! -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
Redshift Spectrum Amazon S3上に存在するデータを直接参照する機能 before: after: https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c-getting-started-usi ng-spectrum-create-external-table.html より引用 外部スキーマを定義して
外部テーブルを定義する (データの取り込みなし) 外部スキーマの外部テーブルに対してクエリが可能 -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
方針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 が使えなくなる -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
ところで、昔はどうやって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… で、まだまだ現役だったりする。 -
方針1: Redshift Spectrum メリット: ほぼリアルタイムデータ デメリット: SUPER型やマテリアライズドビュー といった機能が活用しづらい 方針2: 低頻度にCopy
メリット: Redshiftの機能をフル活用できる デメリット: データの鮮度 -
方針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時間分しゅっと取り込んでくれるかもしれないで す? (願望) -
• Redshift Serverlessでログを取り扱うときは要注意 • Kinesis Data Firehoseを使ってCopyすると高くなるかも? • 方針は2つ!節約のポイントはそれぞれあるよ! ◦
方針1: Redshift Spectrumを使う 節約ポイントはAWS Glue経由で未来のパーティションを! ◦ 方針2: 低頻度Copy 節約ポイントはKinesis Data Firehoseに頼らない取り込み方法を考え よう! (弊社は github.com/fujiwara/Rin の再登場!) • プレビュー中のKinesis Data Streamのストリーミング取り込みは ちょっぴり期待が高い! まとめ