Greenplum DatabaseならSQLからでもHadoopにアクセスできる
Hadoopを実際に利用するには、その上に専用のアプリケーションを実装しなければならない。構築に利用されるのが、Map/Reduceと呼ばれるプログラミングモデルだ。Map/Reduceを利用するのであれば、Apache HadoopでもGreenplum HDでも手間や難しさは変わらない。Map/Reduceは、新たなプログラミング技術ではあるが、それほど難しいものではない。とはいえ、パラレル処理を最大限に活用し高性能を得ようとすれば、それなりに高いスキルが要求されるとのこと。
「Hadoopを利用する際に、最適化された、よりよいプログラムを書くことは重要です。ある意味スーパープログラマーがいないと、大規模な環境を使いこなすのは難しい。このスーパープログラマーがいないと使いこなせないのは、ある意味製品の弱点になるかもしれません」(中村氏)
もう1つの課題が、一般企業での情報の活用を考えたときに、Hadoopだけでは完結しないことが挙げられる。企業がビジネスの意志決定に利用するデータ、たとえば売上や利益などの数値はRDBMSに格納されている。そのため、これまで利用してこなかったHadoopに入れられたデータと、RDBMSにあるビジネス指標となるデータと合わせ分析を行う必要がある。このとき、あるデータにはMap/Reduceで、あるデータにはSQLでアクセスするとなると、プログラムは複雑になってしまうだろう。
このようなHadoop単体ではすぐ解決しきれない課題をGreenplum Database の新機能が補完したとのこと。GreenplumDBとは Hadoop上のデータへの SQL でのアクセスを可能にするRDBMS製品だ。これならば、開発エンジニアはすでに身につけた SQLの知識だけで RDBMSもHadoopも活用できることになる。
。「ポイントは、どこまでをHadoopに格納しどこまでをRDBMSに格納すればいいかというのを、きちんと切り分けて利用することです」と中村氏は言う。もちろん、この切り分けは固定的なものではない。利用を進めていく中で、いままでHadoop上にあったものが正規化されRDBMSに入れたほうが効率的になることもある。柔軟かつ容易に双方を選択できることで、より効率的なデータの活用が可能になるのだ。
Greenplum HD製品群の中には、HadoopもGreenplumDBも搭載したアプライアンスもあるため、どのデータをどちらの方式で利用すればいいかを探るのも楽とのことだ。