スキーマ・オンザフライでログデータを取り込む
ビッグデータを活用したい。しかしリレーショナルデータベースでは、発生するすべてのデータを取り込むにはデータを構造化する手間もかかる。さらに、十分な容量を確保しそれを処理できるコンピュータリソースの準備にも相当なコストがかかる。そんなリレーショナルデータベースの弱点を克復するために、Hadoopやその他のNoSQLデータベースを活用する手もある。しかし、これらは特殊な技術スキルがないとなかなか使いこなせない。
リレーショナルデータベースやHadoopなどとはまったく異なるアプローチで、発生するすべてのデータを取り込んで活用する新しいソリューションがある。それがリアルタイムのオペレーショナルインテリジェンス・ソフトウェア・プラットフォームの「Splunk」だ。
Splunkは各種システムが吐き出すログを対象としたサーチエンジンとして登場した。莫大に生成されるシステムのログは、多くの場合は何らか問題が発生した際に始めてアーカイブを見に行き原因となる情報を探し出すことになる。1つのログで原因が掴めなければ、関連するさまざまなログをそれぞれ探索し、原因を予測することになる。
「たくさんあるログからサーチエンジンを使って一気にエラーを見つけ出す。そんなことができないかと考えて生まれたのがSplunkです」
Splunk Service Japan シニアセールス・エンジニアの日向寺 正之氏は、Splunkはビッグデータを格納するためのデータベースのようなものではなく、サーチエンジン技術を使ったソフトウェア・プラットフォームだと言う。Splunk社の創業メンバー3名は、もともとサーチエンジンの開発やビジネスに携わっていた人物だ。サーチエンジンはもっと活用できるという彼らの発想から生まれたのが、ログを対象にしたサーチエンジンのSplunkというわけだ。
2006年にダウンロードモデルでSplunkの提供は始まった。利用用途としてはマシンやシステムのログ解析が最初だった。そこから複数ログを付き合わせてより複雑な問題の原因究明といった使われ方をするようになる。とくに最近では、各種セキュリティに関連するログを用いインシデント分析を行う用途でSplunkを数多く使われている。その結果、ガートナー社の「2013年のセキュリティ情報およびイベント管理におけるマジック・クアドラント」でもSplunkは「リーダー」に選出されている。
Splunkはログというマシンデータを主な対象としてきたが、さらに発展しTwitterなどのつぶやきデータも最近では取り込むようになった。そんなところから、ビッグデータ活用という領域の新たなプレイヤーとして期待されている。そんなSplunkの特長は、前述のように発生するデータすべてをそのまま取り込めるところにある。
データベースにデータを取り込もうとすれば、何らかデータを加工する必要がある。リレーショナルであればスキーマを定義しそれに合わせた形に加工する。NoSQLであっても、何らか加工は必要だ。Splunkの場合は、データをそのまま取り込む。スキーマは必要ない。タイムスタンプやIDなど、一意に認識できるものを使い自動でインデックスを作って取り込むのだ。多くの場合はタイムスタンプをもとに時系列でデータを取り込む。
「時系列でインデックスすることで、複数のデータを照らし合わせることができるようになります」
Splunk Service Japanのカントリーマネージャー 中村賢生氏は、Splunkはスキーマ・オンザフライで、データを扱う際にスキーマ的なものを動的に設定すると説明する。これにより分析の際にもバックエンドにはリレーショナルデータベースが必要なく、データも削る必要はない。これにより、ログを取り込んで各種システムなどのオペレーション監視が可能となる。オペレーションの見える化ができ、さらにそこからBI的な使い方へと発展させることも可能だ。セキュリティの監視もそういった活用方法の1つだ。
セキュリティで数多く使われているが、Splunkがそれに特化しているわけではない。仕組み自体は極めて汎用的であり、さまざまな用途に使える。そんなところから「ニュージェネレーションのビッグデータ基盤」と表現されることもある。
「従来のログ管理の仕組みとSplunkは、競合するものではありません」と中村氏は言う。ログ管理ツールの多くは、結果を帳票的なもので提供する。ログに対しフォーマットが決まっており、それに基づいた表示をするのだ。並べ替えなどはできるが、基本的には決まったフォーマットで出力されることになる。対してSplunkは「マイニング的に利用できます」と日向寺氏。マイニング的と言っても統計解析に強いSASのようなものとも異なる。
「SASは高度な分析はできますが固定的です。Splunkはダイナミックで、何かおかしいポイントに気がついたときにその原因を追及するような使い方ができます。関連しそうな複数のログを一気に見るといったことが、簡単にできるのです」(日向寺氏)