エンタープライズ・データマネージメントのニーズが高まっている
「データベースの仮想化とは、統合すべきデータをコピーせずに、新しい情報に変える技術です。」
レッドハット株式会社 JBoss事業本部 事業部長の岡下浩明氏は、データベースの仮想化とはいわゆる「エンタープライズ・データマネージメント」と呼ばれる領域のソリューションだと説明する。企業が利用しているさまざまなデータを、仮想化技術を活用し新たな1つのデータベースとして扱えるようにするもの。
それではこのエンタープライズ・データマネージメントとは、具体的にどのようなものなのか。たとえば企業には、販売管理システム、カスタマーサポートシステム、CRMなどさまざまなシステムが稼働している。それぞれのシステムに「顧客データ」があり、同じ顧客データでもシステムごとにその内容は少しずつ異なる。
さらに、多くの場合システムは個々に独立していて、システムごとに顧客に関するデータを入力するケースも多い。各システムでばらばらの顧客データのままでは、顧客に対し一貫したサービスの提供も難しく、さらに顧客に関するレポートを出力し経営戦略に活かそうとしても、システムをまたがる情報抽出ができないなどの不都合も発生する。それらを解消するために、企業内の重要なデータを一元的に管理できるようにする為の取組みがエンタープライズ・データマネージメントということになる。
このエンタープライズ・データマネージメントの領域で活用されているのが、ここ最近注目のマスターデータ管理ツールやETL(Extract/Transform/Load)ツール、さらにはデータクレンジングツールなどだ。多くの場合、新たな統合データベースなどを導入し、そこにこれらツールを用い各システムからデータをダウンロードしたりコピーしたりする。統合データベースのスキーマを作るために利用されるのがマスターデータ管理ツールであり、ダウンロードやコピーを行うのがETLツール、統合の際にデータの不整合を解消するのがデータクレンジングツールの役割となる。
データベースを仮想化すればさまざまな課題が解決できる
たとえば、各システムの顧客データに対する要求すべてを満たす大きな入れ物を用意し、そこで新たなデータのモデルを作って統合化するのが、一般的なマスターデータ管理ツールを用いたアプローチだ。この場合、個々のシステムの物理データモデルから論理データモデルを抜き出し、それぞれの論理データモデルを1つにしてマスターとなる論理データモデルを作ることになる。マスターとなる論理モデルを作るためには、きちんとデータを正規化する必要がある。そして、できあがった統合論理モデルを適用し、マスターデータベースを構築して必要なデータをコピーする。
この方法の課題は、マスターと個々のシステムのデータベース間にはデータのタイムラグがあることだ。通常はバッチ処理などで個々のシステムからデータを抽出し、クレンジングしてマスターとなるデータベースにコピーするので、マスターが最新の状態とは限らない。さらには、データをコピーするので、重複によるリソースの無駄も発生する。さらに、別の視点でデータを利用したいという要求が新たに出てきた際には、その要求を満たせるようにマスターのデータモデルを都度調整し、データベースを作り替えなければならないだろう。これもまた、大きな手間となりかねない。
「このようなエンタープライズ・データマネージメントの課題を解決する方法の1つが、データベースの仮想化です」と岡下氏。仮想化技術を用いることで、ETLツールなどで物理的にデータをコピーすることなくデータ統合が可能になる。これにより、タイムラグとデータの重複という問題が解決する。さらに、データベースの仮想化では、必ずしもマスターとなるデータモデルを作らなくてもいい。新たなシステムで必要となる論理データモデルだけを、仮想的に実現し利用する使い方も可能だ。
データベースの仮想化は、どのように実現すればいいのか。レッドハットでは、オープンソースのエンタープライズ・ミドルウェア「JBoss Enterprise Middleware」の1つ「JBoss Enterprise Data Services Platform」を利用することでデータベースの仮想化が実現できるとのこと。仮想化されるデータベースのデータソースは、既存システムのデータベース、データウェアハウス、Webサービス、アプリケーションデータ、さらにはセールスフォース・ドットコムに代表されるようなクラウド上のデータソースなどどんなものでも構わない。さまざまなデータソースからEclipseベースの無償ツール JBoss Developer Studioを使うことで、様々なデータソースからデータモデルを容易に抽出することができる。あとはそれらをもとに、仮想的にマスターとなるデータモデルを構築すればいい。