イン ポート Pro
操作:レコードのインポート ProStandard Edition+紹介
インポート Pro プラグインは、通常のインポート機能に加えて、さらに強化された機能を提供します。
インストール
このプラグインは非同期タスク管理プラグインに依存しています。使用する前に、非同期タスク管理プラグインを有効にする必要が あります。
機能強化

- 非同期インポート操作に対応しており、独立したスレッドで実行されるため、大量のデータをインポートできます。

- 高度なインポートオプションに対応しています。
利用ガイド
非同期インポート
インポートを実行すると、インポート処理はユーザーの手動設定なしに、独立したバックグラウンドスレッドで実行されます。ユーザーインターフェースでは、インポート操作を開始した後、右上に現在実行中のインポートタスクが表示され、リアルタイムでタスクの進捗状況を確認できます。

インポートが完了した後、インポートタスクからインポート結果を確認できます。
並行処理について
非同期タスクの並行実行によるシステムリソースの消費を制限したい場合は、以下の環境変数を使用して制御できます。
ASYNC_TASK_MAX_CONCURRENCY
非同期タスクの並行実行数を制限し ます。デフォルト値は 3 です。
ASYNC_TASK_CONCURRENCY_MODE
並行実行の制限モードを指定します。選択可能な値は app と process で、デフォルトは app です。
この環境変数の値が app の場合、各サブアプリケーションの最大並行非同期タスク実行数を ASYNC_TASK_MAX_CONCURRENCY で指定した値に制限します。
この環境変数の値が process の場合、プロセス内のすべてのサブアプリケーションの並行タスク実行数の合計が ASYNC_TASK_MAX_CONCURRENCY で指定した値を超えないように制限します。
ASYNC_TASK_WORKER_MAX_OLDとASYNC_TASK_WORKER_MAX_YOUNG
非同期タスクを実行する worker スレッドに割り当て可能な最大オールド世代ヒープメモリ(MB)とヤング世代ヒープメモリ(MB)を制限します。
パフォーマンスについて
大規模なデータインポートのパフォーマンスを評価するため、さまざまなシナリオ、フィールドタイプ、トリガー設定で比較テストを実施しました(サーバーやデータベースの構成によって結果は異なる場合がありますので、あくまで参考としてください):
上記のパフォーマンステスト結果と既存の設計に基づき、影響要因について以下の説明と提案があります:
-
重複レコードの処理メカニズム:「重複レコードを更新」または「重複レコードのみを更新」オプションを選択すると、システムはレコードを 1 件ずつ検索・更新するため、インポート効率が著しく低下します。Excel ファイルに不要な重複データが含まれている場合、インポート速度にさらに大きな影響を与えるため、インポート前に Excel ファイル内の不要な重複データをクリーンアップ(例:専門の重複排除ツールを使用)してからシステムにインポートすることをおすすめします。これにより、無駄な時間を省くことができます。
-
リレーションフィールドの処理効率:システムがリレーションフィールドを処理する際、関連付けを 1 件ずつ検索する実装方式を採用しているため、大量データのシナリオではパフォーマンスのボトルネックとなる可能性があります。シンプルなリレーション構造(例:2 つのテーブル間の一対多関連)の場合、段階的なインポート戦略をおすすめします。まずメインテーブルの基本データをインポートし、完了後にテーブル間のリレーションを確立します。ビジネス要件によりリレーションデータを同時にインポートする必要がある場合は、上記の表のパフォーマンステスト結果を参考に、インポート時間を適切に計画してください。
-
ワークフローの処理メカニズム:大規模なデータインポートのシナリオでワークフロートリガーを有効にすることは推奨されません。主な理由は以下の 2 点です:
- インポートタスクのステータスが 100% と表示されても、すぐに終了するわけではありません。システムはワークフロー実行計画の作成に追加の時間を必要とします。この段階では、システムはインポートされた各データに対応するワークフロー実行計画を生成し、インポートスレッドを占有しますが、すでにインポートされたデータの使用には影響しません。
- インポートタスクが完全に完了した後、大量のワークフローが並行実行されることでシステムリソースが逼迫し、システム全体の応答速度やユーザー体験に影響を与える可能性があります。
上記 3 つの影響要因については、今後さらなる最適化を検討していきます。
インポート設定
インポートオプション - ワークフローをトリガーするかどうか

インポート時にワークフローをトリガーするかどうかを選択できます。このオプションをチェックし、そのデータテーブルがワークフロー(データテーブルイベント)にバインドされている場合、インポートは各行に対してワークフローの実行をトリガーします。
インポートオプション - 重複レコードの識別

このオプションをチェックし、対応するモードを選択すると、インポート時に重複レコードが識別され、処理されます。
インポート設定のオプションはデフォルト値として適用されます。管理者は、アップロード者がこれらのオプション(ワークフローをトリガーするオプションを除く)を変更することを許可するかどうかを制御できます。
アップロード者の権限設定

- アップロード者がインポートオプションを変更することを許 可する

- アップロード者がインポートオプションを変更することを禁止する

モードの説明
- 重複レコードをスキップ:「識別フィールド」の内容に基づいて既存のレコードを検索し、レコードがすでに存在する場合はその行をスキップします。存在しない場合は、新しいレコードとしてインポートします。
- 重複レコードを更新:「識別フィールド」の内容に基づいて既存のレコードを検索し、レコードがすでに存在する場合はそのレコードを更新します。存在しない場合は、新しいレコードとしてインポートします。
- 重複レコードのみを更新:「識別フィールド」の内容に基づいて既存のレコードを検索し、レコードがすでに存在する場合はそのレコードを更新します。存在しない場合はスキップします。
識別フィールド
システムはこのフィールドの値に基づいて、行が重複レコードであるかどうかを識別します。

