はじめに
みなさんはIoTデバイスのデータをどこにためていますか?RDSですか?DynamoDBですか?それともS3ですか?
私はDynamoDBにデータを貯めることが大半です。DynamoDBはセンサーデータを貯めるのにかなり適していると思ってます。
ですがAWSIoTのサービス群には、ちゃんとデータを蓄積するためのサービスがあるんです。それが AWSIoTAnalytics です。
しかも蓄積するだけでなく、分析することもできます。
先日東京リージョンに上陸したので、どんなものなのか体感するために使ってみました。
AWSIoTAnalyticsとは?
AWS IoT Analytics は、膨大な量の IoT データの高度な分析を簡単に実行および操作できる完全マネージド型サービスです。
IoT分析プラットフォームの構築に通常伴うコストや複雑さについて心配する必要はありません。このサービスは、IoT アプリケーションや
Machine Learning のユースケースで最適かつ正確な判断を下すために、IoT データを分析してインサイトを得る最も簡単な手段です。
サービスとしてはAWSIoTCoreを利用してAWSにデータを送信しているIoTデバイスのデータを蓄積して分析するためのサービスのようです。
とりあえず試す
では早速試していきましょう。
準備
まずデータを蓄積する準備をしていきます。
チャネル
チャネルではAWSIoTCoreのどのトピックにPublishされたメッセージを取得するかを設定します。
データストア
データを蓄積するためのデータストアを作成します。
パイプライン
パイプラインでは、チャネルで取得したメッセージをデータストアに蓄積するための設定をします。
分析
蓄積したデータを分析していきます。
今回はSQLで引っこ抜くことだけします。
データセット
データストアに対してどのようなデータの取得をするか設定していきます。
作成したあとリスト画面から先程作成したデータセットを選択して右上のメニューを開き、クエリを実行します。
最後に
これでデータを蓄積して取得することができました。
まだ本格的に使っていないのでつかめていないところが多いのですが、単純にデータを蓄積するまでが楽になりましたし、DynamoDBではできないSQLでデータを取得するということもできました。
いざ本格的にデータを流したらどうなるのか?頻繁にクエリを実行したらどうなるのか?疑問点はまだまだ多いですが、使い勝手は良いと思います。
またデータストアを利用して、Jupyterノートブックでデータを分析することもできるので、今まで以上にデータ分析が捗るのかなという感じですね。
ではまた!