[論文レビュー] Graph or Relational Databases: A Speed Comparison for Process Mining Algorithm
本稿では、プロセスマイニングで用いられる2つの組織マイニングアルゴリズム—Similar-TaskおよびSub-Contract—の実装に、リレーショナルデータベース(MySQL)とグラフデータベース(Neo4j)の性能を比較している。関係性に依存するタスク、たとえばサブコントラクト検出において、Neo4jはMySQLに比べ最大7倍速くクエリ実行を実現している一方、MySQLは書き込み処理および類似度計算において高速であり、Neo4jはI/O効率およびキャッシュ性能に優れていることを示している。
Process-Aware Information System (PAIS) are IT systems that manages, supports business processes and generate large event logs from execution of business processes. An event log is represented as a tuple of the form CaseID, TimeStamp, Activity and Actor. Process Mining is an emerging area of research that deals with the study and analysis of business processes based on event logs. Process Mining aims at analyzing event logs and discover business process models, enhance them or check for conformance with an a priori model. The large volume of event logs generated are stored in databases. Relational databases perform well for certain class of applications. However, there are certain class of applications for which relational databases are not able to scale. A number of NoSQL databases have emerged to encounter the challenges of scalability. Discovering social network from event logs is one of the most challenging and important Process Mining task. Similar-Task and Sub-Contract algorithms are some of the most widely used Organizational Mining techniques. Our objective is to investigate which of the databases (Relational or Graph) perform better for Organizational Mining under Process Mining. An intersection of Process Mining and Graph Databases can be accomplished by modelling these Organizational Mining metrics with graph databases. We implement Similar-Task and Sub-Contract algorithms on relational and NoSQL (graph-oriented) databases using only query language constructs. We conduct empirical analysis on a large real world data set to compare the performance of row-oriented database and NoSQL graph-oriented database. We benchmark performance factors like query execution time, CPU usage and disk/memory space usage for NoSQL graph-oriented database against row-oriented database.
研究の動機と目的
- 一貫したSQL構文のみを用いて、行指向のリレーショナルデータベース(MySQL)におけるSimilar-TaskおよびSub-Contractアルゴリズムの実装を調査すること。
- ネイティブなCYPHERクエリを用いて、グラフ指向のデータベース(Neo4j)におけるこれらのアルゴリズムの適応を検討すること。
- クエリ実行時間、CPU使用率、ディスクI/O、メモリ使用率の各指標において、両データベースの性能を実証的にベンチマークし、比較すること。
- プロセスマイニングで一般的に見られる実際のデータワークロードを想定し、両システムのスケーラビリティおよび効率性を評価すること。
- 特に関係性の走査と計算集約的処理の両者に応じた、組織マイニングタスクの性質に応じた最適なデータベース選定を決定すること。
提案手法
- 標準SQLクエリおよび高度なストアドプロシージャを用いて、MySQLにおけるSimilar-Taskアルゴリズムを実装し、1ティアアプリケーションとして扱う。
- ネイティブなCYPHERクエリ言語を用いて、Neo4jにおけるSimilar-Taskアルゴリズムを実装し、グラフネイティブな走査機能を活用する。
- 両データベースにおいて、それぞれSQLおよびCYPHERのみを用いてSub-Contractアルゴリズムを実装し、公平な比較を実現する。
- 両データベースに対してJava APIを用い、メモ化を適用して、メモリ内計算ワークロード下での性能を評価する。
- 大規模な実世界のイベントログデータセットを用いた実験を行い、クエリ実行時間、CPU使用率、ディスクI/O、メモリ使用率、ページフォールト数を測定する。
- システム監視ツール(例:Performance Monitor)を活用して、両データベースシステム間での低レベルリソースメトリクスを収集・比較する。
実験結果
リサーチクエスチョン
- RQ1MySQLとNeo4jにおけるSimilar-Taskアルゴリズムのクエリ実行時間およびリソース使用率の観点での性能差は何か?
- RQ2関係性の走査に特化したサブコントラクト検出において、Neo4jとMySQLのSub-Contractアルゴリズムの性能はどのように異なるか?
- RQ3大規模なデータ処理において、MySQLとNeo4jの両者の中でI/O効率およびキャッシュ動作に優れているのはどちらか?
- RQ4イベントログデータのインジェストおよびストレージに際して、MySQLとNeo4jの相対的な書き込み性能特性は何か?
- RQ5同じデータセットおよびアルゴリズムにおいて、MySQLのテーブルとNeo4jのグラフ要素の間でディスク使用量はどのように異なるか?
主な発見
- ユニークな要素のみを生成する場合、Neo4jはMySQLに比べ1.25倍速く大規模データセットのロードを実行しており、重複が少ないデータインジェストにおいて優れたパフォーマンスを示している。
- MySQLはNeo4jに比べ1.5倍速く書き込み処理を実行しており、データ挿入および更新ワークロードにおいて優れたパフォーマンスを発揮している。
- Similar-Taskアルゴリズムにおける類似度計算は、MySQLがNeo4jに比べ32倍速く、MySQLの計算集約的タスク処理における強みを示している。
- サブコントラクトを検出するための関係性走査は、Neo4jがMySQLに比べ7倍速く、Neo4jの関係性集約的クエリ処理における優位性を実証している。
- Neo4jは18倍高いキャッシュ効率を達成し、MySQLに比べ6倍少ないディスクI/Oを発生させ、ディスク操作に要する時間が10倍短い。
- インデックスフリーのアドセンシーおよびプロパティストレージによるディスク使用量の増加にもかかわらず、ユニークなグラフ要素に対してはNeo4jはMySQLに比べ12倍少ないディスク容量を消費するが、重複要素を含むデータセットでは30倍以上も使用量が増加する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。