見出し画像

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のデータ処理手法に関してまとめてみました!

次回の記事はこちら!


この記事が気に入ったらサポートをしてみませんか?