none
SSISを純粋にETLツールのみとして使いたい場合、Standardで十分でしょうか? RRS feed

  • 質問

  • お世話になります。

    現在基幹システム(Oracle、CSV、ISAM、Btrieve、Cache’の各データ)⇒DWH(Oracle、Access、Cache’)の連携にて、
    プログラムを手組して種々のデータ連携運用しております。
    しかし、ここのところ対応テーブルも百を超え、管理が難しくなってきましたので、
    SSISのETL機能をプラットフォームとした連携システムの再構築を検討しております。

    複数の基幹システムにあるデータを加工して別途OracleでできたDBに入れていきたい(ついでに別途アプリも叩く)のですが、
    OLAPとかデータマインニングとかレポーティングは必要ないので、単純にODBCでデータソースサーバのDBを読んで加工処理をした後、
    ODBC経由でターゲットサーバのDBに書き込みたいのです。
    これはSQLServer2008 Standard Edition で可能でしょうか。また、Enterpriseを買う必要がるのでしょうか。

    以上、ご回答頂けると幸甚です。
    2009年8月27日 8:27

回答

  • SQL Server 2008 Standard Edition でよいと思われます。



    SQL Server 2008 オンライン ブック (2009 年 5 月)「SQL Server 2008 の各エディションがサポートする機能」
    http://msdn.microsoft.com/ja-jp/library/cc645993.aspx
    の、「Integration Services」の部分によると、

    Enterprise のみに含まれている「変換タスク」は以下です。
    ・データ マイニング クエリ変換(Data mining query transformation)
    ・あいまい参照変換(Fuzzy Lookup transformation)
    ・あいまいグループ化変換(Fuzzy Grouping transformation)
    ・用語抽出変換(Term Extraction transformation)
    ・用語参照変換(Term Lookup transformation)
    「データ マイニング クエリ変換」はSSAS関連なので不要です。
    その他の4つも、データソースシステム側で既にデータが整備されていて、
    いわゆる"データクレンジング"(なかでも大雑把に処理してしまう手法)を行わないのであれば不要です。
    それぞれの説明はこちら↓
    http://msdn.microsoft.com/ja-jp/library/ms141713.aspx

    Enterprise のみに含まれている「変換先アダプタ」は以下です。
    ・データ マイニング モデル トレーニング変換先(Data mining model training destination adapter)
    ・ディメンション処理変換先(Dimension processing destination adapter)
    ・パーティション処理変換先(Partition processing destination adapter)
    全てSSAS関連なので不要です。
    それぞれの説明はこちら↓
    http://msdn.microsoft.com/ja-jp/library/ms141089.aspx



    上記以外で、別途ダウンロードで提供されている
    SAP BW、Teradata、Oracle への接続機能(接続マネージャ、変換元アダプタ、変換先アダプタ)
    については、Enterprise Edition(とDeveloper Edition)のみ対応してます。
    参考URL↓
    http://msdn.microsoft.com/ja-jp/library/ms140203.aspx
    http://msdn.microsoft.com/ja-jp/library/ms141093.aspx
    http://msdn.microsoft.com/ja-jp/library/ms141089.aspx
    このうち Oracle用の「Microsoft Connector for Oracle by Attunity」のみ用途がありそうですね。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=d9cb21fe-32e9-4d34-a381-6f9231d84f1e&displaylang=en
    (私は使用したことはありませんが)これはバルク処理用のコンポーネントということですので、
    これを利用すると、SSISからOracleへ直接、大量データの抽出およびロードする際のパフォーマンスが向上するようです。
    既存の変換先アダプタの中では「OLE DB 変換先」を選ぶことになるのだろうと思われますが、
    「OLE DB 変換先」経由でのOracle への抽出およびロードが、(バルク処理に対応していないなどの理由で)大量データの場合に*遅い*のではないでしょうか。(すいません、私は SSIS で Oracle への接続を行ったことがなく、詳細を知りません。)
    ※なお、このツールのヘルプファイルには、対応バージョンとして「Oracle 9.2.0.4 and higher」と記載されていました。

    ただし、
    現状で「ODBC経由で」行っているということですのでデータ量としてはあまり多くなく、処理パフォーマンスは問題視されないのだろうと思われるのと、
    別手段での対応方法もあると思われるので(いったんテキストファイルに出力してSQL*Loader を使うとか)
    「Microsoft Connector for Oracle by Attunity」の利用に特段の魅力を感じなければ Standard Edition でよいと思われます。


    もし気になる"大量データ"が存在する場合、Developer Edition を先に購入して、
    "大量データ"処理について既存の「変換先アダプタ」「変換元アダプタ」のパフォーマンスで十分かどうか
    を調べてみるとよいかもしれません。

    • 回答としてマーク TRANSALP400V 2009年8月31日 12:33
    2009年8月28日 21:29

すべての返信

  • SQL Server 2008 Standard Edition でよいと思われます。



    SQL Server 2008 オンライン ブック (2009 年 5 月)「SQL Server 2008 の各エディションがサポートする機能」
    http://msdn.microsoft.com/ja-jp/library/cc645993.aspx
    の、「Integration Services」の部分によると、

    Enterprise のみに含まれている「変換タスク」は以下です。
    ・データ マイニング クエリ変換(Data mining query transformation)
    ・あいまい参照変換(Fuzzy Lookup transformation)
    ・あいまいグループ化変換(Fuzzy Grouping transformation)
    ・用語抽出変換(Term Extraction transformation)
    ・用語参照変換(Term Lookup transformation)
    「データ マイニング クエリ変換」はSSAS関連なので不要です。
    その他の4つも、データソースシステム側で既にデータが整備されていて、
    いわゆる"データクレンジング"(なかでも大雑把に処理してしまう手法)を行わないのであれば不要です。
    それぞれの説明はこちら↓
    http://msdn.microsoft.com/ja-jp/library/ms141713.aspx

    Enterprise のみに含まれている「変換先アダプタ」は以下です。
    ・データ マイニング モデル トレーニング変換先(Data mining model training destination adapter)
    ・ディメンション処理変換先(Dimension processing destination adapter)
    ・パーティション処理変換先(Partition processing destination adapter)
    全てSSAS関連なので不要です。
    それぞれの説明はこちら↓
    http://msdn.microsoft.com/ja-jp/library/ms141089.aspx



    上記以外で、別途ダウンロードで提供されている
    SAP BW、Teradata、Oracle への接続機能(接続マネージャ、変換元アダプタ、変換先アダプタ)
    については、Enterprise Edition(とDeveloper Edition)のみ対応してます。
    参考URL↓
    http://msdn.microsoft.com/ja-jp/library/ms140203.aspx
    http://msdn.microsoft.com/ja-jp/library/ms141093.aspx
    http://msdn.microsoft.com/ja-jp/library/ms141089.aspx
    このうち Oracle用の「Microsoft Connector for Oracle by Attunity」のみ用途がありそうですね。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=d9cb21fe-32e9-4d34-a381-6f9231d84f1e&displaylang=en
    (私は使用したことはありませんが)これはバルク処理用のコンポーネントということですので、
    これを利用すると、SSISからOracleへ直接、大量データの抽出およびロードする際のパフォーマンスが向上するようです。
    既存の変換先アダプタの中では「OLE DB 変換先」を選ぶことになるのだろうと思われますが、
    「OLE DB 変換先」経由でのOracle への抽出およびロードが、(バルク処理に対応していないなどの理由で)大量データの場合に*遅い*のではないでしょうか。(すいません、私は SSIS で Oracle への接続を行ったことがなく、詳細を知りません。)
    ※なお、このツールのヘルプファイルには、対応バージョンとして「Oracle 9.2.0.4 and higher」と記載されていました。

    ただし、
    現状で「ODBC経由で」行っているということですのでデータ量としてはあまり多くなく、処理パフォーマンスは問題視されないのだろうと思われるのと、
    別手段での対応方法もあると思われるので(いったんテキストファイルに出力してSQL*Loader を使うとか)
    「Microsoft Connector for Oracle by Attunity」の利用に特段の魅力を感じなければ Standard Edition でよいと思われます。


    もし気になる"大量データ"が存在する場合、Developer Edition を先に購入して、
    "大量データ"処理について既存の「変換先アダプタ」「変換元アダプタ」のパフォーマンスで十分かどうか
    を調べてみるとよいかもしれません。

    • 回答としてマーク TRANSALP400V 2009年8月31日 12:33
    2009年8月28日 21:29
  • >> nagasakitさん

    詳細で丁寧なご回答ありがとうございました。
    早速部内で導入に向けて検討します。

    パフォーマンスは確かに重要ですが、移行時でもない限り通常ではそんなにたいした事はないです。

    また、クレンジングも、フラグの文字列への変換(0・1→なし・あり)や文字列のトリミング、半角文字の全角文字への変換などの簡単なものから
    レコードの意味から内容を訂正するなどのベタな処理までありますが、後者は実際はプログラム中でゴリゴリやるしかないものが殆どです。
    基本的に今回もSSISのビジネスロジック中にVB.Netでソースをゴリゴリ書くしかないので、逆に「汎用的な」クレンジング機能はあまり必要ではありません。

    変換アダプタは将来的に要検討でしょうが、今回はまずStandardで従来そのままの移行を目的としたロジックでやってみます。

    Oracleのバルク処理は移行時やトランザクション系のリアルタイム通信には魅力的ですね。今後の参考にしてみます。

    ありがとうございました。

    2009年8月31日 12:33