Caractéristiques de haute performance d'une base de données autonome avec intelligence artificielle sur une infrastructure Exadata dédiée

Cet article décrit les principales fonctions de réglage de la performance de la base de données autonome avec intelligence artificielle sur une infrastructure Exadata dédiée.

Notez que tout au long de cette section, le terme " vous " est généralement utilisé pour désigner tout utilisateur de votre organisation qui a la responsabilité d'effectuer certaines tâches. Dans certains cas, c'est le DBA de l'application, dans d'autres, c'est le développeur de l'application.

Autonomous AI Database comprend plusieurs fonctions qui surveillent, analysent et optimisent automatiquement les performances de votre base de données. Pour obtenir la liste complète des fonctions de réglage SQL et de gestion de la performance d'Oracle Autonomous AI Database, ainsi que des instructions sur leur utilisation, voir Oracle Database 19c SQL Tuning Guide ou Oracle Database 26ai SQL Tuning Guide.

Vous pouvez voir une large catégorisation pour les principales fonctions de réglage de la performance de Autonomous AI Database décrites ci-dessous.

Description de l'illustration hp_features.svg

Services de base de données prédéfinis

La façon dont votre application se connecte à votre base de données et celle dont vous codez les appels SQL à la base de données déterminent la performance globale des opérations de traitement des transactions et de production de rapports de votre application.

Lorsque vous établissez des connexions à votre base de données d'IA autonome, les performances de l'interaction de votre application avec la base de données dépendent du service de base de données auquel vous êtes connecté. Autonomous AI Database fournit plusieurs jeux de services de base de données à utiliser lors de la connexion à votre base de données. Ces services de connexion sont conçus pour prendre en charge différents types d'opération de base de données, comme décrit sous Noms de service de base de données prédéfinis pour les bases de données IA autonomes.

Conseil : Vérifiez les caractéristiques clés des services de base de données prédéfinis et le tableau qui compare les différents jeux de services de base de données en fonction de ces caractéristiques pour déterminer quel service de base de données est le plus approprié pour les exigences de performance de votre application.

Réserves de connexions

Lorsque vous établissez des connexions à votre base de données d'intelligence artificielle autonome, vous pouvez utiliser des réserves de connexions pour réduire la surcharge de performance liée à la création et à la destruction répétées de connexions individuelles. Il s'agit d'un autre facteur qui a une grande incidence sur les performances de l'interaction de votre application avec la base de données.

Bien souvent, l'utilisation de réserves de connexions n'est envisagée que lors de la conception ou de l'amélioration d'une application pour assurer la disponibilité continue. Toutefois, l'utilisation de réserves de connexions au lieu de connexions individuelles peut présenter des avantages pour presque toutes les applications de traitement de transactions. Une réserve de connexions offre les avantages suivants :

Fonctions de connexion à usage spécifique

Oracle Net Services (précédemment appelé SQL*Net) fournit diverses fonctions de connexion qui améliorent la performance dans des scénarios de connexion spécifiques. Ces fonctions sont décrites dans le guide de l'administrateur d'Oracle Database 19c Net Services ou dans le guide de l'administrateur d'Oracle Database 26ai Net Services.

Fonctionnalités de réglage des performances SQL

Il n'y a pas d'application performante sans code SQL bien écrit. Oracle Autonomous AI Database offre de nombreuses fonctions qui vous permettent de créer des applications haute performance et de valider votre code SQL et PL/SQL. Certaines de ces fonctionnalités sont énumérées ci-dessous :

Au fur et à mesure que vous développez votre application, vous pouvez rapidement apprendre comment ces fonctions affectent le code SQL que vous écrivez, et ainsi améliorer votre code à l'aide de la feuille de calcul SQL fournie par Oracle Database Actions (intégrée à votre base de données d'IA autonome) et Oracle SQL Developer (application gratuite que vous installez sur votre système de développement).

Traçage SQL

Lorsqu'une opération d'application prend plus de temps que prévu, l'obtention d'une trace de tous les énoncés SQL exécutés dans le cadre de cette opération avec des détails tels que le temps passé par cet énoncé SQL dans les phases d'analyse, d'exécution et d'extraction vous aidera à identifier et à résoudre la cause du problème de performance. Pour ce faire, vous pouvez utiliser la fonction de trace SQL sur une base de données autonome d'IA.

La trace SQL est désactivée par défaut dans Autonomous AI Database. Vous devez l'activer pour commencer à collecter les données de trace SQL. Reportez-vous à Utiliser la fonction de suivi SQL sur la base de données d'IA autonome pour obtenir des instructions détaillées pour activer et utiliser la fonction de suivi SQL.

Statistiques de l'optimiseur

Autonomous AI Database collecte automatiquement les statistiques de l'optimiseur afin que vous n'ayez pas à effectuer cette tâche manuellement, ce qui vous permet de vous assurer que vos statistiques sont à jour. La collecte automatique des statistiques est activée dans Autonomous AI Database et s'exécute dans une fenêtre de maintenance standard.

Note : Pour plus d'informations sur les heures de la fenêtre de maintenance et la collecte automatique des statistiques de l'optimiseur, voir Oracle Database 19c Administrator's Guide ou Oracle Database 26ai Administrator's Guide. Pour plus d'informations sur les statistiques de l'optimiseur, voir Oracle Database 19c SQL Tuning Guide ou Oracle Database 26ai SQL Tuning Guide.

Conseils de l'optimiseur

Les conseils de l'optimiseur sont des commentaires spéciaux dans un énoncé SQL qui fournissent des instructions à l'optimiseur. L'optimiseur utilise des conseils pour choisir un plan d'exécution pour l'énoncé, sauf si une condition donnée l'en empêche.

Les valeurs par défaut de la base de données d'intelligence artificielle autonome pour l'optimiseur et les conseils PARALLEL diffèrent selon votre charge de travail :

Indexation automatique

L'indexation automatique automatise les tâches de gestion d'index dans Autonomous AI Database. L'indexation automatique est désactivée par défaut dans la base de données autonome avec intelligence artificielle.

La création manuelle d'index nécessite une connaissance approfondie du modèle de données, de l'application et de la répartition des données. Par le passé, les administrateurs de base de données étaient chargés de sélectionner les index à créer. Il arrivait qu'ils ne modifient pas leurs choix ou qu'ils ne tiennent pas les index à jour en cas de changement de situation. En conséquence, des possibilités d'amélioration étaient perdues et l'utilisation d'index inutiles pouvait entraîner une dégradation de la performance.

La fonction d'indexation automatique dans Autonomous AI Database surveille la charge de travail de l'application et crée et tient à jour les index automatiquement.

Conseil : Pour une alternative "Essayez-le" qui présente ces instructions, exécutez Laboratoire 14 : Indexation automatique dans l'atelier Oracle Autonomous AI Database Dedicated for Developers and Database Users.

Activer l'indexation automatique

Désactiver l'indexation automatique

Utilisez la procédure DBMS_AUTO_INDEX.CONFIGURE pour désactiver l'indexation automatique. Par exemple, l'exécution de l'énoncé ci-dessous désactive l'indexation automatique dans une base de données afin qu'aucun nouvel index automatique ne soit créé. Toutefois, les index automatiques existants restent activés.

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

Pour plus d'informations, voir Gestion des index automatiques dans le guide de l'administrateur d'Oracle Database 19c ou le guide de l'administrateur d'Oracle Database 26ai.

Ingestion rapide

L'ingestion rapide optimise le traitement des insertions de données monolignes à haute fréquence dans une base de données. L'ingestion rapide utilise la zone de mémoire LARGE POOL pour mettre en mémoire tampon les insertions avant de les écrire sur disque, afin d'améliorer les performances des insertions de données.

L'objectif de fast-ingest est de prendre en charge les applications qui génèrent de nombreuses données d'information qui ont une valeur importante dans l'ensemble, mais qui ne nécessitent pas nécessairement des garanties ACID complètes. De nombreuses applications dans l'Internet of Things (IoT) ont une charge de travail de type "feu et oubli" rapide, telle que les données de capteurs, les données de compteurs intelligents ou même les caméras de surveillance. Pour ces applications, les données peuvent être collectées et écrites dans la base de données en volumes élevés pour une analyse ultérieure.

L'ingestion rapide est très différente du traitement normal des transactions Oracle AI Database où les données sont enregistrées et ne sont jamais perdues une fois "écrites" dans la base de données (c'est-à-dire validées). Afin d'atteindre le débit d'ingestion maximal, les mécanismes de transaction Oracle normaux sont ignorés et il incombe à l'application de vérifier que toutes les données ont bien été écrites dans la base de données. Des API spéciales ont été ajoutées qui peuvent être appelées pour vérifier si les données ont été écrites dans la base de données.

Pour obtenir un aperçu de l'ingestion rapide et des étapes impliquées dans l'utilisation de cette fonction, consultez Utilisation de l'ingestion rapide dans le Guide de réglage de la performance d'Oracle Database 19c ou le Guide de réglage de la performance d'Oracle Database 26ai.

Pour utiliser l'ingestion rapide avec votre base de données Autonomous AI Database, vous devez :

Classes de travail prédéfinies avec Oracle Scheduler

Autonomous AI Database inclut des valeurs job_class prédéfinies à utiliser avec Oracle Scheduler. Ces classes de travail vous permettent de regrouper des tâches qui partagent des caractéristiques et un comportement communs dans des entités plus grandes afin que vous puissiez hiérarchiser ces classes en contrôlant les ressources affectées à chaque classe.

Avec des classes de travail prédéfinies, vous pouvez vous assurer que vos travaux critiques ont la priorité et suffisamment de ressources pour être terminés. Par exemple, pour un projet critique de chargement d'un entrepôt de données, vous pouvez combiner toutes les tâches d'entreposage de données dans une classe et hiérarchiser celle-ci par rapport aux autres tâches en affectant un pourcentage élevé des ressources disponibles. Vous pouvez également affecter des priorités relatives aux emplois d'une classe.

Les valeurs job_class prédéfinies, TPURGENT, TP, HIGH, MEDIUM et LOW sont mappées aux groupes de consommateurs correspondants. Ces classes de travail vous permettent de spécifier le groupe de consommateurs de ressources dans lequel une tâche est exécutée avec DBMS_SCHEDULER.CREATE_JOB.

La procédure DBMS_SCHEDULER.CREATE_JOB prend en charge les types de tâche PLSQL_BLOCK et STORED_PROCEDURE pour le paramètre job_type dans la base de données d'intelligence artificielle autonome.

Par exemple, utilisez les éléments suivants pour créer une seule tâche standard à exécuter dans le groupe de consommateurs de ressources HIGH :

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;
/

Notes pour Oracle Scheduler :

Voir Planification de travaux avec Oracle Scheduler dans Oracle Database 19c ou Oracle Database 26ai pour plus d'informations sur Oracle Scheduler et DBMS_SCHEDULER.CREATE_JOB.

Voir Procédure SET_ATTRIBUTE dans Oracle Database 19c ou Oracle Database 26ai pour plus d'informations sur les attributs de tâche.

Outils de surveillance et de réglage de la performance

Plusieurs situations telles que l'évolution des charges de travail, les limites des ressources sur les serveurs d'applications et de bases de données ou tout simplement les goulots d'étranglement du réseau peuvent entraîner des problèmes de performance des applications. Oracle fournit un large éventail d'outils pour vous aider à surveiller la performance, à diagnostiquer les problèmes de performance et à régler votre application ou la base de données pour résoudre les problèmes. Certains d'entre eux sont énumérés ci-dessous :

Outil Détails
Centre de performance Outil riche en fonctionnalités facilement disponible dans la console Oracle Cloud Infrastructure (OCI). Le centre de performance est également intégré à Oracle Database Actions et à Oracle Enterprise Manager.

Voir Surveiller la performance de la base de données avec le centre de performance pour plus de détails.
Mesures de base de données d'IA autonome Les mesures de base de données de l'IA autonome vous aident à mesurer des données quantitatives utiles, telles que l'utilisation de l'UC et du stockage, le nombre de tentatives de connexion et de connexion à la base de données réussies ou en échec, les opérations de base de données, les interrogations SQL et les transactions, etc. Vous pouvez utiliser les données de mesures pour diagnostiquer et résoudre les problèmes liés à vos ressources de base de données Autonomous AI Database.

Voir Surveiller les bases de données à l'aide des mesures de base de données d'IA autonome pour plus d'informations, telles que les préalables, l'utilisation et la liste des mesures disponibles pour une base de données d'IA autonome sur une infrastructure Exadata dédiée.
Référentiel AWR (Automatic Workload Repository) et moniteur ADDM (Automatic Database Diagnostic Monitor) Deux autres outils couramment utilisés sont le référentiel AWR (Automatic Workload Repository) et le moniteur ADDM (Automatic Database Diagnostic Monitor).

Le référentiel AWR stocke les statistiques relatives aux performances d'une base de données Oracle et le moniteur ADDM est un outil de diagnostic qui analyse régulièrement les données AWR, localise les causes fondamentales des problèmes de performances, fournit des recommandations pour corriger les problèmes et identifie les zones du système qui ne posent pas de problème. Le référentiel AWR étant un référentiel de données historiques sur les performances, le moniteur ADDM peut analyser les problèmes de performances après l'événement, ce qui permet souvent d'économiser du temps et des ressources pour reproduire un problème.

Pour obtenir des instructions sur l'utilisation de ces outils, ainsi que des informations détaillées sur la surveillance et le réglage de la performance des bases de données, voir Guide de réglage de la performance d'Oracle Database 19c ou Guide de réglage de la performance d'Oracle Database 26ai.

Le référentiel AWR et le moniteur ADDM sont également disponibles à partir du centre de performance. Pour plus de détails, voir Surveiller la performance de la base de données avec le centre de performance.

Pour une présentation rapide de la surveillance et du réglage de la performance des bases de données, voir Oracle Database 19c 2 Day + Performance Tuning Guide ou Oracle Database 26ai 2 Day + Performance Tuning Guide.