Cache-Empfehlungen in der Data Virtualization

Letzte Aktualisierung: 17. März 2025
Cache-Empfehlungen in der Data Virtualization

Anhand eines Eingabesatzes von Abfragen empfiehlt die Data Virtualization eine Rangliste von Daten-Caches, die die Leistung der Eingabeabfragen verbessern und potenziell zukünftige Abfrage-Workloads unterstützen können.

Bei den Eingabeabfragen handelt es sich um Abfragen, die an einer beliebigen Stelle innerhalb des vorherigen Tages bis zu den vorherigen 15 Tagen ausgeführt wurden und eine Ausführungszeit von mindestens einer Minute haben müssen. Die Empfehlungen gelten als 1 Tag gültig, nach dem sie sich ändern können, wenn sich die Abfrageworkload ändert.

  1. Die Recommendation-Engine für Cache wendet beim Generieren von Empfehlungen zwei Modelle an.
    • Beim regelbasierten Modell wird mithilfe hoch entwickelter heuristischer Verfahren ermittelt, welche Cachekandidaten hilfreich für die Eingabe-Abfrageworkload sind.
    • Bei dem auf maschinellem Lernen basierenden Modell wird ein vortrainiertes Modell für maschinelles Lernen verwendet, das die zugrunde liegenden Abfragemuster erkennt und eine Vorhersage zu den Caches trifft, die hilfreich für eine potenzielle zukünftige Abfrageworkload sein können.

    Bei beiden Modelle wird eine Rangliste der Cachekandidaten erzeugt. Diese Ranglisten werden von der Engine konsolidiert, um eine endgültige Gruppe von Empfehlungen zu generieren. Sie können auswählen, ob auf maschinellem Lernen basierende Cacheempfehlungen aktiviert oder inaktiviert werden sollen. Standardmäßig sind auf maschinellem Lernen basierende Cacheempfehlungen aktiviert.

    Zusätzlich zu den Empfehlungen für die Cacheerstellung generiert die Engine auch an der vorherigen Nutzung und anderen Metriken ausgerichtete Empfehlungen für das Inaktivieren und Löschen von Caches. Diese Empfehlungen werden auf der Registerkarte für Aktive und Inaktive Caches für vorhandene Caches angezeigt.

  2. Bei den auf maschinellem Lernen basierenden Cache-Empfehlungen werden die zugrunde liegenden Abfragemuster berücksichtigt und Cacheprognosen erzeugt, die für einen Tag gültig sind.

    Bei Data Virtualization wird ein vorab trainiertes Modell verwendet, das auf einem Industriestandard-Datensatz trainiert wurde.

    Sie können auswählen, ob auf maschinellem Lernen basierende Cacheempfehlungen aktiviert oder inaktiviert werden sollen.

  3. Die Recommendation-Engine konsolidiert die Empfehlungen und erstellt die endgültige Gruppe von Empfehlungen anhand beider Modelle. Der Manager kann dann Datencaches aus diesen Empfehlungen hinzufügen.

Data Virtualization bietet eine Engine zur Erstellung einer Rangliste von Empfehlungen. Die Rangfolge der Empfehlungen zur Cache-Erstellung wird durch die Ausführungszeit von Abfragen, die Häufigkeit dieser Abfragen in der Eingabe-Arbeitslast und die Gewichtung der beiden Modelle bestimmt. Die Engine ist voll bewusst und empfiehlt nicht die Erstellung vorhandener Caches. Außerdem empfiehlt die Engine nicht die Erstellungdoppelter Caches.

Der Prozess zum Generieren von Cacheempfehlungen besteht aus fünf Phasen, wie in derfolgenden Abbildung dargestellt:

Abb. 1. Prozess für Cacheempfehlungen - Übersicht
Übersicht über die Phasen, die an der Generierung von Cacheempfehlungen beteiligt sind

Erfassen
Die Empfehlungsmaschine wählt eine Reihe von Kundenanfragen aus, deren Leistung verbessert werden muss und für die Caches empfohlen werden könnten. Von der Recommendation-Engine für Caches werden z. B. Informationen wie Abfragetext, Ausführungszeit, Kardinalität, Zeitmarke und Häufigkeit für den angegebenen Zeitraum erfasst.
Die folgende Abbildung zeigt, wie Abfragen aus archivierten Workloadsgefiltert werden, um die endgültige Abfragegruppe als Eingabe für die Recommendation-Enginezusammenzustellen:
Abbildung 2: Stage "Collection" im Cacheempfehlungsprozess.
Stage 'Collect' im Cacheempfehlungsprozess.
Die Einstellungen für die Cache-Konfiguration werden durch ' Data Virtualization ' Manager und ' Cache-Empfehlungen konfigurieren ' definiert.
Extrahieren
Die Recommendation-Engine generiert potenzielle Cachekandidaten für die Eingabe-Abfrageworkload.
Übersetzen
Die Recommendation-Engine konvertiert und konsolidiert die Kandidaten, um sicherzustellen, dass sie syntaktisch und semantisch korrekt, eindeutig sind und alle Db2 -Einschränkungen erfüllen.
Bewerten
Der Motor wertet die umgewandelten Definitionen aus, indem er jeden Cache-Kandidaten mit der Arbeitslast der Eingabeabfrage vergleicht, um ihre Effektivität, ihren Rang und ihre Sortierung zu bestimmen. Außerdem wird für das Scoring des Modells für maschinelles Lernen ein hochdimensionaler Merkmalvektor für jeden Kandidaten erstellt.
Abb. 3 Bewertungsstufe im Prozess für Cacheempfehlungen.
Evaluierungsstufe des Prozesses zum Generieren von Cacheempfehlungen.
Als Ergebnis der Auswertung erstellt die Recommendation-Engine einen Übereinstimmungswertfür jeden Cachekandidaten. Die Bewertung jedes Kandidaten basiert auf den folgenden Kriterien.
  • Übereinstimmung : Anzahl der Abfragen, die mit dem Cache-Kandidaten übereinstimmen.
  • Vielfalt : Verschiedene Abfragen, die mit dem Cache-Kandidaten übereinstimmen.
  • Kardinalität : Größe der Ergebnismenge, die der Cache-Kandidat abgerufen hat.
  • Leistung : Ausführungszeit von Abfragen, die mit dem Cache-Kandidaten übereinstimmen.
Rang und Sortierung
Die Recommendation-Engine sortiert die Cachekandidaten und stuft sie in eine Rangfolge ein,um die endgültige Liste der Empfehlungen zu erstellen. Die endgültige Liste der Empfehlungen wird anhand der folgenden Kriterien erstellt.
  • Die Kandidaten werden anhand eines gewichteten Messwerts sortiert, der die Ausführungsdauer und -häufigkeit der Abfragen berücksichtigt.
  • Die gleichrangige Einstufung von Kandidaten wird auf der Basis von Abfragehäufigkeit und -kardinalität vermieden.
Abbildung 4. Stage des "Ranking und Sortierung" im Prozess für Cacheempfehlungen.
Rangfolge und Sortierung von Cacheempfehlungen