いつものSQLでHadoop操作を。“フツーの会社”のためのビッグデータ活用基盤とは自前構築なしで自動最適化、自動パフォーマンスチューニング(2/4 ページ)

» 2015年07月08日 07時00分 公開
[PR/@IT]
PR

MapReduceの処理性能が15倍、データロード性能は80倍も高速に

 そんなOracle Big Data Applianceの特徴は、次の三つに大別できる。

  • ハイスピード(ビッグデータ処理の高速化)
  • 低コスト(TCO削減)
  • 高信頼性(企業利用への最適化)

 このうち、Oracle Big Data Applianceの「ハイスピード」を実現する鍵となるのが、次の三つの機能だ。

  1. MapReduce処理を高速化する独自機能
  2. Oracle Databaseとの高速データ連携機能
  3. R言語とSQL言語による高速データ分析機能

 (1)の独自機能とは、「Perfect Balance」と呼ばれるテクノロジーだ。Hadoopは並列分散処理によって高速化を図るアーキテクチャだが、分散量が平準化されていない場合には思い通りのパフォーマンスを得られないケースがある。Perfect Balanceは、Hadoop内部のMapReduce処理(並列分散処理)実行前にサンプリングを行い、処理の偏りを自動的に検知して処理量を平準化する機構だ。この仕組みにより、同等スペックの汎用サーバー製品で構築したHadoopシステムと比べて、MapReduceの処理性能が最大で約15倍にまで高速化されるという。

 (2)のOracle Databaseとの高速連携は、専用に開発されたデータローディングツール「Oracle Big Data Connectors」によって実現される。同ツールを使うことにより、Oracle Big Data Appliance上で処理したデータをOracle Databaseに高速に取り込むことが可能となる。立山氏によれば、その性能は最大で約15Tバイト/時に達するという。

 そして、(3)に示すように、Oracle Big Data Applianceでは、Oracle Big Data Connectorsと後出のOracle Big Data SQLによってR言語とSQL言語によるデータ分析の処理も高速化される。例えば、Oracle Big Data Connectorsの機能により、Hadoop上のデータのR言語による並列分散処理が可能となる。立山氏は、「ニューラルネットワークの数理モデルを使った機械学習などを高速化したいといった場合には、こうした機能が威力を発揮します」と説明する。

 なお、R言語にも、ニューラルネットワーク関数として「nnet」が標準で用意されている。ただし、nnetを使用した場合は並列処理を行えないため、計算量が増えるにつれて実行時間が大幅に増加していくという問題がある。それに対して、Oracle Big Data Applianceの場合は、Oracle Big Data Connectorsの機能「Oracle R Advanced Analytics for Hadoop」により、ニューラルネットワークモデルの計算処理を並列分散化し、処理スループットを高いレベルで維持できるのだ。

 「機械学習では、同じ計算を何度も繰り返し行うという特性がありますが、そうした処理は並列化によってパフォーマンスが飛躍的に向上します。そのため、Oracle Big Data Applianceは、機械学習処理の実行に最適なデータ処理基盤だといえるのです」(立山氏)

バージョンアップや拡張などの設定はMammothコマンドを実行するだけ。Hadoopシステムの導入コストも4割削減

 Oracle Big Data Applianceの二つ目の特徴である「低コスト」は、同製品がオラクル独自のエンジニアドシステムとして構成されていることに由来する。

 例えば、Hadoop自体は無償のソフトウエアであることから、これを用いて独自にDIY(Do It Yourself)でHadoopシステムを構築しようと考える企業は少なくない。ただし、その場合はハードウエアからネットワーク、OS、Hadoopディストリビューション、Java環境の全てを自前で用意し、構成および設定を行わなければならない。そうした作業を自力で行うのが難しい場合は、Hadoopシステムの構築を得意とするシステムインテグレーターに構築を依頼することになるだろう。

 一方、Oracle Big Data Applianceでは、そうした作業の工数が大幅に削減される。

 「Oracle Big Data Applianceは、ハードウエアからソフトウエアまでをオラクルが最適なかたちで事前に組み上げてお届けします。そのため、DIYのアプローチと比べて、Hadoopシステムの初期導入に掛かるコストを38%*1、導入期間も21%削減*2できるのです」(立山氏)

*1 オラクル試算による。
*2 米エンタープライズストラテジーグループ調査資料「Getting Real About Big Data: Build Versus Buy」より。



 導入後の保守作業が容易なことも、Oracle Big Data Applianceの大きな魅力である。さまざまなソフトウエアを独自に組み合わせて構築したDIYのシステムでは、各ソフトウエアのバージョンアップに適宜追随していく保守作業が運用面で大きな負担となる。特にHadoopのような先進テクノロジーはバージョンアップの頻度が高く、セキュリティの面からOSやJava環境の迅速なバージョンアップも不可欠である。そして、バージョンアップに際しては当然、各ソフトウエアの動作整合性を検証する作業も行わなくてはならない。DIYによるHadoop処理基盤を何とか導入したものの、この保守作業の負担の重さに悲鳴を上げるIT部門は少なくないようだ。

 Oracle Big Data Applianceは、独自の「Mammoth(マンモス)」コマンドにより、そうした作業の負担およびコストの大幅削減を可能にしている。

 例えば、Oracle Big Data Applianceの導入時は、Mammothコマンドを実行するだけで、Hadoopによるシステムを自動構成することができる。保守フェーズでも、Mammothコマンドを実行するだけで、ファームウエアからOS、Java環境、Hadoopディストリビューション(Cloudera)までがセットになったアップグレードパッチが適用され、全てのソフトウエアが自動的に更新された上でハードウエアへの最適化まで行われる。

 「オラクルは、Oracle Big Data Applianceをはじめとするエンジニアドシステムに対して、OSからハードウエアドライバー、ミドルウエアまでを包括的にテストした上で、それらをパッケージングしたアップグレードパッチを提供しています。そのため、Hadoopシステムのアップグレードという手間の掛かる作業の負担が大きく軽減されるのです」(立山氏)

 また、データ量が増加し、Hadoopノードやストレージの拡張が必要になった際にも、Mammothコマンドを実行するだけで、システムの拡張に必要なソフトウエアがインストールされ、データが自動的に分散配置される。ノード障害時には、問題が発生したハードウエアをネットワークから切り離したり、戻したりといった処理も、Mammothコマンドによって簡単に行うことができるのだ。

Hadoopの企業利用に必須となるセキュリティ機能も完備

 Oracle Big Data Applianceの三つ目の特徴である「高信頼性(企業利用への最適化)」については、扱うデータの規模に応じた高い拡張性に加えて豊富なセキュリティ機能をサポートしている点に、企業システムでのHadoop利用に対するオラクルの姿勢が強く表れている。

 Hadoopは、それ単体でも認可/監査/データ暗号化といった基本的なセキュリティ機能をサポートしている。ただし、これらのセキュリティ機能のベースとなるのは、それぞれに異なるテクノロジーだ。そのため、システム管理者は個々のテクノロジーを習得しなければならず、管理作業も増大する。セキュリティの設定や運用、管理に多くの手間が掛かるわけで、そのことがセキュリティ管理の不徹底を招くことにもなりかねない。

 これに対して、Oracle Big Data Applianceには次に挙げるセキュリティ機能が用意されている他、Mammothコマンド一つで認証/認可の仕組みをHadoopに適用できるといったセキュリティ管理上の利便性を備えている。

  • Kerberos/LDAPによる認証
  • Apache Sentryによる認可
  • Oracle Audit Vault and Database Firewallによる監査
  • Hadoopのファイルシステム(HDFS)の暗号化

 また、「Oracle Audit Vault and Database Firewall」によるHadoopとOracle Databaseの一元的な監査も実現している。立山氏は、「RDBMSとHadoopの監査を個別に行っていると、セキュリティインシデント発生時の調査に多くの手間が掛かります。Oracle Big Data Applianceならば、RDBMS(Oracle Database)とHadoopの一括監査が可能なため、インシデント発生時の調査をスムーズに行えるのです」と語る。

 さらに、Oracle Big Data Applianceでは、Oracle Database管理者が慣れ親しんだ管理ツール「Oracle Enterprise Manager」を使い、CDHの管理ツール「Cloudera Manager」が捕捉したインシデント/障害をモニタリングすることができる。つまり、Oracle Databaseの運用管理で培った環境や知見をそのまま生かし、Hadoopシステムとともに運用管理していくことができるのだ。

 もう一つ、Oracle Big Data Applianceについて特筆すべきことは、ハードウエアからOS、Hadoopディストリビューション、さらにはJava環境に至るまで、Hadoopシステムを構成する全ての要素についてオラクルの一括サポートを受けられる点だ。これにより、ユーザー側では障害時の原因切り分けが不要となり、障害対応の負担軽減や迅速化を図れることも、導入企業から高く評価されている。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年8月7日

関連情報

驚異的なパフォーマンス、優れた運用効率、最高の可用性とセキュリティ、クラウド対応を実現するOracle Exadataとの統合、クラウド、可用性や運用管理など、次世代データベース基盤構築のために参考になる必見資料をまとめてご紹介いたします。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。