BIの周辺技術
DSAとETL
DSA(Data Staging Area)とは、業務システムから抽出したデータをDWHにロードするまでの間、一時的にデータを置いておく(ステージングする)ための領域のことです。物理的には、OSのファイル・システム上のテキスト・ファイルもしくはRDB内のテーブルとして作成されます。
DSAを作成するのは、ここで業務システムのデータを分析用のデータとして適切な形に変換する必要があるためです。
DSAにおける処理は、(1)抽出、(2)一次クリーニング、(3)変換、(4)ロードの4段階に分かれます。これらの処理を総称してステージング処理、または、抽出(Extract)、変換(Transform)、ロード(Load)の頭文字をとってETL処理と呼びます。図3-1に、DSAの構成とステージング処理フローをまとめました。
ステージング処理の4つの段階に沿って、DSAを説明します。
(1)抽出
抽出処理は、業務システムから、BIシステムで必要とされるデータを抽出し、DSAに受信ファイルとして格納する処理です。業務システムのデータがオープン系のRDBに格納されている場合は、このデータベースにBIシステム側からクライアントとしてアクセスし、SQLでデータを直接抽出することになります。
(2)一次クリーニング
ここでは、次の変換処理の準備として、抽出した業務システムのデータ形式を変換したり、異常データを削除するなどの処理を行います。データ形式の変換としては、主に文字コードの変換を行います。異常データの削除としてよく行われる処理に、キャンセル・レコードの削除があります。
(3)変換
変換では、一次クリーニングされた抽出データを変換し、DWHを構成する各テーブルにロード可能なファイルを作成します。単純変換、クレンジング、統合化、集計などの処理を行います。クレンジングとは、DWHで決められた仕様に適合しないデータを排除する処理です。統合化とは、複数のソース・データから1つのDWHのテーブルを作成する処理のことです。
(4)ロード
ステージング処理の最後がロードです。DWHへのデータのロードは、データ量が大量になるため、SQLで1レコードずつインサートするということはありません。通常、使用するRDB製品の機能に応じた高速ローディング機能を使います。
ETLツール
以上4つの処理を総称してETL処理と呼ぶことは、すでに説明しましたが、これらの処理の開発を効率化し、実行を自動化するのがETLツールです。ETLツールの主な機能には、以下のようなものがあります。
- 抽出処理に必要なクエリーをGUIで自動生成する機能
- 一次クリーニング処理や変換処理に必要な処理プログラムをコンポーネント化しておき、それらを組み合わせて処理プログラムを完成させる機能
- 抽出からローディングに至る処理の実行フローをGUIでジョブとして定義し、スケジューラなどで自動実行する機能
ETLツールには、RDBやBIツールなどの製品の一部として提供されるもののほかに、単独で製品として販売されているものもあります。2010年3月時点で単独製品として販売されている主なETLツールは、図3-2のとおりです。
第3回の今回は、BIシステムに関連する技術を説明しました。次回は、最新のIT技術を利用したBIシステムの最新動向について説明します。