lunes, 17 de febrero de 2025

Explorando AI con Oracle

Inteligencia Artificial (AI en inglés) es el tema más relevante en tecnología hoy, y ya lleva un par de años de moda.

Hay anuncios de nuevas funcionalidades en aplicaciones y nuevos servicios basados en AI casi a diario.

Para usuarios de bases de datos Oracle, podemos encontrar en la última version 23ai varias funcionalidades, y también servicios en la Cloud de Oracle OCI.

Como siempre hay mucho marketing en estos anuncios, me interesa ver que tanto podemos aprovechar estas nuevas funcionalidades en el trabajo diario de un DBA (o el rol que antes llamábamos DBA, como quiera que lo llames ahora, y que se sigue ocupando que los datos estén accesibles y seguros).

Con esta idea empiezo esta serie, como una guía de estudio para probar todo lo nuevo.

¿Por qué esto?

Cada tanto tomo certificaciones para mantenerme al día con las tecnologías que uso, las nuevas versiones o directamente nuevos servicios, para independizar el aprendizaje de las demandas laborales.  Pero últimamente estoy muy ocupado con varios temas, y AI parece estar avanzando mucho más rápido de lo que puedo dedicarle, así que me parece que es el momento de planificar un tiempo exclusivo para aprender estos temas, y de paso contribuir compartiendo este proceso. 

¿Hay una mejor forma de hacerlo?

El enfoque habitual para aprender es ir a los manuales, buscar que hay de nuevo, comparar lo que no cambió con las versiones viejas para ver si se agregó algo sin nombrarlo, y probarlo para verificar si realmente hace lo que promete.  Este proceso lleva su tiempo.

¿Se puede tomar algún atajo aprovechando ChatGPT, Gemini o similares?.

Parecería un caso de uso ideal, ya que necesitamos analizar texto y generar un resumen.  Pero después de probarlo un poco, la conclusión es que no se puede evitar ir a las fuentes, porque si bien responde varias cosas que están bien y nos pueden ahorrar algo de tiempo, otras no existen - alucina bastante.

Por ejemplo, le pregunté a ChatGPT:

Podes darme un resumen de las nuevas funcionalidades usando inteligencia artificial (AI), en la base de datos Oracle 23c, Oracle 23ai, y en servicios nuevos en la Cloud de Oracle OCI que usen AI?

La primer respuesta es un tanto simple, así que le pedí que lo mejorara:

Podes darme ejemplos concretos de usar estas nuevas funcionalidades en la base de datos, para cada una de las que citaste antes?

Y entre las respuestas que son un invento, me gustaron esta:

3. Optimización Automática y Reescritura de Consultas

Oracle 23c/23ai:
Una función AI integrada (hipotética) puede recibir la consulta y devolver una versión optimizada automáticamente.

SELECT SQL_OPTIMIZER('SELECT * FROM pedidos WHERE TRUNC(fecha_pedido) = SYSDATE ORDER BY fecha_pedido') AS consulta_optimizada FROM dual;

Y esta otra - aunque hay varias mas, esto es solo una muestra:

5. Clasificación y Gobernanza de Datos Automatizada

Oracle 23c/23ai:
Una función AI puede escanear automáticamente el esquema, clasificar los datos y agregar metadatos (anotaciones) de forma automatizada.

BEGIN DBMS_AI_DATA_CLASSIFICATION.AUTOMATIZAR_CLASIFICACION(schema_name => 'FINANZAS'); DBMS_OUTPUT.PUT_LINE('Clasificación de datos completada. Se han anotado los datos sensibles.'); END;  

 

Primer guia de temas

A medida que avance con estos posts, voy a crear un post de índice con link a cada funcionalidad evaluada, ya que me imagino que la lista va a expandirse a medida que avance, y lo voy a agreagar aquí.

Buscando sobre los temas nuevos que vale la pena profundizar, descubrí este podcast de Oracle university que me parece muy interesante.  

Y en esta revisión inicial sobre AI con Oracle, encontré varias funcionalidades inteligentes que no parecen estar usando algoritmos o características que podamos catalogar como AI (detalles más abajo).  Aunque esta línea es delgada si no conocemos como están implementados, me parece interesante revisarlas igual, por lo que voy a incluirlas en la lista de temas a explorar.  Algunas son obviamente no AI, pero me parece interesante aprovechar esta iniciativa para aprender como funcionan, por lo que el título de esto debería ser "funcionalides inteligentes o AI con Oracle". 

Por ahora, me voy a enfocar en las funcionalidades dentro de la base de datos, y de servicios aplicados a la operación de datos.  Me gustaría explorar todos los servicios ofrecidos por OCI dentro de "Analytics y AI", pero parece ser un trabajo muy grande, así que quedará para el final si hay tiempo.

Esta es la guia de temas a cubrir en las próximas semanas (sin orden en particular, solo para nombras las que me parecen intersantes hasta ahora):

  • Funcionalidades usando AI en la base datos 23ai (en el motor o con utilitarios)
    • Select AI
    • Vector Search
    • AHF (por ahora acá, quizas se mueva a la siguiente categoría)
  • Funcionalides con inteligencia pero que no usan AI
    • Automatic Transaction Rollback
    • Real-time SPM
    • SQL Transpiler
  • Servicios de AI en OCI aplicados a DBA
    • Anomaly Detection
    • Generative AI
    • Generative AI Agents

Referencias

Las fuentes que voy a usar para estos posts van a ser:


Gracias por llegar hasta acá!