オープンソース

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

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

IoTプラットフォーム

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

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構築について無料資料

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

Elasticsearchとは、大容量データを扱うことを想定した全文エンジンのオープンソースソフトウェアです。Elasticsearchでは、データを高速に取り込み、インデックス化します。そのため、大容量のデータから必要なデータを素早くに取り出すことができます。また、複数のノードに分散してデータを配置し、冗長性なども担保することができます。ノードを増やすことで非常に負荷が高いシステムでも利用することができます。

Elasticsearch詳細情報

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

Graylogは、Elasticsarchのフロントエンドとして働くオープンソースソフトウェアです。IoTデバイスから収集されたテキスト型のデータを構造化してElasticsearchに保管してくれます。全体として非常に高パフォーマンスで、秒数万のデータでも保管することができます。

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

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

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

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

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

MongoDB詳細情報

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

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

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

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

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

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