Amazon Redshiftを理解する

Redshiftは大規模なSQL分析を行うデータウェアハウスです。列指向の保存、並列処理、データ取込みと外部データ、ProvisionedとServerlessを、分析の目的から理解します。

この単元で学ぶこと

  • データウェアハウスと分析負荷を説明する
  • 保存・処理・外部データの役割を区別する
  • 運用方式と品質・費用を判断する

本文解説

1. 集約した分析の基盤 Redshiftは業務システム等のデータを分析に利用するマネージドデータウェアハウスです。例えば店舗・商品・日付別の売上を大量の注文履歴から集計します。SQLを使う点は業務DBと共通しても、一件ずつの注文を低遅延で確定する用途との違いを確認します。

2. 必要な列を読む Redshiftは表のデータを列指向で保存します。百列ある注文表から日付と金額だけを集計する場合、必要な列を中心に読めることが効率に関係します。値の種類が近い列をまとめると圧縮もしやすくなります。ただし全クエリで固定倍率の高速化を保証するものではありません。

3. 処理を分担する 大量のデータを複数の処理資源で分担する並列処理を利用します。データの配置、結合、負荷等が性能へ影響します。マネージドでも利用者のSQLやデータ設計を全て無関係にできるわけではなく、実際の分析で応答時間を確認します。

4. データを取り込む S3等からデータを取り込んで分析する構成では、取り込む対象と更新頻度、重複や欠損を確認します。Glue等で事前に整形する案や、ロード後にSQLで変換する案があります。基盤を用意しただけで元の通貨単位や時刻の違いが自動で修正されるわけではありません。

5. 外部データの分析 RedshiftにはS3の外部データを問い合わせる機能もあります。現行では構成によってSpectrumや統合されたデータレイクのクエリエンジンを使うため、全方式を同じ実装と説明しません。CLFでは、取込み済みデータだけでなく外部データを利用する選択肢があることを理解します。

6. 提供方式 Provisionedではクラスタの資源を選んで管理し、Serverlessではデータウェアハウスの容量管理を軽減します。Serverlessでもデータベース、スキーマ、権限、利用条件を設計します。必要な処理性能と同時利用、現行の料金条件から比較し、名称だけで費用や性能を決めません。

7. BIとの接続 分析した結果はBIツールで図表やダッシュボードにできます。例えばAmazon Quick Sightは、データ源へ接続して可視化を行う機能です。現行ではAmazon Quick内のBI機能として案内され、旧QuickSightの名称とも対応します。Redshiftの保存・SQL処理と、利用者が見るグラフの役割を区別します。

8. 正確さと安全性 分析者へ必要なデータだけを許可し、保存・転送の保護やバックアップを確認します。SQLの実行成功と集計対象の正しさ、集計結果を見せてよい範囲は別です。計算資源や保存、外部問い合わせ等の適用料金を含め、データの鮮度と必要な応答時間を検証します。

図解

保存・SQL分析・可視化を接続
結果の見せ方と、データを集計する基盤は役割が異なります。

重要ポイント

  • 多くの行の必要な列を読む分析に着目する。
  • 外部データの利用方法もある。
  • SQL分析とBIの可視化を分ける。

間違えやすい点

  • SQLがあるので業務DBの全用途へ無条件に置換する。
  • Serverlessならスキーマや権限も不要と考える。

用語解説

列指向
同じ列の値をまとめて保持し、必要な列の読取り等を効率化する方式。
並列処理
複数の処理資源へ仕事を分けて実行する方法。
BI
業務データを分析・可視化し判断に利用する仕組み。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。