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á!

lunes, 11 de octubre de 2021

La comunidad Oracle en Sudamérica #JoelKallmanDay

Gracias a Tim Hall por su iniciativa, voy a aprovechar la oportunidad para escribir este post no técnico y recordar la historia de la comunidad Oracle en Sudamérica, en este año donde se achicó dolorosamente.

En el año 1996 tomé mi primer curso de Oracle, Forms y Reports. A medida que seguí trabajando con Oracle, con nuevos proyectos y más cursos, nos fuimos conociendo todos los que estábamos en Montevideo, y algunos de Buenos Aires. Pero el trabajo no dejaba tiempo para compartir conocimiento. Leíamos los trucos de Tom Kyte, Oracle Magazine, y nos enterábamos de eventos organizados en el norte con cientos de expertos hablando de temas técnicos sin marketing, con un poco de sana envidia ya que no es habitual que empresas locales paguen viajes a conferencias.

La comunidad Oracle en Sudamérica fue por muchos años gente consumiendo más que participando en los foros de Oracle desde sus escritorios, reuniéndose una vez por año en las oficinas del partner Oracle local para ver lanzamientos de nuevas versiones. Hasta que Francisco Muñoz empezó por el 2008 a traer expertos a distintas ciudades de Sudamérica, apoyado por el programa Oracle ACE. Eso generó una explosión de interés. Pudimos conocer en persona a los prolíficos escritores y comprobar que eran personas de carne y hueso. Y animó a la creación de los grupos de usuarios locales, animó a muchos empezar a compartir su conocimiento y experiencias, escribiendo artículos y presentando en eventos locales. Fue una primavera, de a poco todos los países fueron tomando la posta dejada por Francisco y nuevos grupos continuaron generando contenido y eventos. Los vendedores de Oracle ya no tenían exclusividad sobre el conocimiento, se escuchaba más sobre problemas y soluciones que sobre funcionalidades mágicas que nunca fallaban. Se generaron vínculos y amistades que no se podían generar por foros, y que hizo de todos nosotros mejores profesionales y personas.

La expansión se fue enlenteciendo, por diversos motivos. Quizás porque los nuevos egresados son atraídos por otras tecnologías. Quizás acentuado en este tiempo de COVID con la falta de eventos en persona y la obligación del trabajo virtual, con muy poco espacio para dedicar más horas de nuestros días a eventos virtuales. Ponga su explicación aquí, seguramente hayan muchas. 

Lo que importa es que la comunidad Oracle sigue vigente en todos los que continúan compartiendo sus experiencias con la tecnología. Y en aquellos que alguna vez fueron parte y siguen en nuestra memoria. Como nuestro gran amigo Daniel Bozzolo. O Pieter Van Puymbroeck, Joel Kallman, y otros a los que no tuvimos el gusto de conocer.

¿La vuelta de eventos presenciales será necesaria para las comunidades de tecnología? Yo creo que sí, y no solo por lo que yo encuentre positivo de los eventos en persona, sino porque le da la oportunidad a gente nueva que descubra lo mismo que descubrí yo hace poco mas de 10 años.

domingo, 29 de septiembre de 2019

Mi experiencia en el Oracle Open World 2019

La semana pasada participé del Oracle Open World (OOW) y Code One en San Francisco, USA.
Este año me pareció el mejor de los cinco en los que he participado.
Les cuento el porqué, ojalá les sirva de referencia si están considerando participar en el futuro.

Tuve la suerte de ser seleccionado para presentar tres charlas técnicas, y sumado a varias reuniones de trabajo, actividades para partners y eventos organizados por empresas después de la agenda diaria, hicieron que esta experiencia fuera intensa.

Antes de viajar, revisando todas las charlas disponibles para armar mi agenda, encontré dos cosas a destacar. Una, mucho contenido técnico muy interesante, y dado que hay decenas de sesiones en simultáneo, me iba a perder muchas buenas. Lo otro es que varias personas reconocidas en la comunidad, algunos buenos amigos, no participaban este año. Es conocido que unos cuantos se jubilaron, y otros ya no están activos en la comunidad.

El evento empezó el viernes previo para mí, con el Oracle Cloud Partner Council en las oficinas de Oracle - un evento de todo el día donde product managers (PMs) de distintas tecnologías cuentan las novedades y recursos disponibles para partners, y escuchan nuestras experiencias.
Primera vez que participo en este tipo de eventos, me pareció muy valioso y lo recomiendo para los partners que viajan OOW, háganse un tiempo y vayan antes.

El sábado estuve todo el día en un evento para Oracle ACE Directors, el famoso briefing, donde PMs cuentan los planes a futuro en diversas áreas. Todo bajo contrato de confidencialidad (NDA).
También muy interesante, la mayoría de los anuncios se hicieron los días siguientes durante la conferencia. Muchas novedades y mejoras, todas en la dirección correcta a mi entender.

El domingo fui invitado a Oracle Groundbreakers unconference, la primera edición de un evento de todo el día. Buenas discusiones entre miembros de la comunidad y algunos PMs de Oracle, sin agenda y para hablar de los temas que nos interesan.

Aunque tuve que perderme la mitad, porque a la tarde participé del Oracle RAC Innovation summit, en las oficina Oracle del centro. Es la segunda vez que asisto a este evento y es muy valioso también, todos los PMs de Oracle RAC muestran un resumen de las novedades en las nuevas versiones, y reciben experiencias de un grupo reducido de clientes (usuarios) de RAC.

El evento OOW empezó el lunes, aunque parecía mitad de semana para mí.
A medida que iba yendo a distintas presentaciones me fui cruzando con muchas caras familiares, y también con mucha gente nueva, lo que fue una grata sorpresa, y confirmación de que el evento sigue vigente y que la comunidad se está renovando.
Con los edificios Moscone ya remodelados, la distribución cambió comparado con años anteriores, habiendo más salas dentro de los edificios, corredores más grande, y más espacio en el área de exhibición. La calle frente al Moscone sur estaba abierta por primera vez, lo que hacía que se viera muy distinto a años anteriores.

Una parte muy importante del evento es el contenido técnico (si se preguntan cuales son las otras: networking, comunidad y negocios). Ya están disponible todas las presentaciones (aquí), lo que sirve aunque hayan ido, porque no se puede estar en todas.

Sigue la lista de todas las presentaciones a las que pude ir. Se las recomiendo, fueron todas muy buenas.
En los horarios que ven huecos, tomé el examen de certificación "Oracle Autonomous Database Cloud 2019", aprovechando que es gratuito porque se realizó el testfest. Y también estuve un par de horas ayudando en el Groundbreakers hub, en el stand de Blockchain beer.

Lunes:
  • The Query Optimizer in Oracle Database 19c: What’s New [CON1263], Chris Antognini, Monday, September 16, 09:00 AM
  • Oracle Cloud Infrastructure: Practical Tips from Experience [CON1963], Simon Pane, Sean Scott, 10AM
  • Oracle Database Exadata Cloud Do's and Don'ts [CON5226], Brian Spendolini, Sravan Sunkaranam, Satish R, Monday, September 16, 10 AM
  • Oracle Autonomous Health Framework: Deep Dive Database and Cluster Use Cases [PRO4770], Mark Scardina, Monday, September 16, 11:15 AM
  • Best Practices for Patching Oracle Database Single Instances and Oracle RAC [CON3386], Ricardo Gonzalez, Roy Swonger, Monday, September 16, 12:15 PM
  • Using Machine Learning and Oracle Analytics Cloud for Proactive Analytics [DEV3136], Edelweiss Kammermann, 1:30PM
  • Zero Downtime Database Migration to Oracle Cloud [THT6607], Ricardo Gonzalez, Monday, September 16, 01:45 PM

Martes
  • AutoUpgrade Hundreds of Oracle Databases with a Single Command [CON3387], Mike Dietrich
  • Oracle Database 19c: In-Depth Look into the New Automatic Indexing Feature [CON1432], Richard Foote, 11:15 AM
  • Oracle Active Data Guard: Best Practices and New Features Deep Dive [TRN4846], Pieter Van Puymbroeck, Nitin Karkhanis, Mahesh Girkar, 12:30 PM
  • Automate the Operation of Your Oracle Cloud Infrastructure 2.0 [DEV1798], yo, 1:30 PM
  • Oracle Autonomous Health Framework: For Rapid Resolution of Oracle RAC Issues [TRN4773], Mark Scardina, Bill Burton, 3:15PM
  • Ask TOM: How to Make and Test Your Application “Oracle RAC Ready” [THT4778], Markus Michalewicz, 4:00 PM
  • Ask TOM: Proven Ways to Make Applications Slower and Less Secure [THT4796], Connor Mcdonald, 4:30 PM

Miércoles
  • Twenty Features You Will Miss If You Leave Oracle Database [DEV1279], Franck Pachot, 12:30 PM
  • Data Integration in Oracle Cloud: The Dream Team for End-to-End Analytics [CON3137], Edelweiss Kammermann, 4:45 PM

Jueves
  • Oracle Exadata Cloud Services Guide from Practical Experience, yo, 9:00 AM
  • Oracle GoldenGate: Faster Deployments Using Microservices [HOL5221], Bobby Curtis, Mack Bell, Nick Wagner, 10:30 AM
  • A Deep Dive into Oracle Database Statement Parsing [CON3597], Frits Hoogland, 11:15 AM
  • Oracle Database 19c Automatic Indexing Demystified [CON1275], Franck Pachot, 12:15 PM
  • Best Practices for the Most Impactful Oracle Database 18c and 19c Features [TIP4855], Markus Michalewicz, Mauricio Feria, 2:15 PM
  • Oracle Autonomous Data Warehouse Cloud for Developers and Data Scientists [DEV3135], Edelweiss Kammermann, 2:15 PM

Un saludo

PS: Si quieren ver fotos, en mi cuenta de Twitter van a ver muchas: https://twitter.com/ncalerouy