AWS Athenaを使ってDynamoDBに結果を保存する

Writing results from an Athena query to Amazon DynamoDB

サマリー

Amazon S3、Athena、DynamoDBを使用して、エネルギー消費データを処理して顧客と共有する、エネルギー企業向けのIoT分析ソリューションについての記事。データはS3バケットにcsvで保存し、AthenaでSQLクエリを実行して分析され、DynamoDBに保存されて顧客がダッシュボードからアクセスできるようにする。この構成はエネルギー消費データを把握し、ユーザーと共有することを目的としている。

構成の流れ

  1. 電力メーターセンサーからのデータはAmazon S3バケットに取り込まれる。

  2. この記事で紹介されている会社では、Amazon Athenaを使ってS3バケット内のファイルに対してSQLクエリを実行することで、特定のデータストアにデータを読み込むことなく、データの分析を行うことができます。

  3. 分析結果は、フルマネージドNoSQLデータベースである「Amazon DynamoDB」に格納されます。

  4. DynamoDBに格納されたデータは、ダッシュボードからアクセスできるようになり、ユーザーは自分の電力消費量の統計を確認できるようになります。

メリット

ここからは考察です。

コスト

Amazon S3、Amazon Athena、Amazon DynamoDBの3つとも従量課金なので使った分のみが課金される

拡張性の高さ

s3はほぼ無制限にデータを保存することができ、Athenaはサーバーレスサービスなので、大量のクエリを処理するために自動的に拡張することができる。Dynamoは1日あたり10兆件以上のリクエストを処理でき、1秒あたり2000万件以上のピークに対応が可能。

セキュリティ

3つのサービスとも暗号化、アクセス制御、監視等のセキュリティを容易に実装できるため、一定の安全性が担保できる。

パフォーマンス

AthenaとDynamoDBを使うことで、データの分析やアクセスが簡単になります。Athenaは複雑なクエリを簡単に実行できるため、顧客の電力消費に関するインサイトを得ることができます。DynamoDBは、スケールに関係なく単一の数ミリ秒のパフォーマンスを提供するサーバーレスのキーバリュー型NoSQLデータベースで顧客はリアルタイムでデータにアクセスでき、パフォーマンスが低下することはありません。

デメリット

コスト

ほぼ全てがサーバーレスで構成されているため、リクエスト数が増えると請求料金が膨大に増えることがある。

アーキテクチャによる制限

拡張性や高いパフォーマンスを望めるDynamoDBですが複雑なリレーションやトランザクションには向いていないため、一部の構成には向いていません。




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