オープンソース

IoTプラットフォームで使われるOSS「IoTデータ収集プラットフォーム」

IoTデータ収集プラットフォームは、IoTエンドポイントから収集したデータを蓄積し管理するための設備です。IoTデータ収集プラットフォームで使えるソフトウェアは、収集するデータ量の規模によって異なります。このページでは、IoTデータ収集プラットフォームで利用できるOSSと、それぞれのOSSの特徴について解説します。

IoTプラットフォーム

IoTデータ収集プラットフォーム

IoTデータ収集プラットフォームは、IoTエンドポイントから収集したデータを保管するための設備です。データ量がそれほど多くない場合には、汎用的なストレージやオブジェクトストレージをそのまま利用することができます。一方、データ量が多い場合には、NoSQLデータベース、負荷分散型のデータベース、高速な全文検索エンジンなどが使われます。

IoTデータ収集プラットフォームで使えるソフトウェア

IoTデータ収集プラットフォームでは、IoTエンドポイントから収集した膨大な量のデータを保管します。それらの大量のデータを把握・分析するために、効率よく処理するためのデータベースが必要となります。

なお、データ量に関わらず、IoTデータ収集プラットフォームでは、以下のような理由からリレーショナルデータベースはあまり利用されません。

  • 収集したデータには相関関係(リレーション)がない
  • リレーショナルデータベースは、スケーラビリティに問題がある
  • リレーショナルデータベースは、コンテナ型仮想化などでは使いにくい

その代わり、IoTデータ収集プラットフォームでは、NoSQL型のデータベースやKVS(key Value Store)などのデータベースが利用されます。こうしたデータベースには、コンテナ環境でデータの冗長性を確保するための仕組みや、負荷分散を行うための仕組みも実装されています。以下では、IoTデータ収集プラットフォームで使える、ストレージやデータベースのOSSを紹介します。

Ceph 〜大容量で拡張性の高いストレージ〜

Cephとは、可用性の高いストレージシステムを構築するためのオープンソースソフトウェアです。オブジェクトストレージとしても利用することができます。動的な拡張、ワークロードの変化への対応、ペタバイトスケールのストレージを目指して開発されています。非常に拡張性が高く、高い信頼性を提供します。

Cephでは、複数のストレージを結合し、1つの大きなストレージ空間を作成することができます。複数のストレージ上にデータを分割して分散配置します。このストレージ空間は、次の3つの用途で使うことができます。

  • Amazon S3互換のオブジェクトストレージ
  • ブロックデバイス
  • ファイルストレージ(Ceph FS)

Cephを構成するには、最低でも3台のノードが必要です。

お問合せ

DRBD-SDS 〜Software Defined Storageを実現〜

DRBD-SDSは、Linbitが開発しているSDS(Software Defined Storage)のオープンソースソフトウェアです。LinSTORという管理ソフトウェアで、ストレージを定義することができます。複数のストレージを一括して管理し、冗長性と性能を担保しながら、ストレージ領域を切り出して利用することができます。切り出したストレージは、ブロックデバイスとして利用することができます。また、LVMなどのLinuxの標準的なストレージ機能と統合することで、ストレージサイズの動的変更などにも対応することができます。ブロックデバイスとして使う場合には、Cephよりも高速に動作します。また、2台からシステムを構成することができます。

LinstorによるDRBD_SDS構築について無料資料 お問合せ

OpenSearch〜高速な全文検索エンジン〜

OpenSearchとは、高速検索が可能な全文検索・分析エンジンのオープンソースソフトウェアです。同じく全文検索エンジンのElasticsearchが、ライセンス変更によってオープンソースソフトウェアでなくなったことを受け、そのElasticsearchをベースにして開発されました。OpenSearchは、検索速度や分析柔軟性に優れており、わかりやすく検索機能を利用できます。またデータ蓄積や分析環境を簡単に構築することができます。そのため、ビックデータを利用する場合等の大規模なシステムに向いています。

OpenSearch詳細情報 お問合せ

Graylog 〜高速にデータを取り込み、データ解析、可視化までサポート〜

Graylogは、GUIからログサーバの管理やログの参照、検査、可視化などを行うことができる統合ログ管理のオープンソースソフトウェアです。IoTデバイスから収集されたテキスト型のデータを構造化してOpenSearchに保管してくれます。全体として非常に高パフォーマンスで、秒数万のデータでも保管することができます。

Graylogでは、収集したデータを元に、閾値監視をすることができます。そのため、IoTデバイスの監視の用途でも利用することができます。また、データをグラフや表などに可視化して表示することができます。つまり、データ解析プラットフォームとしても利用することができます。

Graylog詳細情報 不正調査から障害調査まで無料資料 お問合せ

MongoDB 〜NoSQLデータベースのスタンダード〜

MongoDBは、いわゆるNoSQL型データベースのオープンソースソフトウェアです。高速にデータを管理することができます。NoSQL型ではありますが、ドキュメントと呼ばれる構造型のデータを使って、データを管理することができます。データの追加、更新、削除、クエリの機能を備えているため、SQLに近い感覚で利用することができます。データの複製(レプリケーション)や水平スケーリング(シャーディング)に対応しているため、データの冗長性を保ちながら、スケーラブルにシステムを拡張していくことができます。

非常に高い性能が要求される場合には、MongoDBはオンメモリデータベースとして利用することができます。ただし、これは商用版の機能となっています。

MongoDB詳細情報 お問合せ

GridDB 〜IoT向けNoSQLデータベース〜

GridDBも、いわゆるNoSQL型のデータベースです。MongoDBと同様に、データの冗長性を保ちながら、スケーラブルにシステムを拡張していくことができます。電力などのインフラ系のIoT環境で発達してきたソフトウェアです。

GridDBもMongoDBと同様に、商用版とコミュニティ版がありますが、まったく逆の戦略を取っています。オープンソースソフトウェアとして公開されているコミュニティ版は、オンメモリデータベースとして利用できます。ただし、キーバリューストアとしての動作だけをサポートします。一方で、商用版ではSQLに対応しています。

GridDB詳細情報 GridDB無料資料 GridDB構築事例 お問合せ

IoTプラットフォームで使われるOSS

IoTインフラ
ここでは、FreeRADIUSOpenXPKIについて紹介します。
IoTネットワークインフラ
ここでは、NginxHAProxySquidOpenLDAP389 Directory Serverについて紹介します。
IoTデータ収集プラットフォーム
ここでは、CephDRBD-SDSOpenSearchGraylogMongoDBGridDBについて紹介します。
IoTデータ解析プラットフォーム
ここでは、OpenStackHadoopApache Sparkについて紹介します。
IoT機械学習プラットフォーム
ここでは、DockerKubernetesPortainerGitLabについて紹介します。
IoTデータの可視化
ここでは、GrafanaOpenSearch DashboardsKibanaについて紹介します。

IoTプラットフォームで使われるOSS「IoTデータ収集プラットフォーム」の先頭へ