2025年5月にkrewDataのアップデートを行いました。
本アップデートではデータ編集フロー実行処理のパフォーマンス改善を行っており、入力レコード数が1万件以下の場合に処理速度が速くなる可能性があります。
※当社にて入力レコード数やフィールド数の複数組合せによるパフォーマンステストを行った結果から算出した平均値となります。

これまでkrewDataを試す中で処理速度が気になっていた方には、ぜひこの機会に改めてkrewDataをお試しいただきたいです!
krewDataのパフォーマンスに関する考え方
ところで、krewDataの処理速度(パフォーマンス)がどういう要素や条件で変動するのか知っていますか?今回のアップデートには直接関連しませんが、krewDataを扱う際に知っておきたいポイントになりますので読み物として続けてご覧ください。
krewDataでデータ編集フローを実行する際の処理速度は下記4つの要素によって変動します。今回は①に伴う内部処理を最適化することで性能改善を行いました。
この①~④が複合的に作用して実行処理の早さが決まります。そのため、今回のアップデートで改善がされたものの、それ以外のポイントでもさらに改善できる要素があるかもしれません。
1と3について取り上げて解説します。

①データ量
krewDataでは入力アプリコマンドが読み込んだレコードをすべて処理します。
そのため、たくさんのレコード数やフィールド数が選択されているとそれだけ処理に負荷がかかります。入力アプリのフィルタ機能を使用すると、読み込むデータ自体を絞ることができます。
【設定例1】 レコード数:アプリに10年分のレコードが登録されている場合に、必要な年数分にだけ絞る
今年度のレコードを対象に集計を行う際のフィルタ設定例です。「日付」フィールドに「2018年4月1日以降」のフィルタを設定し参照する情報を絞ります。
【設定例2】 フィールド数:処理に必要なフィールドだけに絞り込む
レコード数と同様に、アプリのフィールド数も処理時間に影響を与える要因となります。入力アプリコマンドで集計・加工に必要なフィールドのみを選択することを推奨します。
参考ページ:https://docs.krew.mescius.jp/krewdata/#krewdata_hint.html
③出力方法
出力アプリコマンドには、再生成/更新/追加の3種類の出力方法があります。
- 更新:指定された更新キーにより結果データのレコードを一意に識別し、一致するレコードを更新、または新規レコードとして追加
- 再生成:出力アプリに存在するすべてのレコードを削除し、データ編集フローの結果データを出力
- 追加:データ編集フローの結果データを出力アプリに追加
「再生成」は出力アプリに存在するすべてのレコードをすべて削除し、データ編集フローの結果データを再出力します。実際に更新が必要なレコードが全レコードではない場合は、必要以上のレコード数を処理していることになります。
こういった場合、出力方法に「更新」を設定することを検討してください。「更新」は出力アプリのレコードのうち、変更があったレコードのみを更新できるものです。

参考ページ:https://docs.krew.mescius.jp/krewdata/#command_output_app.html