分・秒単位、あるいはそれ以下の時間単位で変化するセンサーデータは、これまで現場の機械やプロセスのリアルタイム制御に用いられたあと、そのほとんどは蓄積されることがありませんでした。しかしIoT*時代を迎えて、より高度な制御や問題発生の検証・予測などを行うためには、それらのデータを蓄積する必要があります。現場の機械やプロセスをデジタル世界に写し出すデジタルツインに収集したセンサーデータを与えることで、正確なシミュレーションが可能になります。そのためには膨大な時系列データを効率よく蓄積し、高い性能をスケーラブルに発揮できるデータベースが必要です。ここでは、東芝IoTアーキテクチャー「SPINEX」のオープンな設計思想に基づいた東芝発のデータ蓄積基盤「GridDB」をご紹介します。産業や社会を支える多種多様なシステムを構築・運用し、IoT時代が到来するより早くから、大量な時系列データを扱い続けてきた東芝。そんな私たちだからこそ実現することができた、数々のテクノロジーと知恵が、そこには凝縮されています。
* IoT:Internet of Things (モノのインターネット)
時系列データを扱う
データベースの課題
時系列に集まるセンサーデータを「収集」「蓄積」し、可視化や制御のための「分析」を行うIoTシステム。その基盤として大きな役割を果たすのがデータベースです。しかし、将来的なデータの増加量が予測できない上、分析結果を元にしたより速いレスポンスが求められるIoTシステムの世界では、データベースに必要とされる要件が高度化し、従来のテクノロジーは多くの課題に直面しています。
まず「収集」面の課題としては、ミリ秒単位で定期的に発生するデータへの対応が挙げられます。IoTでは、温度や照度、電圧、イメージなど、さまざまな情報を取得するために設置された多数のセンサーから、分・秒単位、あるいはそれ以下のミリ秒単位などの周期でデータが送られてきます。しかも、このような高い頻度で24時間365日、設置されたセンサーの数の分だけデータが発生するため、データベースには大量の書き込みを高速に行える処理性能と、絶え間なく流れ込むデータをノンストップで記録し続ける信頼性が必須となります。
「蓄積」の面においては、時間の経過とともに増加する大量なデータへの対応が大きな課題です。そのため、データベースにはデータの膨大化に柔軟に対応できる優れた拡張性が必要です。また、ミリ秒単位のものから月単位、年単位のものまで、蓄積されるデータの種類や構造は幅広く、実に複雑です。データベースを構築する際には、多種多様なデータを蓄積しながら欠損や矛盾が発生しないよう、データの一貫性が確実に担保されることが非常に重要となります。
「分析」の面に目を向けると、データベースにはデータが書き込まれた直後からリアルタイムに検索できるハイパフォーマンスが欠かせません。時系列に蓄積したデータに対して即時に分析をかけ、早期の異常検出や予兆保全につなげるといったIoTシステムは、十分な性能を持ったデータベースが基盤となることで、初めて実現できるのです。
従来のデータベースの限界を乗り越える
東芝発の「GridDB」
このようにデータベースの選択は、IoTシステムの実現に向けて非常に重要なカギとなります。これまで一般的な企業システムでは、リレーショナルデータベース(RDB)が基盤として活用されています。しかし、データを2次元の表形式(テーブル)で格納し、複数の表を結合して活用するRDBは、データの一貫性を担保する性能には長けているものの、大量かつ高頻度なデータを処理する性能が不十分であるという難点があります。これに対してIoTシステムでは、時系列データの扱いに適した高速な書き込みと呼び出しを特長とするNoSQLデータベースを採用するという選択肢もありますが、商用のRDBと比較すると信頼性に劣り、こちらもまだ難点があるといわれているのが現状です。
東芝が提供するデータ蓄積基盤「GridDB」は、こうした従来のデータベースの限界を乗り越え、IoTシステムが必須とする要件のすべてを満たした高性能かつ拡張性の高いデータベースです。これから爆発的な増加が見込まれるデータの処理や管理に適したデータベースがない、という強い問題意識から、工場の製造ラインにおける生産性向上や、フィールドにおける産業用機器の監視と見える化、さらには電力や交通・物流、社会インフラなどの領域でシステムの安定稼働を支え続けてきた経験と技術を結集。RDBの利点を併せ持つ、まったく新しいタイプのNoSQLデータベースとして、2013年に提供を開始しました。以来、産業や社会の幅広いシーンで導入され、社会インフラなどのクリティカルなシステムにおける時系列データ処理において、十分な実績を上げてきました。
東芝IoTアーキテクチャー「SPINEX」の特長のひとつである「デジタルツイン」による正確なシミュレーションと迅速なコントロールを強力に支えるGridDBが持つ4つの特長「IoT指向のデータモデル」「高い性能」「高い拡張性」「高い信頼性と可用性」をご紹介します(図1)。
- 1. IoT 指向のデータモデル
- 時系列データの特性を捉えたGridDBの代表的な特長が、「キーコンテナ型」というIoT指向のユニークなデータモデルです。多数のセンサーから刻々と集まるデータを、「キー」となる機器ごとに格納。タイムスタンプと、それに関連する対象機器に取り付けられた各センサーからの値を「コンテナ」と呼ばれる集合体で管理し、コンテナ単位でデータベースの一貫性を保持します。またメモリの使用量を大幅に抑えるデータ圧縮機能や、保持期限を指定することで不要なデータを自動的に削除する期限解放機能など、時系列データを効果的に扱うための多彩な機能を搭載しています。
- 2. 高い性能
- I/Oがボトルネックとなり、CPUの性能を十分に発揮できない場合があった従来のデータベースの課題を、必要なデータはストレージではなくメモリに配置するというインメモリ処理方式で解決しました。メモリやディスクの排他処理や同期待ちによるオーバーヘッドを極力排除。ハードウェアのパフォーマンスを最大限に引き出しながら、ペタバイト級のビッグデータにも対応する、高速データ処理を実現しています。
- 3. 高い拡張性、4. 高い信頼性と可用性
- データベースの処理性能を向上させる場合、サーバー単体の性能を高めるスケールアップと、サーバーの数を増やすことで性能を上げるスケールアウトという手法があります。前者は、システムを一定時間停止させる必要がある上、高コスト。後者は、サーバー間のやり取りが頻繁に発生するため、新たに性能の面で課題が生まれます。GridDBでは、スケールアウトを採用。キーコンテナ型によりサーバー間の通信を少なくし、データベースの処理性能を劣化させることなく、優れたスケーラビリティーを発揮します。またサーバー間で自動的にデータを複製するため、万が一、サーバーに障害が発生しても、システムを止めることなく運用を継続できる信頼性と可用性も備えています。
ベンチマークテスト、
電力インフラで実証された高性能
GridDBの性能と拡張性の高さを証明する興味深いデータがあります。
データベースの性能検証ツール「YCSB」を利用し、高性能で名高いNoSQLデータベース「Cassandra」との性能を比較しました(図2)。
左のグラフは、縦軸がスループット、横軸がサーバー数を示しています。GridDBは、サーバー数に比例してほぼリニアに向上。サーバーを増やした直後から両者の性能に差が生まれ、サーバー数が32台のときにはGridDBはCassandraの約8倍の性能を記録しました。
また右のグラフは、データベース処理を24時間実行した際の性能を比較したものです。Cassandraの最終的なスループットは最初の1時間目の50%だったのに対し、性能の劣化がほぼないGridDBの安定性は際立っています。
この圧倒的なパフォーマンスが高く評価され、GridDBは電力会社の託送システム*など、高い性能と品質が求められるシステムにも採用されています。電力小売自由化を契機に、数百万台規模のスマートメーターから30分単位で送られてくる大量なデータを、RDBを使った従来のシステムの1/35以下という短時間で処理。託送料金の計算を行うことからもデータの歯抜けやロストが一切許されないというこのクリティカルなシステムを安定して支え続けています。
* 託送システム:電力小売事業者が電力を販売するために利用する送配電網の利用状況と利用料金を、電力メーターから得られた情報を元に計算し提供するシステム。一般的な時系列データではなく、穴埋めや訂正が後から入る時系列データが用いられています。
※電力会社での事例は、#04で紹介しています。
2016年、GridDBをオープンソース化。コミュニティーを通じて技術の向上を目指すとともに、Apache Hadoopなどのオープンソースソフトウェアと相互に連携させることで、新たな価値を創造していく活動を積極的に推進しています。(オープンソースの専用コミュニティーはこちら )
東芝の経験やノウハウを凝縮することで生まれ、爆発的に増加する時系列データを受け止めるべくその性能を磨き上げ、さらなる進化を続けるGridDB。 IoTによるデジタルトランスフォーメーションの本格的な広がりは、ここから加速することを確信しています。
※GridDBを使ったアプリケーションやサービスを開発する方々のための技術情報サイト「GridDBデベロッパーズ 」も、ぜひご覧ください。
※この記事に掲載の、社名、部署名、役職名などは、2017年8月現在のものです。