孔氏はイベントで、キーバリューストア(KVS)の「HBase」を使ったHadoopの仕組みを解説した。この場合、HBaseが分散データベース、「MapReduce」が分散処理の“アプリケーション”であり、データファイルを読み書きするのが分散ファイルシステムの「HDFS(HadoopDistributed File System)」になる。
こうした仕組みでHadoopは、非構造化データを分析できる形にする(Tmaxでは、ウェブのURLやXMLを“半定型”データ、テキストや画像などを“非定型”データと読んでいる)。孔氏はHadoopの複雑さをこう表現した。
「バッチ処理のミドルウェアとも言えるMapReduceは非定型データの変換や演算、ロードといった並列処理開発をサポートするが、中間結果のデータファイルを生成する。これが処理性能の低下を招く。また高度なプログラミング能力も必要になる。HBaseをはじめとするKVSは、半定型データの部分検索に有効であり、リアルタイムに読み書きできることから、RDBMSの一部機能をサポートしてくれる。だが、KVSはSQLに対して満足のいく性能を期待できない」
孔氏は、こうした状況から「Hadoopは技術者への依存度が高い」として、システムの品質を統制しにくくなると表現。Hadoopの技術的特性から「一回性の分析となり、OLAP(オンライン分析処理)ツールを活用した対話型分析に適していない」とその限界を指摘した。Hadoopの扱いづらさは、「ユーザーの範囲が限定的となる」とも説明した。
ZDNet Japanの取材に答える、TIBERO DBコンサルティング本部 本部長 孔相揮氏
こうした課題を解決するために、Tmaxが開発、提供するInfiniDataは、HadoopのデータをSQLで分析できるようにし、OLAPツールでの対話型分析が可能になることを狙ったソフトウェアと表現できる。加えて、InfiniDataは、拡張性と可用性の向上も狙った。IAサーバを追加することで処理性能をリニアに拡張させるスケールアウトの仕組みにして、ハードウェアに障害があってもシステム全体を稼働させる可用性を保つという。
前版のInfiniData 2.0は、Hadoopを“連携”させることを狙った。今回発表されたInfiniData 3.0について、孔氏はZDNet Japanの取材に対して「統合させることを考えた。単なる連携ではなく、HadoopのデータとAPIを呼び込めるようになった」と、前版との違いを説明した。
「半定型データだとRDBMSでも対応できるが、性能が落ちる。非定型データはHadoopを使わざるを得ない。Hadoopは決して簡単なものではない。ハードウェアやソフトウェア、OSなどに理解がある当社でHadoopを難しくないようにした。それに、InfiniData 2.0を使ったユーザー企業からのフィードバックを取り入れたのが、InfiniData 3.0。使わざるを得ないHadoopを最小限に組み込んだのがInfiniData 3.0になる」(孔氏)
Tmaxに限らず、ビッグデータ対応分析製品を提供するベンダーはHadoopを何らかの形で採用している。決してTmaxだけではない。だが、Hadoopをこうした形で分析基盤に組み込んだTmaxはユニークな存在と言えるかもしれない。
InfiniData 3.0のアーキテクチャ(提供:TmaxSoft)
ディスクとメモリを併用するTibero 6.0
イベントの基調講演で朴氏は、ビッグデータ対応での技術的課題として、先に(3)のデータ処理の速度や性能を挙げた。この解決策として開発されたのが、全てのデータを保存するための、RDBMSの新版となるTibero 6.0だ。新版では、ハードディスク(HDD)とフラッシュメモリ(SSD)、メモリを記録媒体としているが、アクセス頻度に応じてデータが自動的に配置されるという特徴がある。
この数年で、システムには大きなボトルネックが指摘されるようになっている。CPUの処理速度が大きく向上するのに対して、HDDの性能がついて行けないというボトルネックだ。ベンダー各社は、そうしたボトルネックをいかになくすかという技術を開発している。その一つとして、全てのデータをメモリに格納するインメモリDBがある。