Leistungsstarke Features in autonomen KI-Datenbanken auf dedizierter Exadata-Infrastruktur

In diesem Artikel werden die wichtigsten Features zur Leistungsoptimierung in Autonomous AI Database on Dedicated Exadata Infrastructure beschrieben.

Beachten Sie, dass in diesem Abschnitt der Begriff "Sie" allgemein verwendet wird, um jeden Benutzer in Ihrer Organisation zu bezeichnen, der für die Ausführung bestimmter Aufgaben verantwortlich ist. In einigen Fällen ist dies der Anwendungs-DBA, in anderen Fällen der Anwendungsentwickler.

Die autonome KI-Datenbank umfasst mehrere Features, mit denen die Performance Ihrer Datenbank automatisch überwacht, analysiert und optimiert wird. Eine vollständige Liste der Features für SQL Tuning und Performancemanagement von Oracle Autonomous AI Database sowie Anweisungen zu deren Verwendung finden Sie im Handbuch Oracle Database 19c SQL Tuning Guide oder im Oracle Database 26ai SQL Tuning Guide.

Eine umfassende Kategorisierung für die wichtigsten Leistungsoptimierungsfeatures der autonomen KI-Datenbank wird unten dargestellt.

Beschreibung der Abbildung hp_features.svg

Vordefinierte Datenbankservices

Die Verbindung zwischen Anwendung und Datenbank und die Codierung von SQL-Aufrufen an die Datenbank bestimmen die Gesamtperformance der Transaktionsverarbeitungs- und Berichtsvorgänge der Anwendung.

Wenn Sie Verbindungen zu Ihrer autonomen KI-Datenbank herstellen, hängt die Performance der Interaktion Ihrer Anwendung mit der Datenbank davon ab, mit welchem Datenbankservice Sie sich verbinden. Autonomous AI Database stellt mehrere Sets von Datenbankservices für die Verbindung mit der Datenbank bereit. Diese Verbindungsservices unterstützen verschiedene Arten von Datenbankvorgängen, wie unter Vordefinierte Datenbankservicenamens für autonome KI-Datenbanken beschrieben.

Tipp: Prüfen Sie die wichtigsten Eigenschaften der vordefinierten Datenbankservices und der Tabelle, in der die verschiedenen Sets von Datenbankservices basierend auf diesen Eigenschaften verglichen werden, um zu entscheiden, welcher Datenbankservice besser für die Performanceanforderungen Ihrer Anwendung geeignet ist.

Connection-Pools

Beim Herstellen von Verbindungen zu Ihrer autonomen KI-Datenbank können Sie Verbindungspools verwenden, um den Performance-Overhead beim wiederholten Erstellen und Löschen einzelner Verbindungen zu reduzieren. Dies ist ein weiterer Faktor, der große Auswirkungen auf die Performance der Interaktion Ihrer Anwendung mit der Datenbank hat.

Häufig wird die Verwendung von Verbindungspools nur beim Entwerfen oder Verbessern einer Anwendung für kontinuierliche Verfügbarkeit in Betracht gezogen. Die Verwendung von Verbindungspools anstelle einzelner Verbindungen kann jedoch fast jeder Transaktionsverarbeitungsanwendung zugutekommen. Ein Verbindungspool bietet die folgenden Vorteile:

Spezielle Verbindungsfeatures

Oracle Net Services (früher SQL*Net) bietet verschiedene Verbindungsfeatures zur Verbesserung der Performance in bestimmten Verbindungsszenarios. Diese Features werden in Oracle Database 19c Net Services Administrator's Guide oder Oracle Database 26ai Net Services Administrator's Guide beschrieben.

SQL Performance Tuning – Features

Voraussetzung für gute Anwendungen ist ein gut geschriebener SQL-Code. Oracle Autonomous AI Database bietet zahlreiche Features, mit denen Sie leistungsstarke Anwendungen erstellen und Ihren SQL- und PL/SQL-Code validieren kann. Einige dieser Funktionen sind unten aufgeführt:

Bei der Entwicklung Ihrer Anwendung können Sie schnell erfahren, wie sich diese Features auf den von Ihnen geschriebenen SQL-Code auswirken. So können Sie Ihren Code verbessern, indem Sie das SQL Worksheet verwenden, das sowohl von Oracle Database Actions (das in Ihre Autonomous AI Database integriert ist) als auch von Oracle SQL Developer (eine kostenlose Anwendung, die Sie auf Ihrem Entwicklungssystem installieren) bereitgestellt wird.

SQL-Tracing

Wenn ein Anwendungsvorgang länger als erwartet dauert, können Sie durch das Abrufen eines Traces aller SQL-Anweisungen, die als Teil dieses Vorgangs ausgeführt werden, mit Details wie der Zeit, die diese SQL-Anweisung in den Parse-, Ausführungs- und Fetch-Phasen verbracht hat, die Ursache des Performanceproblems identifizieren und beheben. Dazu können Sie das SQL-Tracing in einer autonomen KI-Datenbank verwenden.

SQL-Tracing ist in der autonomen KI-Datenbank standardmäßig deaktiviert. Sie müssen es aktivieren, um mit der Erfassung der SQL-Tracingdaten zu beginnen. Ausführliche Anweisungen zum Aktivieren und Verwenden von SQL-Tracing finden Sie unter SQL-Tracing in autonomer KI-Datenbank verwenden.

Optimizer-Statistiken

Autonomous AI Database erfasst Optimizer-Statistiken automatisch, sodass Sie diese Aufgabe nicht manuell ausführen müssen. Dadurch wird sichergestellt, dass Statistiken immer aktuell sind. Die automatische Statistikerfassung ist in Autonomous AI Database aktiviert und wird in einem Standardwartungsfenster ausgeführt.

Hinweis: Weitere Informationen zu Wartungsfensterzeiten und zur automatischen Erfassung von Optimizer-Statistiken finden Sie imAdministratorhandbuch für Oracle Database 19c oder im Administratorhandbuch für Oracle Database 26ai. Weitere Informationen zu Optimizer-Statistiken finden Sie in Oracle Database 19c SQL Tuning Guide oder Oracle Database 26ai SQL Tuning Guide.

Optimizer-Hinweise

Optimizer-Hinweise sind besondere Kommentare in einer SQL-Anweisung, die Anweisungen an den Optimizer übergeben. Der Optimizer verwendet Hinweise, um einen Ausführungsplan für die Anweisung auszuwählen, sofern das nicht durch eine bestimmte Bedingung verhindert wird.

Autonomous AI Database-Standardwerte für den Optimizer und PARALLEL-Hinweise unterscheiden sich je nach Workload:

Automatische Indexierung

Die automatische Indexierung automatisiert die Indexverwaltungsaufgaben in der autonomen KI-Datenbank. Die automatische Indexierung ist in der autonomen KI-Datenbank standardmäßig deaktiviert.

Das manuelle Erstellen von Indizes erfordert umfassende Kenntnisse in Bezug auf Datenmodell, Anwendung und Datenverteilung. In der Vergangenheit waren DBAs für die Auswahl der zu erstellenden Indizes verantwortlich. Manchmal haben die DBAs ihre Auswahl nicht geändert oder Indizes nicht beibehalten, wenn sich die Bedingungen geändert haben. Dadurch gingen Verbesserungsmöglichkeiten verloren, und die Verwendung unnötiger Indizes konnte die Performance beeinträchtigen.

Das Feature für die automatische Indexierung in Autonomous AI Database überwacht die Anwendungs-Workload und erstellt und verwaltet Indizes automatisch.

Tip: For a “try it out” alternative that demonstrates these instructions, run Lab 14: Automatic Indexing in the Oracle Autonomous AI Database Dedicated for Developers and Database Users Workshop.

Automatische Indizierung aktivieren

Automatische Indizierung deaktivieren

Verwenden Sie die Prozedur DBMS_AUTO_INDEX.CONFIGURE, um die automatische Indexierung zu deaktivieren. Beispiel: Wenn Sie die folgende Anweisung ausführen, wird die automatische Indexierung in einer Datenbank deaktiviert, sodass keine neuen automatischen Indizes erstellt werden. Die vorhandenen automatischen Indizes bleiben jedoch aktiviert.

EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF');

Weitere Informationen finden Sie unter Managing Auto Indexes im Oracle Database 19c Administrator's Guide oder im Oracle Database 26ai Administrator's Guide.

Schnelle Aufnahme

Die schnelle Aufnahme optimiert die Verarbeitung hochfrequenter, einzeiliger Dateneinfügungen in eine Datenbank. Die schnelle Aufnahme verwendet den großen Pool, um die Einfügungen zu puffern, bevor sie auf die Platte geschrieben werden, um die Performance beim Einfügen von Daten zu verbessern.

Das Ziel von Fasting ist es, Anwendungen zu unterstützen, die viele Informationsdaten generieren, die einen wichtigen Wert im Aggregat haben, aber nicht unbedingt vollständige ACID-Garantien erfordern. Viele Anwendungen im Internet der Dinge (Internet of Things, IoT) haben eine schnelle Arbeitslast vom Typ "Feuern und Vergessen", wie Sensordaten, Smart Meter-Daten oder sogar Verkehrskameras. Für diese Anwendungen können Daten für eine spätere Analyse in großen Volumes gesammelt und in die Datenbank geschrieben werden.

Die schnelle Aufnahme unterscheidet sich sehr von der normalen Oracle AI Database-Transaktionsverarbeitung, bei der Daten protokolliert werden und nie verloren gehen, wenn sie in die Datenbank geschrieben werden (d. h. festgeschrieben). Um den maximalen Aufnahmedurchsatz zu erreichen, werden die normalen Oracle-Transaktionsmechanismen umgangen. Die Anwendung muss prüfen, ob alle Daten tatsächlich in die Datenbank geschrieben wurden. Es wurden spezielle APIs hinzugefügt, die aufgerufen werden können, um zu prüfen, ob die Daten in die Datenbank geschrieben wurden.

Einen Überblick über die schnelle Aufnahme und die Schritte zur Verwendung dieses Features finden Sie unter Fast Ingest verwenden in Oracle Database 19c Performance Tuning Guide oder Oracle Database 26ai Performance Tuning Guide.

Um eine schnelle Aufnahme in Ihre autonome KI-Datenbank zu verwenden, müssen Sie:

Vordefinierte Jobklassen mit Oracle Scheduler

Die autonome KI-Datenbank enthält vordefinierte job_class-Werte für die Verwendung mit Oracle Scheduler. Mit diesen Job-Klassen können Sie Jobs, die gemeinsame Merkmale und Verhaltensweisen aufweisen, in größeren Entitys gruppieren, sodass Sie zwischen diesen Klassen Prioritäten setzen können, indem Sie die Ressourcen steuern, die jeder Klasse zugewiesen sind.

Mit vordefinierten Jobklassen können Sie sicherstellen, dass Ihre kritischen Jobs Priorität haben und genügend Ressourcen vorhanden sind. Beispiel: Damit ein kritisches Projekt ein Data Warehouse lädt, können Sie alle Data Warehousing-Jobs in einer Klasse kombinieren und sie durch die Zuweisung eines hohen Prozentsatzes der verfügbaren Ressourcen gegenüber anderen Jobs priorisieren. Sie können den Jobs innerhalb einer Jobklasse auch relative Prioritäten zuweisen.

Die vordefinierten job_class-Werte, TPURGENT, TP, HIGH, MEDIUM und LOW werden den entsprechenden Nutzungsgruppen zugeordnet. Mit diesen Jobklassen können Sie die Nutzungsgruppe angeben, in der ein Job ausgeführt wird, mit DBMS_SCHEDULER.CREATE_JOB.

Die Prozedur DBMS_SCHEDULER.CREATE_JOB unterstützt die Jobtypen PLSQL_BLOCK und STORED_PROCEDURE für den Parameter job_type in der autonomen KI-Datenbank.

Beispiel: Erstellen Sie einen einzelnen regulären Job, der in der Nutzungsgruppe HIGH ausgeführt werden soll:

BEGIN
   DBMS_SCHEDULER.CREATE_JOB (
     job_name => 'update_sales',
     job_type => 'STORED_PROCEDURE',
     job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
     start_date => '28-APR-19 07.00.00 PM Australia/Sydney',
     repeat_interval => 'FREQ=DAILY;INTERVAL=2',
     end_date => '20-NOV-19 07.00.00 PM Australia/Sydney',
     auto_drop => FALSE,
     job_class => 'HIGH',
     comments => 'My new job');
END;
/

Hinweise für Oracle Scheduler:

Weitere Informationen zu Oracle Scheduler und DBMS_SCHEDULER.CREATE_JOB finden Sie unter Jobs mit Oracle Scheduler planen in Oracle Database 19c oder Oracle Database 26ai .

Informationen zu Jobattributen finden Sie unter SET_ATTRIBUTE-Prozedur in Oracle Database 19c oder Oracle Database 26ai.

Tools für Performanceüberwachung und -optimierung

Verschiedene Situationen, wie geänderte Workloads, Ressourceneinschränkungen auf Anwendungs- und Datenbankservern oder einfach Netzwerkengpässe, können zu Problemen bei der Anwendungsperformance führen. Oracle bietet eine Vielzahl von Tools, mit denen Sie die Performance überwachen, Performanceprobleme diagnostizieren und die Anwendung oder Datenbank optimieren können, um das Problem zu lösen. Einige davon sind unten aufgeführt:

Tool Details
Performancehub Ein leicht verfügbares, funktionsreiches Tool, das in der Oracle Cloud Infrastructure-(OCI-)Konsole verfügbar ist. Der Performancehub ist auch mit Oracle Database Actions und Oracle Enterprise Manager integriert.

Weitere Informationen finden Sie unter Datenbankperformance mit Performancehub überwachen.
Metriken der autonomen KI-Datenbank Mit die Metriken der autonomen KI-Datenbank können Sie nützliche quantitative Daten messen, wie CPU- und Speicherplatzauslastung, die Anzahl erfolgreicher und nicht erfolgreiche Datenbankanmelde- und -verbindungsversuche, Datenbankvorgänge, SQL-Abfragen und -transaktionen usw. Mit Metrikdaten können Sie Probleme mit Ihren autonomen KI-Datenbankressourcen diagnostizieren und beheben.

Unter Datenbanken mit autonomen KI-Datenbankmetriken überwachen finden Sie weitere Informationen, wie Voraussetzungen, Nutzung und die Liste der Metriken, die für die autonome KI-Datenbank auf einer dedizierten Exadata-Infrastruktur verfügbar sind.
Automatic Workload Repository (AWR) und Automatic Database Diagnostic Monitor (ADDM) Zwei weitere häufig verwendete Tools sind Automatic Workload Repository (AWR) und Automatic Database Diagnostic Monitor (ADDM).

AWR speichert performancebezogene Statistikinformationen für eine Oracle-Datenbank. ADDM ist ein Diagnosetool, das die AWR-Daten regelmäßig analysiert, die Ursachen von Performanceproblemen ermittelt, Empfehlungen zur Behebung der Probleme bereitstellt und unproblematische Bereiche des Systems identifiziert. Da AWR ein Repository historischer Performancedaten ist, kann ADDM Performanceprobleme nach dem Ereignis analysieren. Dies spart häufig Zeit und Ressourcen bei der Reproduktion eines Problems.

Anweisungen zur Verwendung dieser Tools sowie detaillierte Informationen zur Überwachung und Optimierung der Datenbankperformance finden Sie in der Dokumentation Oracle Database 19c Performance Tuning Guide oder in der Dokumentation Oracle Database 26ai Performance Tuning Guide.

AWR und ADDM sind auch über Performancehub verfügbar. Weitere Informationen finden Sie unter Datenbankperformance mit Performancehub überwachen.

Eine kurze Einführung in die Überwachung und Optimierung der Datenbankperformance finden Sie in der Dokumentation Oracle Database 19c 2 Day + Performance Tuning Guide oder in der Dokumentation Oracle Database 26ai 2 Day + Performance Tuning Guide.