エキスパートが教える、HadoopとRDBMSを組み併せたハイブリッドなデータ処理の勘所──「Oracle Big Data Forum」レポート

近年、大量のデータの分散処理基盤として「Hadoop」への注目が高まっている。うまく活用すれば低いコストで大規模かつ高速なデータ処理が行えることから、これをRDBMSと組み合わせてビッグデータの処理基盤に使おうという企業も多いようだ。それでは、HadoopとRDBMSの長所を最大限に生かすうえで留意すべきことは何か?これに関して、先ごろNTTデータと日本オラクルによる検証が行われた。2013年3月14日に日本オラクルが開催した「Oracle Big Data Forum」におけるNTTデータの近藤賢司氏による講演から、両社による検証の結果や、HadoopとRDBMSを組み合わせて使う際のポイントを紹介する。(編集部)

ビッグデータへの取り組みで重要なのは「活用ループ」の形成

 Oracle Big Data Forumでは、ビッグデータ活用に取り組む国内外企業のさまざまな事例が紹介されるとともに、その導入や運用をいかに行うべきかについて、技術的な側面から解説するセッションも実施された。その1つ、「先駆者が語る! Hadoop活用とデータベース連携の勘所」には、NTTデータ 基盤システム事業本部OSSプロフェッショナルサービスの近藤氏が登壇。オープンソース・プロダクトの活用に精力的な同社が、その登場初期より取り組んできたHadoopについて、利用時に留意すべき点や、日本オラクルと共同で実施した検証の結果を紹介した。

NTTデータ 基盤システム事業本部OSSプロフェッショナルサービスの近藤氏
 近藤氏はセッションの冒頭、企業がビッグデータを活用するにあたっては、当初より「データ収集」、「分析」、「サービス/製品化」という3つのフェーズから成る「活用のループ」を形成することが重要だと指摘した。NTTデータでは、このループを回すためのIT基盤としてHadoopに注目し、これを活用してビッグデータ活用のためのシステム開発を行ってきたという。

  ご存じのとおり、Hadoopはオープンソースとして開発が進められている大規模データ向けの分散処理フレームワークである。もともとグーグルが開発した分散処理基盤のオープンソース版クローンであり、従来のITアーキテクチャでは技術的/コスト的に難しかった大量のデータ処理や高速なデータ処理を可能にするテクノロジーとして注目を集めた。NTTデータは7年前から、Hadoopに関する技術開発、実証事業、ソリューション提供に携わっている。

 近藤氏によれば、さまざまなデータ処理形態の中でも、データのレイテンシーが数時間から数日単位となる「バッチ処理」の分野が、Hadoopの適用に最もふさわしい領域となる。一方、データ・サイズに関しては、ギガバイト級からペタバイト級まで幅広く対応できる点がHadoopのメリットだ。逆に、リアルタイムに近い処理性能を要求されるようなケースにはRDBMSのほうが適しているという。

 「サーバの規模が10~20台程度の場合でも、既存の処理を大幅に高速化したいケースや、数百から数千台規模のサーバを運用しており、これまではやむなく捨てていた大量のデータの活用を目指すケースなど、Hadoopが使えるシーンは幅広い」(近藤氏)

HadoopとRDBMSを組み合わせた“ハイブリッド”が主流に

 NTTデータがこれまでに手掛けたHadoop適用事例の1つに、「データ量が増加し、既存のRDBMSの性能が限界に近づいているため、Hadoopにリプレースしたい」というものがある。

 この場合の導入方法としては、すべてのデータをHadoop上に載せ替える「フルリプレース方式」と、処理特性に応じてRDBMSとHadoopを併用する「ハイブリッド方式」が考えられる。

 これら2つの方式には、それぞれに利点と欠点がある。

 まず、RDBMSからHadoopに完全移行するフルリプレース方式の場合、構成がシンプルになる反面、アプリケーションの修正/再開発が必要になったり、ミドルウェア連携が困難になったりといったデメリットがある。

 一方、ハイブリッド方式には、「RDBMSとHadoopを、それぞれが得意な処理で使い分けられるといったメリットがある反面、RDBMSとHadoopとの間で必要に応じてデータ転送を行う必要があり、その転送時間が全体のスピードアップを図るうえでネックになる」(近藤氏)という。

 近藤氏は、アプリケーションの修正/再開発にかかるコストや、オンライン処理に不向きというHadoopの特性を考慮すると、フルリプレース方式よりもハイブリッド方式のほうが多くのケースに適用できるとしたうえで、その際に課題となる「データ転送時間をいかに短縮するか」が、Hadoopの導入による効果を最大化するうえでの鍵だと指摘した。

Hadoop/RDBMS間のデータ転送を高速化する「Oracle Big Data Connectors」

 Hadoop/RDBMS間におけるデータ転送では、Hadoopが持つ独自のインターフェースに対応したコネクタが必要となる。近藤氏のセッションでは、Hadoopの高速な実行基盤としてオラクルが開発した「Oracle Big Data Appliance」のために用意されたHadoop/RDBMSコネクタ製品「Oracle Big Data Connectors」の各モジュール(Oracle SQL Connector For HDFS、Oracle Loader for Hadoop)を使うことで、RDBMS(IAサーバ上のOracle Database)とHadoopとの間のデータ転送がどれだけ高速化できるのかを検証した結果も紹介された。

 それによれば、Hadoopのデータ転送によく用いられる「Apache Sqoop」との比較では、Oracle Big Data Connectorsは約3.4倍高速だったという。この結果については、「Oracle Big Data Connectors の処理方式であるDirect Path Load/INSERTの効果が、ロード時間の短縮に与える影響が大きい」と近藤氏は説明する。

 さらに近藤氏は、Oracle Big Data Connectorsに備わる、各タスクの処理量の偏りを自動的に平準化する「サンプリング機能」により、MapReduce処理の性能が大幅に改善されることに触れ、「HadoopとRDBMSとのデータ連携に関して、Oracle Big Data Connectorsは非常に高速な環境を提供する」と評した。

ビッグデータ活用を低コストで実現する「Oracle Big Data Appliance」

 近藤氏に続いては、日本オラクル 製品事業統括テクノロジー製品事業統括本部の能仁信亮氏が登壇。オラクルのHadoop実行環境であるOracle Big Data ApplianceとOracle Databaseを組み合わせた活用法をいくつか紹介した。

 1つ目は、数百テラバイトから数ペタバイトにおよぶ大規模なデータを、比較的安価に保持/加工するためのセントラル・データ・ウェアハウス(DWH)としてHadoopを利用するケースだ。

 この規模のデータ処理をOracle Exadata上のOracle Databaseで行う場合、もちろん技術的には可能であっても、かかるコストが膨大になる。そこで、コストを抑えたいというニーズがあるケースでは、Hadoopを搭載したOracle Big Data Applianceの活用を提案しているという。

 この場合、例えば複数の事業部に存在するデータや、センサー・デバイス類から収集した大量のデータを、低コストで保持/加工することのできるHadoop上にいったん集約し、そこからRDBMSによるデータマートへと、アプリケーションが利用しやすい形式でデータを提供する。エンドユーザーは、このデータマートに対してBI(Business Intelligence)ツールなどを用いた分析をセキュアな環境で行える。データの正規化や加工、集計などの処理をRDBMSからHadoop側にオフロードすることで、システム全体での負荷や処理時間を削減できるのである。

日本オラクル 製品事業統括テクノロジー製品事業統括本部の能仁信亮氏
 「例えば、ECサイトなどでは、今後の売上向上策を考えるために、『購入直前まで進んだ顧客行動のデータ』を保持し、分析したいといったニーズがある。従来の仕組みでそれをやろうとすると、データの保持に莫大なコストがかかったり、処理に時間がかかりすぎたりといった問題に突き当たる。

 
 HadoopとRDBMSの組み合わせならば、こうした『これまでは見えていなかった情報を、データを分析することによって可視化する』という取り組みを現実のものにできる」(能仁氏)

 能仁氏は、近藤氏と同様、実装上の課題として「HadoopとRDBMSという異なる技術要素の連携」について触れ、その連携で最高の性能が得られるようハードウェアとソフトウェアの両面で綿密な設計がなされたOracle Big Data Applianceと、Hadoop/RDBMS間のデータ転送を高速化するOracle Big Data Connectorsの組み合わせが最有力のソリューションであることを改めて強調した。

アプリケーション内にデータマイニングを組み込んで活用する

 能仁氏が紹介した2つ目の活用法は、データマイニングの分野だ。

 データマイニングは、大量のデータの中から、隠れた規則性や価値ある洞察を得るための取り組みの総称だが、能仁氏は、「ビッグデータをビジネスで効果的に活用したい場合には、人手による分析だけでなく、アルゴリズムから自動的に知見の抽出や将来予測を行い、提示できる仕組み、つまりデータマイニングが重要だ」と説く。

 オラクルでは、Oracle Big Data Appliance、Oracle Exadata、Oracle ExalyticsなどのEngineered Systemsを組み合わせて、Hadoop上、RDBMS(Oracle Database)上でそれぞれにデータマイニングを行い、得られた情報を活用するという、一貫したソリューションを提供している。

 「従来の統計ツールやデータマイニング・ツールは独自にデータ・ストアを持っているケースが多く、そのためDWHからのデータの移動に時間と手間がかかっていた。オラクルのソリューションなら、その手間を省いて、データが存在するところで処理を行うことができる。また今日、多くのアプリケーションがOracle Databaseを利用しているので、マイニングの結果をアプリケーション上で活用することも容易になる」(能仁氏)

 アプリケーション上でのデータマイニングの活用例として紹介されたのは、オラクルが提供するCRMアプリケーション「Oracle CRM Sales Prospector」でのデータマイニングの利用方法だ。Oracle CRM Sales Prospectorでは、データマイニングの結果を基にしてCRMアプリケーション上にさまざまな将来予測データや効果的なリコメンドの提示などを行っている。

 こうした活用に加えて、アクセス・ログなど通常はRDBMS上に格納しないデータについては、Hadoop上でモデル作成などの処理を行うといったかたちで処理特性に応じた使い分けをすることが可能だという。

 最後に能仁氏は、改めて「Hadoopの活用にあたっては、RDBMSとの連携による、それぞれの利点を生かした環境を準備することが肝要」と強調したうえで、「オラクルは、すでにHadoopを含む統合的なデータ活用基盤を提供している。また、アプリケーションと組み合わせたデータマイニングの活用といったニーズに対しても、活用法に応じてさまざまなソリューションを提供できる」と述べて講演を締めくくった。

Comments:

Post a Comment:
Comments are closed for this entry.
About

Twitter
Facebook

Search

Recent Posts
Archives
« 7月 2014
  
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today