この記事で分かること
SQL Serverを扱うにあたり、SSISとSSDTの違いがいまいち理解できていなかったので、整理してみました。
参考
SSISとは
SQL Server Integration Servicesの略で、Microsoft社のデータベース管理システム「SQL Server」に付随するETLツールの1つ
Microsoft SQL Serverを購入したときに同梱されているツールです。
「ETLツール」ということなので、データベースやフラットファイルからデータを加工し、結果をファイル出力したり、SQL Serverに取り込んだりできます。
SSISパッケージの開発では、Microsoft Visual Studio
と拡張機能のSSDT
を用いて行います。
SSISパッケージの一例
SSISパッケージの一例として、
① フラットファイルを取り込み、
② 何らかの加工を行い、
③ SQL Serverのとあるテーブルに出力する。
というETLプロセスをSSISで作ってみました。
SSISでは、単純なデータの取り込み(上記例だと①と③だけ)であれば、ノーコードでデータの移行が可能です。後述のSSDT ToolBoxから、用意されたタスクをドラッグアンドドロップし、設定するだけでOKなのです。
SSDTとは
SSDTとは、SQL Server Data Toolsの略で、次のような機能を持つ
- SSISパッケージをゼロから開発する。
- 既存のSSISパッケージを編集できる。
SSISの項目で少し出てきましたが、SSDTとは、SSISを開発するためのツール
のことです。
もう少し詳しく書くと、Microsoft Visual Studioの拡張設定として、SSDT
を選択しインストールすることで、SSISの開発を行うことができます。
SSISパッケージの開発画面を以下に示します。
SSIS Toolbox
ペインにタスクのアイコンを選択し、中央のデザイン部分
にドラッグアンドペーストすると、タスクを定義できます。
基本的にはフローチャートのように、1つ1つのタスクを矢印で結び、矢印の方向にタスクが進んでいくという流れになります。
ちなみに、上図のSQL実行タスク
では、接続先データベースを指定し、実行するSQLを入力することで、任意のテーブルから加工したデータを抽出することができます。
また、上図のデータフロータスク
では、前工程で抽出したデータを変換したり、その結果を送り先(任意のデータベースやファイル)に送るなどの細かいプロセスを定義できます。
まとめ
SSISとSSDTについてまとめてみました。
SSISは、Microsoft SQL Serverに付随するETLツールのことで、SSIS開発を行うためのツールがSSDTということですね。
SSDTには、まだまだ触ったことのない制御タスクがあるので、すでに出来上がったSSISパッケージを眺めて、1つずつ理解したいと思います。