Slide 1

Slide 1 text

Redshiftノードタイプを RA3へ移行する際の苦労話 2021.7.8 AWS Startup Tech Meetup Online #6

Slide 2

Slide 2 text

  自己紹介  片岡 基 Kataoka Motoi   テクノロジーとサッカーを愛するエンジニア    TVISION INSIGHTS株式会社所属     SIer → スポーツデータ会社 → TVデータ会社      サーバサイド、インフラ、フロントエンド、スマホアプリも少し       AWS大好き(Redshift、ECS、Lambda、Media Services)        浦和レッズ大好き(iOS/Androidアプリ出してます) ティービジョン インサイツ

Slide 3

Slide 3 text

Redshiftとは  PostgreSQLをベースにAWSが開発したデータウェアハウス   フルマネージドでスケーラブル、並列分散処理    数百GB以上のデータに対しての集計が得意(速い)      S3のファイルからもSQLでデータ抽出できる       AWSの各種分析サービスと連携(SageMaker, EMR等)        料金が高い

Slide 4

Slide 4 text

TVISION INSIGHTSでのRedshiftユースケース Redshift TV視聴データ 家庭内の 調査機器 家庭内の 調査機器 家庭内の 調査機器 TVCM出稿企業 広告会社 テレビ局 参照 分析アプリケーション ビッグデータ

Slide 5

Slide 5 text

課題 増え続けるデータ、遅延していくクエリ データ量 クエリ時間 ビジネスへの影響が出てしまう事に・・

Slide 6

Slide 6 text

ボトルネックはSpectrum? Redshift dc2.large * 22ノード S3にある データファイル Spectrum によりSQLで アクセス アプリケーション SQL クエリプラン データサイズが大きくてノード側 で持つと容量オーバーになるため S3に置いている

Slide 7

Slide 7 text

第2世代と第3世代のノードタイプ Redshift リーダーノード コンピュート ノード SSDストレージ コンピュート ノード SSDストレージ S3 Redshift リーダーノード コンピュート ノード コンピュート ノード DC2(第2世代) RA3(第3世代) Redshiftマネージドストレージ (S3) 広帯域ネットワーク Nitro System SSD キャッシュ SSD キャッシュ

Slide 8

Slide 8 text

AQUA(Advanced Query Accelerator) Redshift リーダーノード コンピュート ノード コンピュート ノード RA3(4xlarge, 16xlarge) Redshiftマネージドストレージ (S3) AQUA ノード AQUA ノード AQUA ノード AWS がデザインした分析処理向け のカスタムプロセッサを備え、 データの圧縮、暗号化、フィルタ リングや集計の処理を従来のCPU よりも遥かに⾼速に処理 「新たな分散型ハードウェアア クセラレーション処理レイヤに より、追加コストなしに他のク ラウドデータウェアハウスの10 倍の性能を実現」

Slide 9

Slide 9 text

ただし・・ LIKE と SIMILAR TO を含むクエリでしか有効じゃなかった・・・(2021年6月時点) https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/managing-cluster-aqua-understanding.html

Slide 10

Slide 10 text

RA3での検証結果 dc2.large 22ノード (44CPU) ra3.4xlarge 2ノード (24CPU) ra3.4xlarge 4ノード (48CPU) Spectrum利用: 90秒 Spectrum利用: 190秒 Spectrum利用: 70秒 - 実テーブル化: 250秒 - - 自動最適化後: 130秒 - アプリケーションで使用しているクエリでベンチマーク ↑現状 ↑検証用クラスター ↑検証用クラスター 遅い さらに遅い 改善したがまだ遅い 速い

Slide 11

Slide 11 text

マテリアライズドビュー マテリアライズドビュー テーブル テーブル 参照 参照 - ビュー定義で事前にSELECTしたデータを持っておける - ビュー使用時に都度参照テーブルをSELECTしない - リフレッシュすることでデータ最新化 - 参照先テーブルのデータ変更をトリガーに自動でリフレッシュ 既存のビューが大きい・重いのであ ればマテリアライズドビュー化する ことで大幅に高速化するはず!

Slide 12

Slide 12 text

Redshift参考資料 AWS Black Belt Online Seminar (2020.3) https://d1.awsstatic.com/webinars/jp/pdf/services/20200318_AWS_BlackBelt_Redshift.pdf Amazon Redshift 最前線~Dive Deep & Update~ (2020.8) https://pages.awscloud.com/rs/112-TZM-766/images/AmazonRedshift%E6%9C%80%E5%89%8D%E7%B7%9A-D iveDeep%26Update.pdf 実演 Amazon Redshift- 最新機能はこう使う - (2020.8) https://pages.awscloud.com/rs/112-TZM-766/images/%E5%AE%9F%E6%BC%94Amazon_Redshift.pdf Amazon Redshift 運用管理(2021.1.27) https://d1.awsstatic.com/webinars/jp/pdf/services/20210127_AWS_BlackBelt_RedshiftOperation.pdf Amazon Redshift の 進化の歴史とこれから/redshift-evolution-2021 (2021.4.6) https://speakerdeck.com/jozono/redshift-evolution-2021 実演Amazon Redshift 最新機能 (2021.4.6) https://speakerdeck.com/daisukehirama41/shi-yan-amazon-redshift-zui-xin-ji-neng Amazon Redshift ドキュメント(公式) https://docs.aws.amazon.com/ja_jp/redshift/?id=docs_gateway

Slide 13

Slide 13 text

TVISION INSIGHTS では切実にエンジニアを募集しています! ティービジョン インサイツ