3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【爆速】インポート速度を圧倒的短縮する方法

3
Posted at

この記事は ServiceNow アドベントカレンダー 2025 の12月20日(土)分の記事として執筆する予定でした

↑失敗しました。
明日やろう明日やろうと思っていたのですが、いつの間にか仕事納めしており、いつの間にか年をまたいで今に至ります。
IMG_4277.png

本題に入りましょう。

それはさておき

ServiceNow導入にあたって、過去システムで使っていたの膨大なトランザクションデータやマスタデータの移行に頭を悩ませているプロジェクト、ありませんか?

インポートセット、使っていますか?

マスタデータ、トランザクション、ナレッジ、ユーザー
膨大な量のレコード作成が必要な時に、
手動でちまちまレコード作成してる人は流石に居ないと信じています。

新規案件におけるデータ移行で使用するであろうインポートセットですが、
その実行時間の長さに悩まされた経験はありませんか?

今回の記事は、インポート時間を短縮する方法について解説しています。
インポートセットを楽して作りたい!や、フィールドマッピングめんどくせー!って方はお手元のAIとご相談ください。

そのお悩みとは今日でおさらばです

『同時インポート』を使おう

経験則ですが、この手法を使うことでインポートにかかる所要時間を4分の1程度には減らせます。

同時インポートについての詳細は公式ドキュメントの参照を推奨します。
https://www.servicenow.com/docs/csh?topicname=concurrent-imports.html&version=latest

ざっくり簡単に説明すると

超デカい容量の1ファイルを
→中くらいサイズの4ファイルに分割して
→並列で処理しちゃおうよ

っていうお話です。(だから理論上4分の1にはなるはず...)

ただし、これには以下の制約があるので使える場面は限られてきます。

  • 順序性が保証できない
  • インポートセットテーブルに対して複数の変換マップが紐づいていると変換マップ選択が運ゲーになる可能性あり(ヤバい)(要検証)
  • 小さいデータセットでは逆に処理時間が増加する可能性あり

逆に言うと、上記を気にしなくて良い場合は使い得です。

実際に直近の業務で4カラム×6万レコードのインポートを行ったケースでは以下の差が見られました。

通常のインポート 同時インポート
処理時間 9時間 2時間52分

このように、同時インポートの手法に切り替えるだけで
約68%の処理時間短縮に成功しています。

同時インポートの使い方

※既にインポートセット、変換マップを作成してある前提とします。

1. 【通常のインポートと同じ】フィルターナビゲーターから「データのロード」を開きます。

2. 【通常のインポートと同じ】使用したいインポートセットテーブルを選択、インポートしたいファイルをアップロードし、送信をクリックします。

3. 【ここからが違う】ファイルのアップロードが完了したら、フィルターナビゲーターから「システムインポートセット > アドミニストレーション > スケジュール済みインポート」を開きます。

4. 「予定されているデータインポート[scheduled_import_set]」テーブルが開くので、画面右上の「新規」ボタンをクリックします。

5. 以下を参考にして各カラムに値を入力して、画面右上の「送信」ボタンをクリックします。

フィールド名 設定値
名前 分かりやすいジョブ名を設定しましょう。
「マスタ情報更新用_同時インポート」など
データソース 同時インポートするデータを選択します。
手順1~3でロードしたcsvのレコードを選択してください。
実行方法 インポートをキックするユーザーを選択します。
自分のユーザーを選択します。
実行タイプ インポートを実行する周期を選択します。
「1回」を選んで開始日時を設定しておきましょう
同時インポート チェックをいれることで同時インポートになります。
チェックを入れない場合は通常のインポートをスケジュールジョブとして設定できます。
パーティションメソッド ファイルの分割メソッドが選択できます。
デフォルトで選択されている「ラウンドロビン」でOK

image.png
※ぼくのPDIです、アイアンマンが好きなのでバナーがJARVISNowになってます※

6. レコードを送信したら、UIアクション「今すぐ実行」が表示されます。こちらを押下することで設定した実行タイプに関わらずインポートを開始することができます。


ちょっとテストファイルと変換マップがPDIに無いので画面はお見せできませんが、
これで爆速の同時インポートを使用することができます✨

実行時の画像は以下のReddit記事から確認できますので気になる方はどうぞ
同時インポートセットの構成

まとめ

データのロード部分や実行後の結果画面は、通常のインポートとほぼ同じなので
意外と簡単にできるかと思います。

実はスケジュールジョブを使うことで、
通常のインポートも開始時間を設定して稼働
させることができる
というのも地味に便利なので覚えておいて損は無い機能ですね。

巨大データのインポート作業はインスタンス全体への負荷にもなりますので、
同時インポートを活用してサクッと効率的に終わらせるようにしましょう🌟

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?