Kinesisで実現するIoT

Pocket

こんにちは!HALです。

最近よく聞くInternet of Things(IoT)
物のインターネットといわれ、その一例として、車やスマホや電子機器等のセンサーデータの収集をして、解析して、データの傾向を導き出したり、特定の条件に合うパターンを自動検出して、センサーを設置した機器の故障を事前に予測したり様々なシーンで活用されてきています。

今回はIoTを実現する上でKinesisや他のAWS製品がどの部分を担っているのか、ということを簡単にご紹介したいと思います。

loTの要素

loTは一般的に以下の4つの要素になっているそうです。

① 「設置」:スマホや、各種機器のセンサーデータを取得するためにデバイスに設置します。
② 「取集」:各センサーデータの収集を行います。
③ 「分析」:大量のセンサーデーターの分析を行います。
④ 「活用」:分析結果を活用します。

この4つの役割の中でKinesisは、②の部分で活用できます。
また、Kinesisは大量のデーターを受信して一時的に保存(24時間)もできます。
次の分析の基盤に受け渡す役割を致します。

Kinesisは、シャードという単位ごとに受信可能になっていて、シャード1つにつき、1M/秒のデータを受けることが可能になります。
シャードの増減は非常に簡易的にできることがメリットとなります。

③の分析については、少し複雑になっていて、EC2に分析ソフトを入れて、さらにEMRや、DynamoDB、Redshiftなどの解析基盤で複雑な分析を行うような多段構成を組むこともできます。

この分析において、最近では、「ラムダ・アーキテクチャー」と呼ばれる解析手法が主流になっているそうです。
これは、「スピード層」と「バッチ層」という2つの階層に分けて、「スピード層」では、リアルタイムに今の状況の分析を行い、「バッチ層」では過去数年のデーターを蓄積して、そのデーターの分析を行うようなことを並列して行うような分析処理をいいます。

いかがでしたでしょうか?
次回もお楽しみに!!