Process Mining
2021.10
バナーの背景画像
Process Mining
最終更新日 2024年4月2日

アプリケーションでシャーディングを使用する

はじめに

シャーディングは、プロセス マイニング アプリケーションのパフォーマンスを向上させる革新的なソリューションです。 つまり、シャーディングによって、イベント ログのデータが「シャード」と呼ばれる小さな部分に分割されます。 各シャードが小さいほど、速度は上がります。

シャードの場合、エンドユーザーは関心のあるデータの適用可能な部分のみを考慮します。 ユーザーがアプリケーションにログインすると、該当するデータ シャードだけが読み込まれます。

シャードの種類

シャードは、次の 2 つの異なる種類に分けられます。

  • 通常のシャード -詳細レベルでデータの一部が含まれます。
  • ベンチマーク済みのシャード。すべてのデータを集約した概要レベルの表示が含まれます。

標準のシャードを作成する方法やベンチマーク用のシャードを作成する手法は複数存在します。 通常のシャードは、ケースの属性に基づいてデータを分割することで作成できます。 ベンチマークのシャードは全シャードのデータと結合されます。 通常、データの詳細レベルは、事前集約、フィルタリング、またはサンプリングを使用して低減されます。

通常のシャード

シャーディングの属性の例としては、企業コードがあり、各シャードには単一の会社コードに属するすべてのケースが含まれます。 データセットに 10 個の企業コードが必要な場合、すべてのシャードの速度は元のシャードの約 10 倍になります (等しい分割が想定される)。

以下の画像でご確認ください。



ベンチマークのシャード

データを個別のシャードに分割するほかに、すべてのデータのより高いレベルの表示を含む概要のシャード (「ベンチマークのシャード」) を作成すると便利です。

複数の方法で設定できます。

  • 値や属性を事前に集約することにより、詳細な分析を行うことができますが、シャード間の差異を引き続き比較することができます。
  • きめ細かいイベントをフィルター処理して詳細レベルを下げると、粗いレベルのプロセスを比較できるようになります。
  • フィルター処理: すべてのイベント データを削除して、タグとそれぞれのケースのみを保持できます。これにより、複数のシャードに対するタグを比較できます。
  • サンプリングによって、データセット内のケースをサンプルして、ケースの一部のみを保持し、ケースの代表的なサンプルをベンチマークデータセットとして保持できます。

異なる方法を使用して、複数のベンチマークシャードを設定することもできます。

コネクタを設定する

通常のシャード

シャード化を使用する場合でも、ETL には 1 つのコネクタを使用できます。 そのためには、作成するシャードごとに 1 つのモジュールを使用して、アプリケーション モジュールを設定します。

表のスコープが「current user」に設定されたシステム テーブルをコネクタ内に追加して 、ActiveApplicationCodeを取得します。つまり、現在アクティブなモジュールが指定されます。 この属性をシステム表から使用して、データ読み込みの条件を作成できます。

ケースの種類を使用してシャーディングを適用する場合は、 ActiveApplicationCode 属性に基づいて式 Case_Type_Shard を設定して、どのケースの種類がどのアプリケーション コードに属しているかを判断します。次に、 cases_base テーブルで、結合条件を次に設定します。

Cases_preprocessing where Case_type_Shard = Case_type

これにより、現在のシャードに属するケースの種類を持つケースのみが、最終的な出力として渡されるようになります。

また、現在のシャード内のケースに属するイベントのみが出力に含まれていることを確認する必要があります。 したがって、 events_preprocessing テーブル内で、 cases_base テーブルの検索式を作成して、選択したシャードにケースが含まれているかどうかを確認します。

以下の画像でご確認ください。



この式属性は、表を events_base 結合条件で式と組み合わせて使用します。

Events_preprocessing where Case_in_shard.

ベンチマークのシャード

ベンチマークシャードは ActiveApplicationCode 属性を使用して設定することもできます。 フィルター処理は、使用するベンチマークのシャードの種類によって異なり、通常のシャードの場合は上記と同様です。

アプリケーションのセットアップ

シャーディング用にアプリケーションを設定するには、シャードごとに 1 つのモジュールも必要です。 これらのモジュールは、コネクタのモジュール コードと同じコードを持つ必要があります。

さらに、使用するベンチマークシャードの種類によっては、標準のシャードとベンチマークシャードのデータ構造が異なる場合があります。 この場合、ベンチマークシャードには別のアプリケーションが必要です。

データを再読み込みする

複数のモジュールを使用しているため、すべてのコネクタ モジュールのデータが同じデータセットに終わるように、スクリプトを使用してデータを再読み込みする必要があります。 こうすることで、アプリケーションは、開かれたモジュールに基づいて、検討するデータの部分を把握します。 スクリプトを再読み込みするための「 自動データ更新を設定 する」をご覧ください。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.