Funciones de alto rendimiento de la base de datos de IA autónoma en infraestructura de Exadata dedicada

En este artículo se describen las funciones clave de ajuste del rendimiento en Autonomous AI Database on Dedicated Exadata Infrastructure.

Tenga en cuenta que a lo largo de esta sección, el término "usted" se usa ampliamente para referirse a cualquier usuario de su organización que tenga la responsabilidad de realizar ciertas tareas. En algunos casos, ese es el DBA de la aplicación, en otros es el desarrollador de la aplicación.

Autonomous AI Database incluye varias funciones que supervisan, analizan y optimizan automáticamente el rendimiento de su base de datos. Para obtener una lista completa de las características de gestión del ajuste y el rendimiento SQL de Oracle Autonomous AI Database, e instrucciones sobre cómo utilizarlas, consulte Oracle Database 19c SQL Tuning Guide u Oracle Database 26ai SQL Tuning Guide.

A continuación, se muestra una amplia clasificación de las funciones clave de ajuste del rendimiento de la base de datos de IA autónoma.

Descripción de la ilustración hp_features.svg

Servicios de base de datos predefinidos

La forma en que la aplicación se conecta a la base de datos y la forma en que codifica las llamadas SQL a la base de datos determinan el rendimiento general de las operaciones de procesamiento de transacciones y generación de informes de la aplicación.

Al realizar conexiones a su base de datos de IA autónoma, el rendimiento de la interacción de su aplicación con la base de datos depende del servicio de base de datos al que se conecte. Autonomous AI Database proporciona varios juegos de servicios de base de datos que utilizar al conectarse a la base de datos. Estos servicios de conexión están diseñados para soportar diferentes tipos de operaciones de base de datos, como se describe en Nombres de servicio de base de datos predefinidos para bases de datos de IA autónomas.

Consejo: asegúrese de revisar las características clave de los servicios de base de datos predefinidos y la tabla que compara los diferentes juegos de servicios de base de datos en función de estas características para decidir qué servicio de base de datos es más adecuado para los requisitos de rendimiento de la aplicación.

Pools de Conexiones

Al realizar conexiones a su base de datos de IA autónoma, puede utilizar pools de conexiones para reducir la sobrecarga de rendimiento que supone la creación y destrucción repetidas de conexiones individuales. Este es otro factor que tiene un gran impacto en el rendimiento de la interacción de la aplicación con la base de datos.

Con frecuencia, el uso de pools de conexiones solo se considera al diseñar o mejorar una aplicación para proporcionar disponibilidad continua. Sin embargo, el uso de pools de conexiones en lugar de conexiones individuales puede beneficiar a casi todas las aplicaciones de procesamiento de transacciones. Un pool de conexiones proporciona las siguientes ventajas:

Funciones de conexión con fines especiales

Oracle Net Services (anteriormente llamado SQL*Net) proporciona diversas funciones de conexión que mejoran el rendimiento en escenarios de conexión específicos. Estas funciones se describen en la Oracle Database 19c Net Services Administrator's Guide o en la Oracle Database 26ai Net Services Administrator's Guide.

Funciones de Ajuste de Rendimiento SQL

Las grandes aplicaciones comienzan por un lenguaje SQL bien escrito. Oracle Autonomous AI Database proporciona numerosas funciones que le permiten crear aplicaciones de alto rendimiento y validar su código SQL y PL/SQL. Algunas de estas funciones se enumeran a continuación:

A medida que desarrolle su aplicación, puede aprender rápidamente cómo afectan estas funciones al código SQL que escribe y, por tanto, mejorar su código mediante el uso de la hoja de trabajo SQL proporcionada por Oracle Database Actions (que está integrada en su base de datos de IA autónoma) y Oracle SQL Developer (aplicación gratuita que instala en el sistema a desarrollar).

Rastreo SQL

Cuando una operación de aplicación tarda más de lo esperado, obtener un rastreo de todas las sentencias SQL ejecutadas como parte de esta operación con detalles como el tiempo empleado por esa sentencia SQL en las fases de análisis, ejecución y recuperación le ayudará a identificar y resolver la causa de la incidencia de rendimiento. Para ello, puede utilizar el rastreo SQL en una base de datos de IA autónoma.

El rastreo SQL está desactivado por defecto en la base de datos de IA autónoma. Debe activarla para empezar a recopilar los datos de rastreo SQL. Consulte Uso del rastreo SQL en la base de datos de IA autónoma para obtener instrucciones detalladas para activar y utilizar el rastreo SQL.

Estadísticas del optimizador

La base de datos de IA autónoma recopila automáticamente las estadísticas del optimizador para que no tenga que realizar esta tarea manualmente, lo cual ayuda a garantizar la actualización de las estadísticas. La recolección automática de estadísticas está activada en la base de datos de IA autónoma y se ejecuta en una ventana del mantenimiento estándar.

Nota: Para obtener más información sobre los horarios de ventanas de mantenimiento y recopilación automática de estadísticas del optimizador, consulte Oracle Database 19c Administrator's Guide u Oracle Database 26ai Administrator's Guide. Para obtener más información sobre las estadísticas del optimizador, consulte Oracle Database 19c SQL Tuning Guide u Oracle Database 26ai SQL Tuning Guide.

Indicaciones de Optimizador

Las indicaciones del optimizador son comentarios especiales en una sentencia SQL que transfieren instrucciones al optimizador. El optimizador utiliza las indicaciones para seleccionar un plan de ejecución para la sentencia a menos que lo impida alguna condición.

Los valores por defecto de la base de datos de IA autónoma para el optimizador y las indicaciones PARALLEL varían según la carga de trabajo:

Indexación automática

La indexación automática automatiza las tareas de gestión de índices en la base de datos de IA autónoma. La indexación automática está desactivada por defecto en Autonomous AI Database.

La creación manual de índices requiere un profundo conocimiento del modelo de datos, la aplicación y la distribución de los datos. En el pasado, los DBA eran responsables de elegir qué índices crear y, a veces, no revisaban sus opciones ni realizaban el mantenimiento de los índices a medida que cambiaban las condiciones. En consecuencia, se perdían oportunidades de mejora y el uso de índices innecesarios podía convertirse en una lastre de rendimiento.

La función de indexación automática de la base de datos de IA autónoma supervisa la carga de Trabajo de la aplicación y crea y mantiene índices automáticamente.

Consejo: si desea una alternativa de "prueba" que demuestra estas instrucciones, ejecute el el laboratorio 14 sobre indexación automática en el taller Oracle Autonomous AI Database Dedicated for Developers and Database Users.

Activar indexación automática

Desactivar indexación automática

Utilice el procedimiento DBMS_AUTO_INDEX.CONFIGURE para desactivar la indexación automática. Por ejemplo, al ejecutar la siguiente sentencia, se desactiva la indexación automática en una base de datos para que no se creen nuevos índices automáticos. Sin embargo, los índices automáticos existentes permanecen activados.

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

Para obtener más información, consulte Gestión de índices automáticos en Guía del administrador de Oracle Database 19c u Guía del administrador de Oracle Database 26ai.

Ingestión rápida

La ingestión rápida optimiza el procesamiento de inserciones de datos de una sola fila y alta frecuencia en una base de datos. La ingestión rápida utiliza el pool grande para almacenar en buffer las inserciones antes de escribirlas en el disco, a fin de mejorar el rendimiento de las inserciones de datos.

La intención de fast-ingest es apoyar aplicaciones que generan muchos datos informativos que tienen un valor importante en el agregado, pero que no necesariamente requieren garantías completas de ACID. Muchas aplicaciones en el Internet of Things (IoT) tienen una carga de trabajo de tipo "fuego y olvido" rápido, como datos de sensores, datos de medidores inteligentes o incluso cámaras de tráfico. Para estas aplicaciones, los datos se pueden recopilar y escribir en la base de datos en grandes volúmenes para su análisis posterior.

La ingesta rápida es muy diferente del procesamiento normal de transacciones de Oracle AI Database, donde los datos se registran y nunca se pierden una vez que se "escriben" en la base de datos (es decir, se confirman). Para lograr el rendimiento máximo de ingestión, se omiten los mecanismos de transacción normales de Oracle y es responsabilidad de la aplicación comprobar que todos los datos se han escrito en la base de datos. Se han agregado API especiales que se pueden llamar para comprobar si los datos se han escrito en la base de datos.

Para obtener una visión general de la ingesta rápida y los pasos necesarios para utilizar esta función, consulte Uso de ingesta rápida en Oracle Database 19c Performance Tuning Guide u Oracle Database 26ai Performance Tuning Guide.

Para utilizar la ingestión rápida con tu base de datos de IA autónoma, debes:

Clases de trabajos predefinidas con Oracle Scheduler

La base de datos de IA autónoma incluye valores job_class predefinidos para usar con Oracle Scheduler. Estas clases de trabajo le permiten agrupar trabajos que comparten características y comportamientos comunes en entidades más grandes para que pueda priorizar entre estas clases mediante el control de los recursos asignados a cada clase.

Con las clases de trabajo predefinidas, puede asegurarse de que sus trabajos críticos tengan prioridad y suficientes recursos para completar. Por ejemplo, para que un proyecto crítico cargue un almacén de datos, puede combinar todos los trabajos de almacenamiento de datos en una clase y priorizarlos sobre otros trabajos asignando un alto porcentaje de los recursos disponibles. También puede asignar prioridades relativas a los trabajos de una clase de trabajo.

Los valores job_class predefinidos, TPURGENT, TP, HIGH, MEDIUM y LOW se asignan a los grupos de consumidores correspondientes. Estas clases de trabajo permiten especificar el grupo de consumidores en el que se ejecuta un trabajo con DBMS_SCHEDULER.CREATE_JOB.

El procedimiento DBMS_SCHEDULER.CREATE_JOB soporta los tipos de trabajo PLSQL_BLOCK y STORED_PROCEDURE para el parámetro job_type en la base de datos de IA autónoma.

Por ejemplo: utilice lo siguiente para crear un único trabajo normal que se ejecute en el grupo de consumidores 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;
/

Notas para Oracle Scheduler:

Consulte Programación de trabajos con Oracle Scheduler en Oracle Database 19c u Oracle Database 26ai para obtener más información sobre Oracle Scheduler y DBMS_SCHEDULER.CREATE_JOB.

Consulte Procedimiento SET_ATTRIBUTE en Oracle Database 19c u Oracle Database 26ai para obtener información sobre los atributos de trabajo.

Herramientas de Ajuste y Control de Rendimiento

Varias situaciones, como el cambio de cargas de trabajo, la limitación de recursos en servidores de bases de datos y aplicaciones, o simplemente cuellos de botella en red, pueden dar lugar a problemas de rendimiento de la aplicación. Oracle proporciona una amplia gama de herramientas para ayudarle a supervisar el rendimiento, diagnosticar incidencias de rendimiento y ajustar la aplicación o la base de datos para resolver la incidencia. Algunas de ellas se enumeran a continuación:

Herramienta Detalles
Hub de rendimiento Una herramienta con muchas funciones fácilmente disponible que está disponible en la consola de Oracle Cloud Infrastructure (OCI). El hub de rendimiento también está integrado con Oracle Database Actions y Oracle Enterprise Manager.

Consulte Supervisión del rendimiento de la base de datos con el hub de rendimiento para obtener más información.
Métricas de base de datos de IA autónoma Las métricas de bases de datos de IA autónomas le ayudan a medir datos cuantitativos útiles, como el uso de CPU y almacenamiento, el número de intentos correctos y fallidos de inicio de sesión de bases de datos y de conexión, las operaciones, las consultas SQL, las transacciones, etc. Puede utilizar datos de métricas para diagnosticar y solucionar problemas con sus recursos de base de datos de IA autónoma.

Consulte Supervisión de bases de datos con métricas de base de datos de IA autónoma para obtener más información, como sus requisitos previos, su uso y la lista de métricas disponibles para Autonomous AI Database en infraestructura de Exadata dedicada.
Repositorio de Carga de Trabajo Automática (AWR) y Monitor de Diagnóstico de Base de Datos Automático (ADDM) AWR almacena estadísticas relacionadas con el rendimiento para una base de datos, y ADDM es una herramienta de diagnóstico que analiza los datos de AWR de forma regular, proporciona recomendaciones para corregir los problemas e identificar áreas no problemáticas del sistema.

AWR almacena las estadísticas relacionadas con la eficacia para una base de datos Oracle, y ADDM es una herramienta para diagnóstico que analiza los datos del repositorio de carga de trabajo automática de forma regular, localiza las causas raíz de cualquier problemas de rendimiento, proporciona recomendaciones para corregir los problemas e identifica áreas no problemáticas del sistema. Puesto que AWR es un repositorio de datos de rendimiento históricos, ADDM puede analizar los problemas de rendimiento después del evento, lo que suele ahorrar tiempo y recursos en la reproducción de un problema.

Para obtener instrucciones sobre el uso de estas herramientas, así como información detallada sobre el ajuste y la supervisión del rendimiento de la base de datos, consulte la Guía de ajuste del rendimiento de Oracle Database 19c u Guía de ajuste del rendimiento de Oracle Database 26ai.

AWR y ADDM también están disponibles en el hub de rendimiento. Consulte Supervisión del rendimiento de la base de datos con el hub de rendimiento para obtener más información.

Para obtener una introducción rápida a la supervisión y el ajuste del rendimiento de la base de datos, consulte Oracle Database 19c 2 Day + Performance Tuning Guide u Oracle Database 26ai 2 Day + Performance Tuning Guide.