Oracle Big Data ApplianceのオプションソフトウエアであるOracle Big Data SQLも、Hadoop活用のハードルを大きく下げる、オラクルのビッグデータソリューションを強く特色付けるテクノロジーである。
Oracle Big Data SQLは、Hadoop上の非構造化データに対するOracle ExadataからのSQLクエリ操作を可能にするテクノロジーだ。これは、Hadoopからメタデータを取り出して外部表を生成し、その表に対してSQL(Oracle SQL)でアクセスすると、外部表の背後にあるHadoopノード上の実データを取り出せるという仕組みによって実現されている。
SQLによるHadoopへのアクセスを可能にするテクノロジーは、他にも「Cloudera Impala」などが存在する。それらのテクノロジーとOracle Big Data SQLの大きな違いの一つは、Oracle Big Data SQLではOracle SQLの構文をそのまま使えるということだ。そのため、Oracle Databaseを利用する既存のアプリケーションに手を加えることなく、HadoopへのSQLアクセスが行える。Oracle SQLを使うエンジニアは、これまでと同じスキルでHadoop上のデータも扱えるようになるのだ。
Oracle SQLが使えることの利点を生かし、分析処理の開発を大幅に効率化していることもOracle Big Data SQLの特徴である。Oracle SQLには利便性の高い数百個の分析関数が用意されており、それらを駆使することで分析プログラムのコーディング量を最大20分の1程度にまで削減できるという。
なお、これらの分析関数の中には、これまで“SQLの弱点”とされてきた「データの時系列分析」を行うためのものも含まれる。その一つであるパターンマッチング関数を使えば、各種デバイスが出力する稼働ログから特定の波形パターンを検出し、機器故障の早期検知が行える。
また、Oracle Big Data SQLでは、Oracle Database側からSQL処理の並列度を指定できる他、SQLの実行結果に関する統計情報に基づき、オプティマイザーがSQL文の自動最適化を行う機能も備えている。
扱いやすいだけでなく、高速なデータ検索が行えることもOracle Big Data SQLの強みの一つである。
Oracle Big Data SQLでは、Oracle Exadataユーザーから高い支持を集める高速データ検索機構「SmartScan」(ストレージノード側でデータ処理の一部を担う機能)がHadoop上で動作する。そのため、SQL処理の一部をOracle Big Data Appliance側(Hadoopノード側)で直接実行し、検索結果の行/列だけを絞り込んでOracle Exadata(Oracle Database)側に返すことができる。検索対象のデータを全てOracle Exadata側に転送する必要がないため、データ転送の大幅な効率化と検索性能の向上が実現されるわけだ。
この仕組みは、JOIN(表結合)処理の高速化にも有効である。SQLでマスターデータのJOINを行う際、対象外のデータを効率的に排除する仕組みとして一般にBloom Filterが使われている。Oracle Big Data SQLでは、Hadoop上のデータに対しても、これと同様の絞り込みが行えるのだ。日本オラクルで立山氏とともにビッグデータソリューションのコンサルティングに従事する能仁信亮氏(データベース事業統括 製品戦略統括本部 プリンシパル・セールスコンサルタント)は次のように説明する。
「こうした絞り込み機能をHadoopにも適用できる理由は、Oracle Big Data SQLによってHadoopとOracle Databaseの密接な連携が図られているからです。Oracle Big Data SQLを使えば、HadoopとOracle Databaseの利点を生かした仕組みを簡単に実現できるのです」
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年8月7日
驚異的なパフォーマンス、優れた運用効率、最高の可用性とセキュリティ、クラウド対応を実現するOracle Exadataとの統合、クラウド、可用性や運用管理など、次世代データベース基盤構築のために参考になる必見資料をまとめてご紹介いたします。