AWS machine learning (機械学習) 勉強記③ データ処理手法
こんにちは、れお太郎です。
前回に引き続き、勉強記をまとめたいと思います。
前回の記事はこちらです。
データ処理手法
前回の記事でまとめたAWSのストレージサービスですが、ストレージにデータを取り込む必要があります。
その取り込み手法としてバッチ処理とストリーム処理があります。
バッチ処理
バッチ処置は一定量のデータを集めてから、一括で処理を行う方法です。定期的にデータを収集して、特定の条件やスケジュールに基づいて処理する方法です。
バッチ処理はリアルタイム性に欠けるものの、監視や管理は最小限で済み、不可も最小限で抑えることができます。
AWS Glue / AWS DMS / AWS Step Function
・AWS Glue
マネージド型のETL(抽出、変換、ロード)のサービス
サーバーレスで、データ統合を行うことができる
AWSの中にデータを入れたらAWS Glueを使用することが多い
・AWS Database Migration Service(DMS)
データベース間のデータ移行を支援するサービス
オンプレミス→AWSやAWS間の異なるサービスの移行に使われる
・AWS Step Functions
複数のAWSサービスを連携して、ワークフローを自動化する
ETLタスクを自動化することができる
ポイント
・外部からAWSへデータを移行するときにはAWS DMSを使う
・AWS間のデータ移動(ETL)にはAWS Glueを使う
・ワークフローを作成する際にはAWS Step Functionを使う
参考サイト AWSの公式サイトより
ストリーム処理
ストリーム処理は、データが生成されると同時に連続的に取得、操作、ロードの処理を行います。
随時実行するため、グループ化は行われません。
常にソースを監視する必要があるため、コスト効率は低くなり、処理の負荷も高くなります。
顧客に表示するダッシュボードなどリアルタイム分析が必要な場合は、ストリーム処理をする必要があります。
Amazon Kinesis / Apache Kafka
・Amazon Kinesis
フルマネージドなリアルタイムデータストリーミングサービス
高速で移動するデータを取得して取り込むことができます。
下記のような扱う内容に沿った各種サービスもあります。
・Kinesis Video Streams:動画や音声データを取り込んで分析できる。
・Kinesis Data Streams:リアルタイムデータストリーミングのためのスケーラブルなストリームを提供。
・Kinesis Data Firehose:データのバッチ処理や圧縮を行える。
・Kinesis Data Analytics:ストリーミングデータのリアルタイム分析。
Kinesisの違いはチェックですね
・Amazon Managed Streaming for Apache Kafka (MSK)
Apache Kafkaのマネージドサービス
Apache Kafkaは、オープンソースのストリーム処理プラットフォーム、オープンソースであるが上、スキルレベルが必要
ポイント(2つのサービスの違い)
・KinesisはAWSのフルマネージドサービス
・Kinesisは高い可用性やデータ保証があるが、Kafkaは低レイテンシ
・Kinesisはデータ保持期間は最長7日間
参考(より比較を知りたい方向け)
・Amazon KinesisとApache Kafkaの類似点/相違点まとめ
・KafkaとAWS Kinesisの比較
今回はAWSのデータ処理手法に関してまとめてみました!
次回の記事はこちら!
この記事が気に入ったらサポートをしてみませんか?