12月8日、東京都新宿区にて開催された「マイナビニュースフォーラム2017 Winter for データ活用 ~企業間競争に勝ち残るビッグデータ活用術~」。その製造業セッションのひとつに、次世代型データベース「Vertica」を提供するマイクロフォーカスエンタープライズと、パッケージ・インテグレーターのアシストが登壇した。本稿では両者の講演内容をもとに、Verticaの特徴や具体的な活用方法などについてお伝えする。
DWH/ビッグデータ活用に特化した次世代型データベース「Vertica」
「機械学習で実現する最先端IoTプラットフォームと事例」と題し、セッションの前半に登壇したのは、マイクロフォーカスエンタープライズ Vertica事業部の外岡海人氏だ。Hewlett Packard Enterpriseから分離したソフトウェア事業部門とMicro Focusの合併により、2017年9月1日に誕生したマイクロフォーカスエンタープライズは、専業ソフトウェアベンダーとして、時価総額ベースで世界7位の規模を誇っている。
そんな同社が提供しているのが、高い検索パフォーマンスを実現するDWH/ビッグデータ活用に特化した次世代型データベース「Vertica」だ。インデータベースの機械学習をはじめとする高度な分析を、あらゆるインフラストラクチャ上で実行することができる。
「Verticaは、ビッグデータ分析に関する課題を解消するために開発された次世代型データベースです。その最大の特徴は、ネイティブな列指向の処理方法を採用している点にあります。これにより、参照頻度の高い大容量データを、多くの利用者が同時かつ多重に分析できます」(外岡氏)
また、柔軟なライセンス提供モデルもポイントのひとつで、クラウド/オンプレミス/Hadoopといった柔軟なハイブリッドクラウド運用が可能。当初はオープンソースで開発がスタートしたことから、オープンソースとの相性も優れている。こうした特徴から、Verticaは数多くの大手企業を含む全世界で3,500社以上の顧客が利用。業界も幅広く、ビジネスの根幹となる部分に活用されていることからも、その実力の高さが伺える。
列指向を中心としたVerticaの優位性
Verticaのコア技術に関し外岡氏は、「まず列指向ストレージについては、従来の行指向では、検索に不要な列もすべて読み込む必要があります。一方で、列指向の場合は列ごとにデータを保持して取り扱うため、必要な列のみを読み込めば良いのです。これにより、ディスクI/Oとメモリ量の劇的な削減が可能となります」と語る。
また、従来と同じRDBMSの知識でテーブルやSQLの作成を行うと、列の並び替えやソート・圧縮など最高のパフォーマンスが出せるデータ配置に自動チューニングしてくれる「プロジェクション」も重要な役割を担っている。このプロジェクションは物理スキーマとして定義されており、クエリーごとに最適化を事前実行することも可能だ。
「利用ユーザーの増加に伴い、将来的に分析要件も多様化することが予想されます。その際、データの種類や分析クエリーなどに応じてその都度アプリの設計・改修およびデータベースの再チューニングを行うのは現実的とはいえません。こうした点において、Verticaは『Database Designer』による自動チューニングで、DB管理者がチューニングを意識して設計する必要がないため、変わりゆくさまざまな案件に柔軟に対応できます。また、重要度の高いユーザーのヘビークエリーに対しては、クエリー単位で特別にカスタムチューニングを行うことも可能です」(外岡氏)
データ圧縮に関しても、データの属性に応じた最適な圧縮アルゴリズムによって、大幅なデータ圧縮を実現。データ検索時のI/O量が減り、より高速な処理および物理ストレージの容量削減を可能としている。
さらに、データ容量や利用ユーザー数増加への対応として、無限にスケールアウトができるのも大きな特徴だ。Verticaでは、特定のマスターノードを持たないMPP(Massively Parallel Processing:超並列)アーキテクチャを採用。これにより、特定ノードがボトルネックにならずデータおよび処理の分散が行えるため、リニアな拡張性と高い多重実行能力を実現している。
こうした特徴から、Verticaは機械学習においてもアドバンテージを有している。ダウンサンプリングなしで高速に機械学習処理が行えるだけでなく、外部へエクスポートせずに大容量データをその場で分析できる点や、データ準備/モデル化/評価/実装という一連のプロセスをSQLで実行できる点だ。他にも、必要な機能を標準装備しておりオールインワンで利用できる点や、RやPythonで作成済みのロジックも再利用できる、といった点は大きな魅力だ。
続いて外岡氏は、Verticaを用いたIoTアーキテクチャについて解説し、スキーマレスのフレックステーブルがIoTに最適であることをアピール。モバイル配車サービスを提供するUberやグローバルで監視サービスを展開しているNimble Storageの事例を紹介した。
IoT×Verticaの機械学習でリアルタイム予測を実現
セッションの後半では、アシスト データベース技術本部の佐伯竜輔氏が登壇。「IoT×機械学習でリアルタイム予測 ~データベースでここまでできる~」と題した講演を行った。佐伯氏は、Verticaを使ったIoT活用の仮想事例として、製造業で機械が故障する前に前兆を予知するという予知保全のデモシナリオを作成。Verticaの機械学習機能を利用し、センサーデータからリアルタイムな異常予測を行うというものだ。
今回は、この仕組みを模式的に示すべく、工場の機械をモーター駆動の簡易的な模型で代用。模型の先端に振動検知用のセンサーを取り付け、X/Y/Z 3方向の振動をノートPC経由でVerticaに送信している。
デモシナリオの流れは、まず機械を稼働させて通常状態のセンサーログをVerticaに送信。次に、電圧変更によって機械に意図的な異常状態を作り出し、通常とは異なる傾向のセンサーログを送信する。このセンサーログをVerticaが異常と理解し、異常予測を行うのである。なお、センサーデータはJSONファイルフォーマットで生成され、ビジュアライズにはアシストのBIプラットフォーム「WebFOCUS」が用いられている。
佐伯氏は「Verticaならではのポイントは、IoTデータを加工せず、ダイレクトにロードできる点にあります。データ加工が不要なので、リアルタイム性が求められる処理との相性も抜群です。また、過去データの傾向を読み取り、Vertica自身で機械学習を使った予測が行えることも重要といえます」と語る。
機械学習での予測に必要な4つのステップ
模型を使った実際のデモンストレーションでは、通常状態のセンサーログを送信した後、電圧を変えて異常状態のセンサーログを送ったところ、Verticaから異常予測を示すアラートが表示された。
予測モデル実装までの流れについて佐伯氏は、次の4つのステップが重要と語る。
「Verticaに限らず、機械学習で予測を行うには、機械学習で利用しやすい学習データをそろえる『データ準備』、準備した過去データから学習して予測モデルを作る『モデル作成』、作成した予測モデルの精度を評価する『評価』、予測モデルを実際の業務で利用するためにアプリケーションと連携させる『実装』という、4つのステップを事前に実施しておく必要があります。Verticaの場合、新たに機械学習のための環境を準備することなく、これらをすべてVertica内で実施することが可能です」
さらに、データ準備やモデル作成処理等をマルチスレッドで高速実行できる点や、精度低下の原因となるダウンサンプリングが不要で予測精度の高いモデルができる点、作成したモデルをSQLで呼び出せるためアプリケーションへの実装が容易、といったポイントも挙げ、「Verticaは複雑なチューニングをせずとも高速な検索/分析ができるDWHの要素だけでなく、IoTデータの取り込みや機械学習といったビッグデータ分析基盤としての機能も兼ね備えた次世代型データベースです」と講演を締めくくった。
なお本稿では、マーケティングプラットフォーム「アドエビス」を提供するロックオン社がMicro Focus Vertica Analytics Platformを採用し、100億件の計測データのリアルタイム分析を実現した導入事例と、次世代ビッグデータ解析プラットフォーム「Vertica Advanced Analytics Platform」の詳細を解説したデータシートをPDFで提供している。興味を持った方は、ぜひこちらからダウンロードして、その内容を確認していただきたい。
※ダウンロードにはITSearch+への会員登録またはログインが必要となります
[PR]提供:マイクロフォーカスエンタープライズ