Mam ciągły strumień wiadomości, które są analizowane. Analiza zwraca różne zmienne, takie jak autor, temat, sentyment, liczba słów i zestaw odrębnych słów. Użytkownicy w systemie są w stanie zdefiniować reguły, które powinny wywołać alert, gdy są dopasowane. Reguły powinny być przechowywane w bazie danych SQL. Reguła jest połączeniem pojedynczych kryteriów z analizą wiadomości, tj. word-count > 15 && topic = 'StackOverflow' && sentiment > 2.0 && word-set contains 'great'
. Każde dozwolone kryterium jest podawane na końcu analizy wiadomości, po czym zostanie uruchomione sprawdzanie poprawności reguł i zaimplementowane w Javie.Wzór do ciągłego porównywania reguł
Każda wiadomość musi być sprawdzona pod kątem wszystkich reguł zdefiniowanych przez wszystkich użytkowników w systemie, który wymaga dużej mocy obliczeniowej (obecnie 10 wiadomości na sekundę i 10 000+ reguł do sprawdzenia). Czy istnieje wspólny wzorzec przyspieszenia procesu dopasowywania, być może dlatego, że reguły można sprawdzać równolegle, z wyjątkiem pojedynczych elementów? Czy można to zrobić w czystym SQL, jak wyglądałby schemat dla reguł różnych typów?
SQL jest typowy dla relacyjnych baz danych. Gdzie jest relacyjna baza danych w tym systemie? –
gdzie są te reguły przechowywania, które są zdefiniowane przez użytkownika? – sourcecode
Czy każda wiadomość zawiera wszystkie pola, które są potrzebne do rozwiązania dowolnej/wszystkich reguł? –