Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

LT_DataSpiderアンチパターン

 LT_DataSpiderアンチパターン

DataSpiderの利用をはじめた方のうち、初期の段階でつまづく方が意外に多い。
DataSpiderは便利なツールですが、お困りごとを必ずしもDataSpider単体で解決しなくてもよいのではないでしょうか。
他のアプリを併用するなどすれば、よりよい効果を発揮できると思います。
初心者の方が陥りやすい失敗例と、その解決策をいくつかピックアップしてご紹介します。

2023/08/23 セゾン情報システムズ様 DataSpiderユーザー会 DMS Cube Meetup発表資料

Avatar for Tomoyuki Morikawa

Tomoyuki Morikawa

August 24, 2023
Tweet

More Decks by Tomoyuki Morikawa

Other Decks in Programming

Transcript

  1. DataSpiderをETLツールとして使わない DataSpider 変換 加工 集計 DataSpider 変換 加工 集計 D

    S S 単 体 D B へ 委 託 売上データ 顧客マスタ 上得意顧客 レポート “検索系SQL実行”アダプタ 売上データ 顧客マスタ 上得意顧客 レポート 👈サイロ化した各種データ 👆 はじめにデータベースへ入れる
  2. DataSpiderをETLツールとして使わない 4.91秒 D S S 単 体 売上データ件数=1,000,000件 ・売上データCSVの、 ・“金額”を数値へ変換して

    ・顧客単位に集計して ・2百万円以上の場合には ・顧客マスタを読んで ・住所を結合して ・ソートして ・出力項目を選択して 👇 Excel出力する。
  3. DataSpiderをETLツールとして使わない 108秒 全体108秒。但し、ETLに相当する SQL処理:”出力項目抽出”は0.14秒。 D B へ 委 託 WITH

    合計 AS ( SELECT 顧客コード ,SUM(金額) 合計金額 FROM 売上 GROUP BY 顧客コード HAVING SUM(金額) > 2000000 ) SELECT 合計.顧客コード ,合計.合計金額 ,顧客.氏名 ,顧客.メールアドレス ,顧客.電話番号 ,顧客.携帯電話番号 ,顧客.郵便番号 ,顧客.住所 FROM 合計 JOIN 顧客 ON 合計.顧客コード = 顧客.顧客コード ORDER BY 1 0.14秒
  4. 再帰的にデータソースを参照しない 地名 上位ノード 東京都 - 大阪府 - 大阪市 大阪府 千代田区

    東京都 港区 東京都 北区 大阪市 大手町 千代田区 赤坂 港区 麻布十番 港区 梅田 北区 手元にあるデータ
  5. スケジュールトリガーに執着しない DataSpider DataSpider D S S 単 体 外 部

    委 託 ScriptRunner.exe DSE0210_日次帳票.xml ★ ★ ★=スケジュールの主体 DataSpiderには“ScriptRunner”という、 外部からスクリプトを起動する仕組みがある。 スケジュールの主体をDataSpiderから切り離す。 DataSpiderは「呼ばれたら起動する」に特化する。 ジョブスケジューラ
  6. スケジュールトリガーに執着しない  DataSpiderのみならず、他のシステムも含めて、 会社全体のジョブの要件を切り出して集約できる  実行順序が把握しやすい  階層構造が把握しやすい  例外処理(正常時だけ/異常時だけ)が把握しやすい

     カレンダーによるきめこまやかな運用ができる <ジョブスケジューラへ外部委託するメリット> 企業の膨大かつ複雑なジョブを管理するに はジョブスケジューラは必須! Dataspiderからスケジュールを切り離す!
  7. プロジェクトの作成単位を大きくしない スクリプト プロジェクト 調達業務 発注処理 受入処理 検収通知 遅延督促 ・・・ ・・・

    ダメな例 1つのプロジェクトにスクリプトをたくさんぶら下げると、 コンパイルの単位が巨大になって収拾付かなくなるよ! 👆 コンパイルの単位