株式会社パープルマリアージュ代表取締役、IoTコンサルタントの”紫”です。IoTでは、リアルタイムでの非常に大量なデータの保存処理が必要になってきます。そのため、RDBではなく、処理速度などのパフォーマンスやスケーラビリティに優れるNoSQLに注目が集まっています。

読者様はもうご存知かと思いますが、
NoSQL(一般に”Not only SQL”)とは、リレーショナルデータベース管理システム (RDBMS) 以外のデータベース管理システムを指す用語です。
NoSQLデータベースは処理速度を高速化することに重点がおかれており、RDBMSの表形式ではなく、キーと値をペアにして保持することで重複をなくしたKVS(Key-Value Store型)のデータ形式を取ります。
以下のデータ格納形式を取ります。
はを重視しており、インメモリー・データベースによるパフォーマンスの追及が可能です。
1.大量データの蓄積
IoTではリアルタイムでのデータ分析のニーズが高く、センサーのデータ記録・生成回数は多くなる傾向があります。またデータの収集範囲を拡大するほど、センサー台数は大量になっていきます。そのため、1件あたりのデータサイズは小さくても、全体のデータ量としては大量になります。加えて長期的にデータを蓄積していくケースも想定されるため、大容量のデータストアが必要となります。
2.高速な書き込み処理
多数のセンサーから高頻度にデータが送信されるため、データストア側では膨大な件数のデータを同時に受信することになります。そのため、大量の件数を高速に書き込める処理性能が必要となります。
3.非構造(非定型)データの保存
センサーデータの形式は各センサー機器に依存しており、取り扱う機器によって数値・テキスト・画像など様々な形式があります。また異なる形式のデータが混在するケースも想定されます。そのためデータストアは、このような非構造データを保存できる必要があります。
このような課題に対応したものとして、NoSQLと呼ばれるデータストアが注目されています。いったいNoSQLとはどのようなものなのでしょうか? 次節にて見ていきたいと思います。