SSISの概要

みなさん、こんにちは!
このブログでは、SQL Serverとそのアドオン機能であるSSIS、SSRSを組み合わせたデータウェアハウスと、そのシステムをクラウド上に移行するための基礎知識を楽しく理解できるよう、紹介しています。
登場人物は2人。指南役は犬のきゃん太先生です。きゃん太先生はSQL Serverの運用歴も長く、データウェアハウスやクラウドにも精通した、できるワンコです。
そして生徒はとんがり君。入社3年目の若手ですが、技術には定評があります。ただし自信過剰気味なところが玉に傷です。
きゃん太先生はとんがり君を一人前にすべく、様々な知識を伝授しようとしています。
さて、どうなることでしょうか。


きゃん太先生
きゃん太先生

とんがり君こんにちは!僕は、君の指導係のきゃん太だよ。

きゃん太先生よろしく!

まあ、僕はこれまでいろいろな現場で経験を積んでいるので、

先生に教えて頂くことはあまり無いかもしれないですけどね。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

ほお、それは頼もしいね。とんがり君は入社して何年経つのかな?

今年で3年目です。

いやあ、自分で言うのも何ですが、

同期の中では飛び抜けて

現場経験が豊富だと思いますよ。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

了解したよ。それでは基礎的な部分は飛ばして、

実務的な話を中心にしていこうか。

いや、ちょっと待ってください。

せっかく先生にきちんと教えてもらえるのであれば、

基礎から聞いたほうが・・・

とんがり君
とんがり君
きゃん太先生
きゃん太先生

あれ?自信がないのかな?

いえ、自信は腐るほどありますが、念の為、というか。

先生も基礎からお話されたほうが話しやすいでしょうし。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

わかったよ。それでは、基本的なところから話していこう。

とんがり君にとっては今更な話もあるかもしれないけど、

復習と整理だと思って聞いてね。

わかりました!よろしくお願いします。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

とんがり君は、SQL Serverって知ってるかな?

もちろんですよ!SQL Serverは現在、Microsoft社の主力DBMSで、

元はSybaseの製品だったものを、SybaseとMicrosoftが提携して・・・

とんがり君
とんがり君
きゃん太先生
きゃん太先生

はいはい、わかったよ。

とんがり君はSQL Serverの歴史にも詳しいんだね。

それでは、SSISは知ってるかな?

いや、その料理は食べたこと無いので、ちょっとわかりません。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

料理の名前じゃないよ。

そもそもアルファベット4文字ってどんな料理だよ。

SSISはSQL Server Integration Serviceの略で、

SQL Serverのアドオンのひとつなんだよ。

あ、え、いや、そうそう、そうでしたね、

SSIS、うん、わかりますよ。

とんがり君
とんがり君

・・・

きゃん太先生
きゃん太先生
きゃん太先生
きゃん太先生

SSISは、いわゆるETLツールの一種で、

SQL Serverを含む様々なデータ群から必要なデータを抽出し、

希望の形式に加工・変換して利用先に保存することができるものなんだ。

きゃん太先生、ETLってなんですか?

とんがり君
とんがり君
きゃん太先生
きゃん太先生

あ、説明してなかったね。

ETLはExtract/Transform/Loadの略で、

DBなどに蓄積されたデータから必要なものを抽出(Extract)し、

目的に応じて抽出してきたデータを変換(Transform)して、

データを必要とするシステムに格納(Load)するツールのことだよ。

なるほど、簡単に言えばデータ加工ツールってことですね。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

まあそうだね。ETLはこうした機能なので、よくデータウェアハウスに利用されたりするんだ。

データウェアハウス・・・よく聞きますけど。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

データウェアハウスは簡単に言うと、

業務上発生した取引記録などの大量データを保管した

データベースのことだよ。

ただし、膨大な量のデータが蓄積されるので、

これを上手く加工・分析しないと、

せっかくのデータも宝の持ち腐れになってしまうんだ。

そこで、先程のETLツールを使って効率よく抽出や分析、比較を行うわけさ。

なるほど、データウェアハウスはデータの倉庫、

ETLツールはそこから効率よくデータを取り出して

分析するためのツールという感じですね!

とんがり君
とんがり君
きゃん太先生
きゃん太先生

そのとおりだよ。とんがり君、筋がいいじゃないか。

いやあ、それほどでもありますよ。

とんがり君
とんがり君

・・・

きゃん太先生
きゃん太先生
きゃん太先生
きゃん太先生

さて、話を戻そう。SSISはSQL Server上で動くETLツールなわけだが、

非常によくできている。例えば接続できるデータは何もSQL Serverには限らない。

他のDBMSはもちろん、ExcelやCSVなど、

そもそもDBMSでないものでさえデータソースにできるんだ。

それは便利ですね。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

だろう?そしてデータ加工処理も、

プログラムレスで視覚的にコンポーネントを接続し、

設定しながら行うことができる。

しかも、かなり複雑な加工もできる。

プログラム書かなくて良いんですか!

運用メインで経験を積んできた

僕にはありがたい話です!

とんがり君
とんがり君
きゃん太先生
きゃん太先生

しかも加工処理は、様々なタイミング、

例えばあるデータが更新されたタイミングなどで、

自動的に実行することもできる。

そして加工したデータを格納する先も、

SQL Serverはもちろん、他のDBMSやExcel、

CSVといった非常にバリエーション豊かになっている。

すごいですね!無敵じゃないですか!

とんがり君
とんがり君
きゃん太先生
きゃん太先生

そう、すごいんだよ。数あるETLツールの中でも、

SSISが好んで利用されるのは、こうした多機能であることと、

使い勝手の良さからなんだ。

でもちょっと待ってくださいよ。

プログラムレスなのに複雑なデータ加工が可能って・・・

逆にロジックを組み立てるのが難しくないですか?

とんがり君
とんがり君
きゃん太先生
きゃん太先生

いやいや、そんなことはないよ。まあ確かに、若干の慣れは必要だけどね。

MicrosoftのSSIS関連サイトには、チュートリアルも充実しているし、

数日使い込めばすぐに使えるようになると思うよ。

ピッ・ポッ・パッって感じさ。

ピッ・ポッ・パッですか。ほんとかなぁ。

とんがり君
とんがり君
きゃん太先生
きゃん太先生

ウォッホン!まあ、それはちょっと言い過ぎかな。

しかし、スクリプト言語を覚えるよりは遥かに楽に習得できることは間違いないよ。

すみません、きゃん太先生。

やっぱりプログラムを書かないでロジックを組み立てるというのが、

どうにもピンと来ません。

きゃん太先生
きゃん太先生

うーん、そうかもしれないね。

それではこの図を見てくれないか。

きゃん太先生
きゃん太先生

処理の流れが書いていますね。

サンプルデータを抜き出してキーを探して、

データベースに展開する、って感じですか。

データ加工の設計書ですか?

きゃん太先生
きゃん太先生

いやいや、設計書じゃないよ。

これがSSISで作成したロジックで、このまま動くんだ。

えっ!?

これって図じゃないですか。これが動くんですか?

なるほど、プログラムレスの意味がわかった気がします。

きゃん太先生
きゃん太先生

すごいだろう?

こうした処理の四角い箱をマウスを使って配置して、

四角い箱同士を矢印で接続して、中のプロパティを設定してやる。

これがSSISでの処理作成なんだ。

僕でもできそうな気がします!


きゃん太先生の丁寧で忍耐的な教えのおかげで、SSISの概念を理解したとんがり君でした。さて、次の講座では、とんがり君は[SSRS(SQL Server Reporting Services)]に挑戦します。
こちらもご期待ください!