私は、分析されるメッセージの連続ストリームを持っています。この分析では、著者、トピック、感想、単語数、別個の単語のセットなど、さまざまな変数が返されます。システム内のユーザーはルールを定義することができ、ルールが一致するとアラートをトリガーする必要があります。ルールはSQLデータベースに格納する必要があります。ルールは、メッセージ分析の単一の基準、すなわちword-count > 15 && topic = 'StackOverflow' && sentiment > 2.0 && word-set contains 'great'
を組み合わせたものです。許可された各ルール基準は、メッセージ分析の最後に提供されます。その後、ルールの検証がトリガーされ、Javaで実装されます。連続ルールマッチングのパターン
システム内のすべてのユーザによって定義されたすべてのルールについて、すべてのメッセージをチェックする必要があります。これは多くの計算能力を必要とします(現在10 +メッセージ/秒があり、チェックするルールは10.000+になります)。マッチング処理を高速化する共通のパターンはありますか?1つ1つを除いて、ルールを並行してチェックすることができるでしょうか?純粋なSQLでこれを行うことは可能ですか?異なるタイプのルールのスキーマはどのように見えますか?
SQLは、通常、リレーショナルデータベース用です。このシステムのリレーショナルデータベースはどこにありますか? –
ユーザが定義したルールはどこに保存されていますか? – sourcecode
各メッセージには、すべてのルールを解決するために必要なすべてのフィールドが含まれていますか? –