miércoles, 30 de diciembre de 2020

Retrospectiva del 2020

Sin dudas, este 2020 no fue un año mas para ninguno de nosotros, y seguramente lo recordaremos por mucho tiempo mas por las malas noticias que por lo que logramos realizar, pero eso no quita que en medio de tantos problemas no hayamos podido lograr algunas pequeñas victorias.

En mi caso, fue un año muy movido en cuanto a mi actividad con Oracle, como paso a detallar.

Certificaciones y Acreditaciones

A principios de este año complete acreditaciones de MOS tanto sobre la plataforma de soporte en general (tanto Cloud como normal) así como sobre las opciones específicas para Oracle Database:



Y si bien no estaba dentro de los planes, aprovechando que Oracle puso a disposición tanto capacitaciones como certificaciones por motivo de la cuarentena, a partir de Mayo pude rendir algunas certificaciones de Oracle Cloud:

Comunidad Oracle

A principios de año llegué a nivel Super Elite en la comunidad de Oracle, y MOSC (My Oracle Support Community) me envió una remera de regalo! A mitad de año pase al nivel Legend pero por la pandemia ya no estaban enviando mas regalos en MOSC, si no tendría dos remeras 😀


En Octubre la comunidad de Oracle  hizo un esperado cambio de plataforma, destinado a solucionar problemas que la plataforma anterior (obsoleta y fuera de soporte) generaba. Desafortunadamente la participación (tanto general como la mía) en el foro bajó mucho, en parte porque la nueva plataforma es mas compleja de navegar y requiere mas trabajo para encontrar el sitio apropiado donde realizar las consultas.

Espero que en el corto plazo se vayan solucionado los problemas de la nueva plataforma y que la actividad vuelva a incrementarse.


[EDIT] El 11/01 me enviaron de Oracle una certificación de Most Valued Contributor por participación en My Oracle Support Communitiy durante el 2020!



Eventos

En agosto de este año participé nuevamente del Groundbreakers Tour, pero esta vez el mismo fue 100% virtual! Fue todo un desafío exponer para personas de todo el mundo en forma virtual, pero creo que cumplí con las expectativas. El material de la sesión pueden encontrarlo en este artículo del blog.



Blog

Si bien este año no pude dedicarme a escribir tantos artículos técnicos (en lo laboral fue un año muy demandante) mantuve la cantidad total de artículos en un numero similar al año 2019. La idea es continuar generando material técnico en castellano, a la vez que compartir noticias relacionadas con el mundo Oracle.

Programa Oracle ACE

En el mes de Junio, una vez cerrado el período anual del programa, Oracle confirmó que mantuve el nivel Oracle ACE por segundo año, lo cual es un enorme orgullo!


Este año, y debido a la pandemia,. la reunión anual para ACE Directors que se hace previo al Oracle Open World, se hizo en forma virtual para todos los miembros del programa (sumando a ACE Associates y ACEs) lo cual me dio la oportunidad de compartir varias sesiones con otros miembros del programa de todo el mundo, junto a parte de los equipos de diseño y desarrollo de Oracle.


Otras Actividades

A fin de año escribí dos Reviews de para TrustRadius:


jueves, 24 de diciembre de 2020

Feliz Navidad y Año Nuevo

Este 2020 plagado de problemas y malas noticias va llegando a su fin, y desde el Blog quería desearle a todos mis seguidores que pasen una muy buena navidad y que comiencen el 2021 de la mejor manera!



A lo mejor sale algún artículo de último momento la semana próxima, si no es así nos reencontraremos en el 2021!




miércoles, 23 de diciembre de 2020

Nueva Región de Oracle Cloud en Santiago de Chile

Hace pocos días Oracle anunció la apertura de una nueva Región en su servicio Oracle Cloud en Santiago de Chile, con lo cual ahora hay dos regiones disponibles en Latinoamérica (Santiago y San Pablo) y 29 regiones a nivel global. El objetivo de Oracle es llegar a tener 38 regiones en todo el mundo a fines del año 2021


Esta nueva Región brinda acceso a todos los servicios de Oracle Cloud, incluyendo Oracle Autonomous Database, Oracle Container Engine para Aplicaciones de Kubernetes, Oracle Cloud VMware Solution y Oracle Fusion Cloud. La disponibilidad de Fast Connect (permite conectarse directamente a la red de alta velocidad de OCI) brinda la oportunidad a quienes acceden desde Chile y también de Argentina, Perú, Uruguay, Paraguay y Bolivia de implementar los servicios en la nube de Oracle en Chile para ejecutar aplicaciones, almacenar datos o proporcionar ambientes de recuperación ante desastres.


Para ayudar a los clientes a construir una verdadera continuidad del negocio y protección ante desastres mientras cumplen con los requisitos de residencia de datos en el país, Oracle planea establecer al menos dos regiones en cada país donde opera una región de nube. Estados Unidos, Canadá, UE, Reino Unido, Corea del Sur, Japón, India y Australia ya tienen dos regiones de nubes. Las próximas expansiones incluyen segundas regiones para Brasil, EAU y Arabia Saudita, más regiones de la UE en Italia, Suecia y Francia, y nuevas regiones en Singapur, Sudáfrica e Israel.


¿Que Región me conviene usar?

Sin duda, para los lectores del blog de Sudamérica, la oportunidad de acceder a una segunda Región implica la necesidad de evaluar la conveniencia de usar la Región de Santiago o la de San Pablo. Esto dependerá de muchos factores, ya se a de performance (por cercanía y menor latencia), por cuestiones de alta disponibilidad (Brasil es una instalación mas madura y pronto tendrá una segunda región) y también depende del uso que se le quiera dar. En mi caso, tengo mi cuenta Oracle Cloud Free Tier (pueden ver este artículo para crear la suya) configurada en la Región de Ashburn (USA) porque es una de las primeras en incluir nuevas características y versiones (como ser Oracle 21c) y como a nivel personal mi prioridad es poder probar los productos, independientemente de la performance, prefiero contar con las novedades disponibles apenas Oracle las libera.


Pero si el uso que le van a dar a su servicio de Cloud es para tener instancias productivas, sin duda las opciones con mejor performance estarán entre Brasil - San Pablo y Chile - Santiago. Recuerden que en la opción Free Tier no es posible cambiar ni usar mas de una Región.

martes, 15 de diciembre de 2020

Creando una base de datos Oracle 21c en Oracle Cloud

En este artículo voy a mostrarles como crear una base de datos Oracle 21c en Oracle Cloud, usando una cuenta Free Tier (pueden ver mi artículo sobre Oracle Cloud Free Tier para crear su propia cuenta Cloud gratuita de Oracle).

Debemos recordar que Oracle 21c está disponible, por el momento, sólo en algunas regiones de OCI, por lo que si van a crear la cuenta es conveniente que lo hagan en la región Ashburn que es la que normalmente recibe primero las nuevas versiones de productos. 

Una vez que accedemos a la consola principal de Oracle Cloud Infrastructure, el menú rápido nos permite realizar acciones frecuentes, como ser elegir crear una base de datos ATP (Autonomous Transaction Processing


Creación de la Base de Datos

El proceso es realmente sencillo, y en pocos pasos podremos crear la misma. El primer paso consiste en:

  • Seleccionar los nombres para la base de datos (Oracle Cloud permite tener un nombre "visible" sencillo de recorder y un nombre interno que puede responder a alguna codificación interna).
  • Seleccionar el tipo de base de datos a crear (en este caso seleccione ATP porque es lo mas sencillo de usar, para probar los cambios en Oracle 21c).
  • Seleccionar si se desea usar infraestructura compartida o dedicada (las cuentas Free Tier solo pueden usar infraestructura compartida)


A continuación deberemos seleccionar la versión (obviamente vamos a probar con 21c, que ya aparece como opción por defecto ya que mi cuenta Free Tier se encuentra en la región Ashburn). Como usamos una cuenta Free Tier no podemos aumentar el numero de CPU o el espacio asignado:




Luego debemos ingresar:
  • Contraseña del usuario ADMIN (en las bases de datos autónomas, no se accede con el usuario SYS sino que existe un nuevo usuario ADMIN que permite realizar tareas administrativas)
  • Elegir entre permitir el acceso directo a la base de datos, o configurar una VCN (Virtual Cloud Network). Para nuestras pruebas vamos a permitir el acceso directo.
  • Elegir entre usar una licencia de Oracle o ingresar nuestra licencia (en cuentas Free Tier, se puede usar solo licencias de Oracle, pero en una cuenta Cloud normal esto permite reducir el costo del servicio Cloud si ya poseemos una licencia de base de datos Oracle).



Una vez completados estos datos, solo resta presionar el botón "Create Autonomous Database" para que el proceso de creación comience, el cual nos redirecciona a la siguiente página mientras dura la creación de la base de datos:



Esta tarea tarda unos pocos minutos, como pueden ver a continuación:


Una vez que la base de datos se encuentra creada e iniciada, podemos ver en la pantalla principal de la misma su estado y elegir acceder a la misma usando, por ejemplo, SQL Developer Web:



Usando Oracle 21c

Una vez creada la base de datos, ingresamos a SQL Developer Web y vamos a probar de crear una tabla Blockchain. Para ello seleccionamos la opción "Create Object" estando preseleccionado el filtro de Tablas en el navegador.


A continuación definimos el nombre de la tabla y podemos crear columnas, restricciones, etc:


Luego, seleccionamos la solapa "Blockchain" en el menu del lado izquierdo, y debemos marcar la tabla como Blockchain. Podemos usar los valores por defecto o seleccionar los valores de retención / modificación de datos deseados:


Si seleccionamos la solapa "DDL" podremos ver las sentencias que SQL Developer Web genera para crear la tabla, y presionando "Create" podremos crear nuestra tabla:


Una vez creada, podemos ver el resultado del script de creación en la solapa "Results":


Así de sencillo, en pocos minutos podemos crear nuestra propia base de datos Oracle 21c y probar las nuevas funcionalidades, como Tablas Blockchain.


domingo, 13 de diciembre de 2020

¿Qué hay de nuevo en Oracle 21c?

La disponibilidad de Oracle 21c fue anunciada la semana pasada, por el momento sólo en Oracle Cloud, ya sea como Database Service Virtual Machine, Bare Metal Service, asi como Autonomous Database Free Tier en algunas regiones (Ashburn, Phoenix, Frankfurt y London).

La versión 21c introduce nuevas características que hacen de Oracle Database la opción ideal de "converged database", una base de datos que soporta todo tipos de datos (relacionales, JSON, XML, Spatial, Graph, OLAP) ofreciendo al mismo tiempo alta performance, escalabilidad, alta disponibilidad y seguridad para uso transactional (OLTP) como analitico (OLAP).

Todas las mejoras y nuevas características pueden ser consultadas en el sitio Oracle Database Features, seleccionando las opciones "21c"  y "New Features Only", como se muestra a continuación



Nuevas características disponibles

Tipo de datos JSON Nativo

Si bien Oracle soporta datos de tipo JSON desde Oracle Database 12c, los mismos se almacenaban VARCHAR2 o LOB (CLOB o BLOB). Oracle también incluye desde la version 12c herramientas para manipular y acceder a datos JSON, y tratar su base de datos Oracle como si fuera una base de datos NoSQL accediendo a ella con las API SODA (API de datos de objetos simples) disponibles para Java, Node.js, Python, C y REST.

En Oracle Database 21c, el soporte JSON es mas completo, incluyendo un tipo de datos JSON nativo que permite que los documentos JSON se almacenen en un formato binario interno, logrando que las operaciones de lectura y actualización sean 4 o 5 veces más rápidas y que las actualizaciones de documentos JSON muy grandes sean de 20 a 30 veces más rápidas.

SQL Macros

No es inusual que una declaración SQL aumente en complejidad a medida que aumenta el número de combinaciones o las operaciones realizadas en los datos recuperados se vuelven más complicadas. Tampoco es raro que los desarrolladores intenten resolver este problema utilizando procedimientos almacenados y funciones de tabla para simplificar estas operaciones de uso común. Esto funciona muy bien para simplificar el código, pero potencialmente puede sacrificar el rendimiento cuando el motor SQL cambia el contexto con el motor PL / SQL. En Oracle Database 21c, las macros SQL resuelven este problema al permitir que las expresiones SQL y las funciones de tabla sean reemplazadas por llamadas a procedimientos almacenados que devuelven una cadena literal para ser insertada en el SQL que queremos ejecutar. Es un concepto increíblemente simple y con el que estarán familiarizados los programadores de C y Rust.

Mas detalles en mi artículo "Oracle 20c - SQL Macros" sobre esta característica disponible inicialmente en la version preview de Oracle 20c

Ejecución Nativa de JavaScript

JavaScript es un lenguaje de secuencias de comandos que  permite una interacción más rica del usuario en aplicaciones web y aplicaciones móviles. Es uno de los pocos lenguajes que se ejecuta en un navegador web y se puede utilizar para desarrollar código tanto del lado del cliente como del lado del servidor. Existe una gran colección de bibliotecas JavaScript existentes para implementar programas complejos y JavaScript funciona junto con tecnologías de desarrollo populares como JSON y REST. Oracle 21c incluye la posibilidad de ejecutar en forma nativa en la base de datos código JavaScript, permitiendo ejecutar operaciones de cálculo ya existentes en JavaScript sin necesidad de mover los datos a la capa de aplicación o al browser. La funcionalidad Multilingual Engine (MLE)  de Oracle 21c (basada en GraalVM) se encarga de convertir los tipos de datos entre Oracle y JavaScript.  

Tablas BlockChain

Blockchain como tecnología permite resolver muchos de los problemas asociados con la verificación de transacciones. Oracle Database 21c aborda este problema con la introducción de Blockchain Tables. Estas tablas poseen una serie de diferencias importantes con las tablas normales. El más notable de ellos es que las filas tienen un hash criptográfico a medida que se insertan en la tabla, lo que garantiza que la fila ya no se pueda cambiar en una fecha posterior.

Mejoras a características ya existentes

Además de las nuevas características mencionadas anteriormente, Oracle 21c ofrece un gran número de mejoras, como ser:

Mejoras a In-Memory

Las siguientes son algunas de las mejoras introducidas en Oracle 21c a In-Memory
  • In-Memory Vector Join: utilizando una versión mejorada del framework Deep Vectorization SIMD, en Oracle 21c es posible acelerar operaciones como Hash Join en columnas almacenadas en el In-Memory Columnar Store.
  • Self-Managing In-Memory Column Store: Oracle 21c puede decidir en forma automática que columnas incluir en en In-Memory Columnar Store, ya sea de tablas ya configuradas para estar en In-Memory como de tablas que no lo están.
  • In-Memory Hybrid Columnar Scans: Cuando una consulta necesita acceder a columnas disoponibles en In-Memory y a columnas que no lo están, Oracle usaba directamente los datos del Row Store. En Oracle 21 existe la posibilida de hacer un scan hibrido entre datos In-Memory y datos almacenados en forma tradicional.

Parámetros init.ora basados ​​en expresiones

Permite configurar parámetros de la base de datos (init.ora) utilizando cálculos y valores dependientes de la configuración del entorno. Por ejemplo, se puede establecer el parámetro de la base de datos CPU_COUNT en la mitad del número de CPU disponibles para el sistema operativo.


Compatibilidad con memoria persistente (PMEM)

Oracle Database 21c incluye compatibilidad con sistemas de archivos PMEM, ofreciendo mejoras significativas de latencia y ancho de banda en comparación con los sistemas de archivos tradicionales que utilizan discos SSD o giratorios. La implementación de Oracle Database 21c proporciona escrituras atómicas, protección segura contra escrituras parciales durante cortes de energía inesperados. También ofrece operaciones de E / S rápidas mediante copia de memoria. Además, utiliza eficientemente la memoria caché del búfer de la base de datos omitiendo y leyendo directamente desde el almacenamiento PMEM.

Mejoras a Sharding

Para facilitar el desarrollo de aplicaciones Java frente a Oracle Sharding, Oracle 21c incluye una nueva fuente de datos Java que simplifica la obtención de conexiones sin tener que definir la clave de Sharding o administrar la clave de conexión de forma explícita. También incluye mejoras que hacen que Sharding sea mas tolerante a fallos, buscando en forma automática Shards alternativas si el Shard donde se está trabajando falla durante la ejecución.


Modelos de gráficos optimizados

Los gráficos pueden constar de millones o incluso miles de millones de bordes y vértices, por lo que las optimizaciones de almacenamiento realizadas en Oracle Graph en la versión 21c pueden resultar en grandes mejoras de espacio y rendimiento para los modelos de Graph.

miércoles, 9 de diciembre de 2020

Oracle 21c ya está disponible en Oracle Cloud



Si, leyeron bien. El titulo dice Oracle 21c y no 20c! La versión 20c no va a existir oficialmente.

La versión 21c ya esta disponible tanto en el servicio Oracle Autonomous Database (en las regiones IAD, PHX, LHR y FRA) así como en Database Cloud Service (RAC y Single Instance en VM, Single Instance en Bare Metal).


La documentación de Oracle 21c ya está disponible online en el sitio de Oracle, en el siguiente link:


Como ya se mencionó en varias oportunidades, esta version es una version "Innovation Release" por lo que no tendrá soporte extendido, como ya he explicado en este artículo.


La versión 21c estará disponible On Premise ya comenzado el año 2021, pero ya se puede descargar el cliente de 21c para Linux para conectarse a las instancias Cloud desde este link.


Muy pronto otros artículos detallando las nuevas características de Oracle 21c y demostrando la creación de la misma en Oracle Cloud!