データを1ヵ所に集めることは意外と困難……解決策は?
構造化データはもちろん、非構造化データや半構造化データを含む様々なデータを蓄積し、誰もが必要なデータをタイムリーに得られるようにしたいと考えている企業は多い。そのためのデータ基盤となるデータレイクやデータウェアハウスなどは、技術の進化、クラウドの登場などで比較的容易に実現できるようになった。大量のデータを蓄積するための基盤は、クラウドのデータ分析基盤サービスやオブジェクトストレージを利用すれば、初期費用を抑えて構築することも可能だ。
しかし、実際にあらゆるデータを1ヵ所に集めることは、実はそれほど簡単とはいえない。複数のデータソースから、バッチ処理などで物理的にデータを移動させる必要があるが、この作業には手間がかかる。データソースごとにデータを取得するためのバッチ処理ジョブを作り、それを適切に運用しなければならない。データソース側の制約に合わせ、データの整合性を確保するためのきめ細かな制御も必要となる。さらに、パブリッククラウド間でデータを移動すれば、移動させるデータ量に応じて別途コストがかかることも少なくない。
このように物理的にデータを1ヵ所に集めるには、相当の手間やコストがかかってしまう。この課題に対し「データ仮想化」という解決策を提唱するのはCData Software Japan 代表社員 職務執行者の疋田圭介氏。「データ仮想化は、物理的なデータ統合を必要とせず、既存のデータベースやシステムに分散したデータをそのまま活用できます」と話す。その特性から、システム連携にかかる時間やストレージ、インフラコストを大幅に削減可能だ。データソースのデータ形式が異なっていても、仮想データベース上で定義して統一的なビューを作成すれば、シームレスなデータ分析ができる。これにより、迅速な意思決定や新たなビジネスチャンスの創出に貢献できるのだ。
データ仮想化は、データの構造だけを定義した論理的なデータアクセス層を用意し、データの要求があった場合にのみデータソースに接続してデータを取得する。データ構造などの設計変更が難しいETLを利用した従来のデータ統合に対し、データ仮想化はデータの追加や変更にも柔軟に対応できる。さらに、定期的に実施されるバッチ処理と違い、データソースでのタイムラグがないため、リアルタイムな分析ができることもメリットだ。
一方、データ仮想化を利用するとき、データソースへ都度アクセスするためにオーバーヘッドが生じてしまい、物理データベースと比べると処理速度が遅くなってしまう。また、仮想データベース自体が単一障害点となる可能性もあり、障害発生時には影響範囲が広がるリスクも考慮しなければならない。
そこで注目を集めているのが「データファブリック」という管理手法だ。これはアプリケーションなどを問わずにデータを一元管理し、リアルタイム性を失うことなくデータの利活用を目指すというもの。ETLを利用した従来のデータ統合が苦手とするアクセス制御など、データガバナンスを強化しながら組織全体のデータを効率的に集約できるため、担当者の負担軽減にもつながるだろう。もちろん、それだけに実現のハードルは高く、多くの工数・リソースを要してしまう点も忘れてはいけない。