AWS 落穂拾い (Data Engineering)
[履歴] [最終更新] (2022/09/17 18:50:12)
最近の投稿
注目の記事

Kinesis

  • Kinesis Streams
  • Kinesis Firehose
    • Kinesis Streams の後段に配置します。
      • Kinesis Streams を介さずに、Kinesis Firehose に直接データ入力することもできます。
    • 他の AWS サービスへの接続時に利用します。
      • バッファを利用したバッチ処理となっており、"Near" real time に連携します。Data Delivery Frequency
      • 例えば S3 への即時連携が必要な場合は、Kinesis Stream の後段に Kinesis Firehose ではなく Lambda を配置します。
      • 60 秒 (既定値) 経過、または batch サイズに到達した際に連携 (buffer flush) されます。
      • バッファサイズは firehouse の利用状況に応じて自動調整されます。
    • Lambda を併用して、データ加工できます。Amazon Kinesis Data Firehose Data Transformation
    • 失敗時のデータ、またはすべてのデータを S3 に送信できます。Troubleshooting Amazon Kinesis Data Firehose
  • Kinesis Analytics
    • Kinesis Streams または Kinesis Firehose の後段に配置します。
  • Kinesis Client Library (KCL)

AWS Batch

  • HPC (high-performance computing) 向けサービスの一つです。
  • Docker image を利用して job 実行します。What Is AWS Batch?
    • 内部的に ECS を利用しており、Fargate または EC2 インスタンスでジョブを実行します。
    • EC2 On-Demand または Spot Instance を利用します。
    • Fargate On-Demand または Fargate Spot Instance を利用します。
  • CloudWatch Events を併用してスケジュール実行できます。
  • Step Functions を併用して、バッチジョブの実行を制御できます。
  • Multi Node mode Multi-node parallel jobs
    • Placement Group (cluster) と併用できます。
    • Spot Instance との併用はできません。
    • 1 インスタンスを main とし、他のインスタンスを child node としてジョブを並列処理します。

Amazon EMR

Glue

Redshift

  • PostgreSQL をベースにしています。Amazon Redshift and PostgreSQL
    • PostgreSQL と異なり、トランザクション用ではなく、データ分析用の列指向 DB です。
  • シングル AZ で稼働します。
  • Redshift は provisioned なサービスであるため、単発的なクエリであれば Athena を利用します。
  • S3 にスナップショットを保存できます。Amazon Redshift snapshots
    • 追加のスナップショット作成時は、差分のみが保存されます。
    • 他のリージョンのスナップショットとしてコピーすることもできます。DR 対策として活用できます。
      • KMS key はリージョン毎に存在します。スナップショットを暗号化してコピーするためには、コピー先のリージョンの KMS key を、Redshift クラスタが利用できるように grant しておく必要があります。Copying AWS KMS–encrypted snapshots to another AWS Region
  • Redshift Spectrum Querying external data using Amazon Redshift Spectrum
    • S3 に存在するデータを、ロードすることなくクエリ分析できます。
    • Redshift クラスタが存在している必要はあります。
      • Redshift クラスタの compute node から、Redshift Spectrum の node に通信がなされます。
      • Redshift Spectrum の node が S3 から read します。
  • Workload Management (WLM) Workload management
    • 短期間で完了するクエリと、長時間必要なクエリの queue を分離することができます。
    • 管理者用の queue を専用に設けることもできます。
    • Automatic WLM → Redshift が WLM を管理する場合。
    • Manual WLM → AWS 利用者が WLM を管理する場合。
  • Working with concurrency scaling
    • クラスタを自動追加してスケールします。
  • 監査ログ
    • S3 または CloudWatch に格納できます。
    • 既定では無効化されており、有効化する必要があります。
    • S3 について、SSE-S3 暗号化をサポートします。

DocumentDB

Athena、Quicksight

関連ページ