IoTや機械学習が普及し、膨大な時系列データをビジネスに利用する企業が増えている。この取り組みに役立つのが時系列データベースだ。国内で商用サポートが始まり採用のハードルが下がりつつある今、CTCが代理店として提供する同製品のメリットを紹介する。
IoT やAI(人工知能)の普及に伴い、膨大なデータを効率良く分析してビジネスに活用する仕組みが求められている。
特に「時系列データ」は、機械学習を使った高度な分析に利用されることもあり、重要性が増している。広義の解釈では、時間経過とともに発生して順番に意味を持つデータは全て時系列データだと言えるが、本稿ではIoTや機械学習などの分野における、センサーや機器から一定間隔で取得した数値情報を一連のデータポイントで表したものを時系列データと定義する。
こうした時系列データの精度を高めるには、1時間や1分、1秒という単位ではなく1ミリ秒といったより細かい単位でのデータ収集が必要となることもあり、その分データ量は膨大になる。
従来、大規模な時系列データを扱うときには、「Python」のプログラムを使ってデータを加工したり、OSSの「Fluentd」といったログ収集ツールを利用したりして実装するケースが多かったが、ニーズの高まりを受けて時系列データの収集や蓄積、処理に特化した時系列データベースが登場している。
本稿は第三者機関に高く評価され、海外では製造業をはじめとするさまざまな業種の大手企業で採用が進む時系列データベースの詳細を、導入の先行例とともに見ていく。
これまで時系列データはリレーショナルデータベース(RDB)に格納して処理されるケースが多かったが、そこには課題があった。RDBは表形式で関連付けられたデータの扱いに優れておりトランザクション処理を得意とするが、データベースの一貫性や整合性を確保する必要があり、膨大な時系列データを扱うとオーバーヘッドが発生する可能性があった。
伊藤忠テクノソリューションズ(CTC)の前田正重氏(新事業創出・DX推進 DXビジネス推進事業部 AIビジネス推進部)は、「膨大な時系列データを扱う上で、RDBでは性能が足りない、あるいは性能を発揮するために大規模なリソースが必要となりコストが非常に大きくなってしまいます。全世界に設置した機器から詳細な稼働データを収集したり、生産ラインの詳細なログデータを集めてリアルタイムに処理したり、といった用途では性能が追い付かないケースもあります」と話す。
この課題を受け、製造業や金融業など膨大なデータを扱う業界で注目を集めるのが時系列データベースだ。時系列データベースはタイムスタンプをキーに、複数のデータソースからミリ秒といった細かい単位で時系列データを収集できる。
IoTセンサーから時系列データを収集するとき、ネットワーク遅延といった要因でデータが欠損することがある。RDBでは欠損データを補完する仕組みを別に用意して対処しなければならないのに対し、時系列データベースは平均値や中央値、移動平均などによって欠損を自動補完する機能が実装されていることが多い。その他、時系列に沿ったデータの可視化やしきい値を超えたらアラートを上げる仕組みなどが特徴として挙げられる。
CTCは2020年に米国のITベンダーInfluxDataと契約し、2021年からOSSベースの時系列データベース「InfluxDB」を基盤としたプラットフォームを提供している。InfluxDBにはOSS版、クラウド版、有償版(エンタープライズ版)があるが、CTCはエンタープライズ版と日本語での保守サービスの取り扱いを開始し、InfluxDBを含めたIoTやAIソリューションを提供する。
前田氏によれば、充実した機能に加えて全世界の45万台のサーバで運用される高い市場評価からInfluxDBを選択したという。
InfluxDBは膨大な時系列データを高速で読み書きし、圧縮機能でディスク容量を削減できる。OSS版はシングルノード構成で拡張できないが、エンタープライズ版はクラスタ化によって容易に拡張して可用性を確保できる。「業務で時系列データを扱うためには、エンタープライズ版とサポートが必要だと考えました」(前田氏)
時系列データベースは多様なIoTセンサーとの接続や時系列データの活用で手間が掛からないことなどが重要だ。InfluxDBはこれらで高いパフォーマンスを発揮する。
「Telegraf」機能を利用すれば、200種類以上のアプリケーション、IoTセンサーや機器などと容易に接続できる。InfluxDBは各種プログラム言語に対応したAPIも備える。時系列データの時間軸を合わせる機能や欠損データの自動補完機能なども標準サポートする。蓄積した時系列データは、OSSのダッシュボードツール「Grafana」と連携することでグラフやチャート、テーブルなど多彩な形式で可視化できる。
CTCの佐藤富一氏(エンタープライズ事業グループ 科学システム本部 DSビジネス推進部)は、InfluxDBのユースケースとしてIoTプラットフォームのデータ基盤を挙げる。
「InfluxDBはオンプレミスだけでなく、AWSといったパブリッククラウドにも対応します。InfluxDBをIoTセンサーがあるエッジとデータのハブとなるクラウドに導入し、リアルタイムで時系列データを収集、処理しつつ双方を連携させる構成が可能です」(佐藤氏)
InfluxDBはOSS版でも認証機能があり、暗号化された通信が可能なHTTPSにも対応している。エンタープライズ版はきめ細かなアクセス制御といったセキュリティ機能を備えており、パブリッククラウドで安心して利用できる。より高いセキュリティレベルを求めるのであれば、サードパーティーのセキュリティ機能と連携することも可能だ。
InfluxDBはこれらのパフォーマンスが評価され、独solid ITが運営するデータベースの人気ランキング「DB-Engines Ranking」の時系列データベース部門において、2016年から現在まで連続して首位を獲得している。
CTCはさまざまなデータベースを扱ってきたノウハウと実績を基に、データソースの数やデータ取得頻度、処理に求められる性能などを顧客にヒアリングし、適切なサイジングを導き出してInfluxDBの構成を提案する。
佐藤氏は「時系列データベースの処理性能が高いとはいえ、常に全データにクエリ処理をすれば負荷が掛かり、表示の遅延などの問題が発生します。そうならないために、顧客の要件から適切なデータベース設計を提案します」と話す。
InfluxDBにはタグ機能があり、タグ付けしたデータだけを抽出できる。どのようなデータにタグ付けするかは顧客の要件を踏まえて実装可能だ。同社にはITアーキテクチャやインフラ構築に特化したチームがあり、InfluxDBを生かしたトータルなサポートを提供できることも強みだ。さらに、データの量や頻度の増加に応じて、容易に同時処理するサーバ台数を増やし処理速度や信頼性を向上できるため、対象業務の拡大にも対応しやすい。
海外の導入事例としてはITの総合企業であるシスコは、全てのCiscoサービス更新をするeコマースアプリケーションを監視するために、InfluxDBをコアコンポーネントとするカスタムDevOpsモニタリングソリューションを作成した。SaaSソリューションを監視するアプリケーションを作成し、エンドユーザーにリアルタイムの監視とアラートを提供した。これにより、SaaSソリューションの稼働率や負荷、可用性についてユーザーに通知を可能とした。このソリューションは、「StatsD」、InfluxDB、Grafana で構成されるメトリックスタックで構成される。
InfluxDBは、国内では製造業だけでなく通信キャリアや金融業など、顧客接点から得られる時系列データの分析に関心を持つ企業からも注目されている。CTCによれば、時系列データの活用を考えている、または活用を始めているが、データベース性能に課題を抱えるユーザーが問い合わせてくるケースが多い。
CTCは今後、時系列データベースの価値を浸透させるためにInfluxDBの成功事例を積極的に発信する予定だ。
前田氏は、最後に「RDBを利用する中で、『時系列データをより細かい単位で取得し、品質の高い製品やサービスを生み出したい』『アプリケーションの利用状況を時系列データで取得し、DevOpsでのモニタリングに利用したい』といった要望があって苦労しているなら、InfluxDBを検討してほしい」と述べた。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:伊藤忠テクノソリューションズ株式会社
アイティメディア営業企画/制作:ITmedia エンタープライズ編集部/掲載内容有効期限:2021年8月10日