今更SSISを触ってみた

はじめに

 簡単な ETL パッケージ作成のチュートリアルをやってみたら面白かったので、SSISについて分かったことをメモしようと思ったのですが、Integration Servicesで異種データも楽々インポート (1/3):SQL Server 2005を使いこなそう(1) - @ITに、SSISの良い説明が載っていることに気づいてしまいました。
 なので、実はわざわざメモすることも大して無いのですが、まあ、一応メモ。

 ちなみに、SSISとは、SQL Server Integration Servicesの略です。
 Data Transformation Services(DTS)が、SQL Server 2005からSSISと呼ばれるようになりました。

環境


「Integration Servicesで異種データも楽々インポート(1/3) − @IT」の私的な補足

 Integration Servicesで異種データも楽々インポート (1/3):SQL Server 2005を使いこなそう(1) - @ITの図3をBI Development Studio(Visual Studio 2005ベースのツール)で作る訳なのですが、図3の右側の「データフロー」の部分が、さりげなく図2の画面と対応してます。
 あまりの一対一っぷりに、SSISのすごさの片鱗が伺えます。

簡単な ETL パッケージ作成のチュートリアルをやってみるとこんな感じ

 チュートリアルでは、制御フロー画面とデータフロー画面を主に扱います。
 簡単な ETL パッケージ作成のチュートリアルにはスクリーンショットがあまりなく、不安になりながら操作しましたので、最後まで操作すると、こんな感じになります、というのを載せます。

 下図は制御フロー画面です。

 下図はデータフロー画面です。
 画面上部の「データフロータスク」という項目の内容が、制御フロー画面に存在する箱の名前(Extract Sample Currency Data)と同一になってますので、制御フロー画面に存在する箱の詳細を定義しようとしてることがわかります。
 図中の枠のない日本語の文章は単なるコメントです。コメントがこんな感じに自由に入れられる気遣いが、嬉しいです。

 チュートリアルでは、データフロー変換に「参照」を使うのですが、ここも良い感じにGUIです。
 下図は、上の図で「Lookup Currency Key」と名前を付けられている「参照」の詳細画面です。

 ぱっと見なんだかわかりにくいかと思いますが、「使用できる入力列」はタブ区切りのテキストファイルを表しており、「使用できる参照列」はDBのあるテーブルを表しています。
 「使用できる入力列」がテキストファイルであることと、「使用できる参照列」はDBのあるテーブルであることは、別のところで定義してるのですが、そこは省略します。

 この画面は、平たく言うとテキストファイルとDBのJOINを設定しようとしています。「使用できる入力列」と「使用できる参照列」の線が結合条件を表しており、「使用できる参照列」のチェックがついているところが、取得する列です。
 私はこの「参照」に感動しました。テキストファイルをテーブルに見立ててのJOINがこんなに簡単に!

 「LINQ使えば、プログラムを書いても言うほど面倒でもないんじゃない?」なんて言う意見もあろうかと思いますが、そこは気にしないようにしたいと思います。

さいごに

 @ITの記事が分かりやすかったため、書く意味があったかよくわからないエントリになってしまいましたが、まあ、わたしのメモということで。