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の記述がメインの開発作業となります。
制御フローでは、主に次のようなタスクを実行することができます。
目的 | タスク |
データの参照、移動 | 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.