Ich habe camunda evaluierte Tage zu nutzen eingebettet in meinem Tomcat-Anwendung für ein paar, aber ich habe einige Performance Sorgen in Bezug auf Abtretungs und Variablen erhöhen, weiter mein Repository filtern . Es gibt einige einfache Anwendungsszenarien, die für mich von praktischem Nutzen sind:Leistung und Indizes in Camunda Prozess-Repository
1) Filtern Sie alle aktiven Aufgaben, die einem bestimmten Benutzer zugewiesen sind.
2) Filtern Sie alle aktiven Prozessinstanzen, die einem Kunden zugeordnet sind.
3) Filtern Sie alle aktiven Aufgaben von Prozessinstanzen, die einem Kunden zugeordnet sind.
Also meine größeren Bedenken sind:
a - Kann ich mich verlassen Anwendungsfall 1 Datenbankindizes auf Abtretungsempfänger, die mit einer stark bevölkerten Aufgabentabelle in der Zukunft gut durchführen werden?
b - Zum Anwendungsfall 2, werde ich hinzufügen, die Kunden-ID als Prozessebene Variable meine Prozessinstanzen um sich weiter zu filtern zu erreichen. Sind Variablen auch indiziert - vorausgesetzt, die Beauftragten sind? (Sagen wir, ich muss 20 Prozesse in einer 1 Million Prozesstabelle abfragen, die eine gegebene Variable gesetzt haben)
c - Schließlich, aus einer Sicht der Leistung, sollte ich replizieren die Kunden-ID-Variable in jeder Aufgabe und dann sie filtern, ohne die entsprechenden Prozessinstanzen zu prüfen?
ps1: Ich benutze Postgres-Datenbank als Repository und habe kein vollständiges Verständnis der zugrunde liegenden Struktur und Indizes unter der BPM-Engine. Wenn ein gewisses Verständnis erforderlich ist, um Indizes zu erstellen, die standardmäßig nicht verfügbar sind, würde ich mir einige Hinweise darüber überlegen, an welchen Tabellen/Spalten ich arbeiten sollte.
ps2: Ich habe es nicht mit einer kritischen gleichzeitigen Software zu tun, aber wird in naher Zukunft möglicherweise eine große Datenbanklast haben.
Betrachten Sie die "businessKey" unter Verwendung von Prozessen und Aufgaben für einen Kunden-ID zu identifizieren. –