Integration Servicesで異種データも楽々インポートSQL Server 2005を使いこなそう(1)(2/3 ページ)

» 2006年01月25日 00時00分 公開
[石橋潤一株式会社システムインテグレータ]

 GUIツールであるBI Development Studioに加えて、SSISではコマンドラインツールも用意されています(表1)。パッケージ実行用ツールを使えば、独自に作成したスクリプトやプログラムからパッケージを実行することができます。

ツール名 説明
dtutil SSISパッケージの管理
dtexcec SSISパッケージの実行
dtexecui SSISパッケージ実行に関する設定、実行コマンドの作成
dtswizard インポート/エクスポートウィザードの起動
表1 SSISのコマンドラインツール

 SSISパッケージの実行状況監視については、SQL Server 2000 Enterprise Managerの後継としてSQL Server 2005より用意される「SQL Server Management Studio」を利用します。SQL Server Management Studioを利用することにより、データベースの管理を一元化することが可能となります。SSISの実行状況監視は、ローカルサーバだけでなくリモートサーバのSQL Serverで実行されるパッケージについても行うことができます。

新しいアーキテクチャ

 SQL Server 2000のDTSデザイナでは、ETL処理を開発する際、処理の流れとデータの流れが混在してしまうことが1つの問題でした。そこでSSISでは、条件分岐やメールの送信、ログの書き込みといったタスクと、データを抽出/変換/挿入する処理を、それぞれ「制御フロー」と「データフロー」に分けて開発することを可能としました。

 「制御フロー」では、ETL処理を行うに当たって発生する流れの制御を記述します。ループの処理やメール送信、FTP接続、プロセス実行、ログの書き込みなどがこれに当たります。「データフロー」では、実際にファイルやデータベースに接続し、データの抽出、変換加工、挿入といったデータの流れを記述します。データフローは制御フローから呼ばれる形となるため、データフローで複雑な処理を記述しても、全体としては簡潔さを保つことができます(図3)。

 SSISは制御フローを「データ変換ランタイム(Data Transformation Runtime:DTR)」、データフローを「データ変換パイプライン(Data Transformation Pipeline:DTP)」という別々のエンジンで処理しています。SSISでは、このDTRとDTPの記述がメインの開発作業となります。

図3 SSISのアーキテクチャ 図3 SSISのアーキテクチャ

 制御フローでは、主に次のようなタスクを実行することができます。

目的 タスク
データの参照、移動 FTPタスク
XMLタスク
Webサービスタスク
ファイルシステムタスク
外部の処理やSQL Server
サービスの呼び出し
DTS2000パッケージ実行タスク
SQL実行タスク
パッケージ実行タスク
メール送信タスク
データベースメンテナンスの実行 インデックスの再構成タスク
データベースのバックアップタスク
データベースの圧縮タスク
統計の更新タスク
表2 制御フローの主なタスク

 データフローでは、主に次のような処理を実装可能です。

目的 タスク
データの取得元 DataReaderソース
Excelソース
OLE DBソース
XMLソース
フラットファイルソース
データの変換処理 データ変換 条件分割
ピボット 並べ替え
マージ 列インポート
集計 列コピー
データの変換先 DataReader変換先
Excel変換先
OLE DB変換先
フラットファイル変換先
表3 データフローで可能な処理

 特にデータ変換タスクに関しては、このほかにも多彩な変換コンポーネントが用意されています。DTSでは変換処理に関しても貧弱な部分がありましたが、SSISでは多彩なコンポーネントを適切に利用することにより、複雑かつ高度な処理を開発することが可能です。(次ページに続く)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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