X

Entérate cómo la nube y las nuevas tecnologías habilitan la transformación en los negocios y en la sociedad

Presentación de Oracle Database 21c

This is a syndicated post, view the original post here

Versión más reciente presenta varias funcionalidades y mejoras nuevas que extienden aun más los casos de uso de base de datos, aumentan la productividad de los desarrolladores, analistas y científicos de datos, y mejoran el desempeño de las consultas.

Por Willie Hardie*

La versión Innovation más reciente de la base de datos más popular del mundo, Oracle Database 21c, está ahora disponible para todos "cloud first" en la Database Service Virtual Machine de Oracle Cloud (para RAC y single instance) y Bare Metal Service (single instance). También está disponible en Autonomous Database Free Tier Service en las regiones de Ashburn (IAD), Phoenix (PHX), Frankfurt (FRA) y Londres (LHR). La disponibilidad de Oracle Database 21c para plataformas locales (incluyendo Exadata, Linux y Windows) seguirá a continuación en 2021.

-Lee más: Empieza a crear aplicaciones de low-code en Oracle Cloud con Oracle APEX Service

Para un Futuro Basado en Datos
Oracle siempre ha tomado el abordaje de que el almacenamiento y administración de los datos en una base de datos convergente son más eficientes y productivos que la división en múltiples motores de uso único - que inevitablemente genera problemas de integridad de datos, consistencia y seguridad. En pocas palabras, una base de datos convergente es una base de datos multi-modelo, multi-inquilino, multi-carga de trabajo.

Oracle Database es totalmente compatible con varios modelos de datos y métodos de acceso, simplifica la consolidación mientras garantiza el aislamiento, y se destaca en casos de uso típicos de cargas de trabajo con bases de datos, tanto operativos como analíticos. Haga clic en la imagen a continuación para ver una presentación den vídeo a la base de datos convergente de Oracle.

La generación 21c de la base de datos convergente de Oracle, por lo tanto, ofrece a los clientes la mejor compatibilidad de la categoría para todos los tipos de datos (por ejemplo, relacionales, JSON, XML, espaciales, gráficos, OLAP, etc.), y desempeño, escalabilidad, disponibilidad y seguridad líderes en el mercado para sus cargas de trabajo operacionales, analíticas y mixtas. La estrategia convergente de Oracle también garantiza que los desarrolladores se beneficien de todas las capacidades clave de Oracle Database 21c (por ejemplo, transacciones ACID, consistencia de lectura, escaneos y DML paralelos, backups online etc.) - habilitándoles para concentrarse en el desarrollo de aplicaciones sin tener que preocuparse por la persistencia de datos.

Novedades en Oracle Database 21c
Esta versión Innovation más reciente presenta varias funcionalidades y mejoras nuevas que extienden aun más los casos de uso de base de datos, aumentan la productividad de los desarrolladores, analistas y científicos de datos, y mejoran el desempeño de las consultas.  La siguiente lista es un subconjunto de las novedades de Oracle Database 21c.  Para ver una reseña más abarcadora por favor consulte la Guía de Nuevas Funcionalidades o la App de Funcionalidades y Licenciamiento de Database.

Tablas de Blockchain
La tecnología Blockchain ha traído muchas promesas a respecto de resolver una cantidad de problemas asociados a la verificación de transacciones. Al mismo tiempo que se ha progresado considerablemente en incluir esta tecnología a las empresas, una serie de problemas persiste. Posiblemente, el mayor de todos es la naturaleza compleja de la construcción de aplicaciones compatibles con un libro distribuido. Oracle Database 21c aborda este problema con la introducción de Tablas de Blockchain. Estas tablas operan como cualquier tabla de montón, pero con una serie de importantes diferencias. La más notable de todas es que las filas están parceladas criptográficamente cuando se introducen en la tabla, asegurando que la fila no pueda ser posteriormente modificada.

Esencialmente, esto crea una tabla donde solo se pueden introducir datos, donde los usuarios no pueden actualizar ni eliminar filas de Tabla Blockchain. Además, los usuarios tampoco pueden truncar datos, soltar particiones ni soltar Tablas de Blockchain dentro de ciertos límites de tiempo. Estas importantes capacidades significan que los otros usuarios pueden confiar en que los datos contenidos en una Tabla de Blockchain es un registro preciso de los eventos.

Datos JSON Nativos
Oracle agregó la compatibilidad con JSON en Oracle Database 12c, almacenando datos JSON como VARCHAR2 o LOB (CLOB o BLOB). Esto permite que los desarrolladores construyan aplicaciones con la flexibilidad de un modelo de diseño sin esquema, con todo el poder de Oracle Database. Por ejemplo, los usuarios podrán consultar documentos JSON usando SQL estándar, aprovechar análisis avanzados, indexar atributos individuales o documentos enteros, y procesar billones de documentos JSON en paralelo.

Oracle también proporcionó las herramientas para descubrir cuáles atributos componen los documentos JSON, y de este modo crear visualizaciones relacionales por encima de las colecciones. También fue posible que los desarrolladores tratasen su Oracle Database como si fuera una base de datos NoSQL, al accesar con SODA (Simple Object Data API) disponibles para Java, Node.js, Python, C y REST.

En Oracle Database 21c, la compatibilidad con JSON mejora aun más con la inclusión de un tipo de datos Nativo, "JSON". Esto significa que, en vez de tener que analizar JSON en operaciones de lectura o actualización, el análisis solo se da cuando se introducen datos y el JSON es luego mantenido en un formato binario interno que facilita enormemente el acceso. Esto puede resultar en operaciones de lectura y actualización 4 o 5 veces más rápidas, y actualizaciones a documentos JSON muy grandes siendo 20 a 30 veces más rápidas.

El nuevo tipo de datos no es el único cambio introducido para JSON en Oracle Database 21c, Oracle también agregó una nueva función JSON_TRANSFORM que simplifica mucho la actualización y eliminación de múltiples atributos de un documento con una sola operación.

Oracle también agregó la compatibilidad para el nuevo tipo de archivo JSON a drivers de integración y utilidades como Datapump y GoldenGate.

Ejecutar JavaScript dentro de Oracle Database
Javascript es un lenguaje de script omnipresente que, entre sus muchos usos, permite una interfaz del usuario más rica en aplicaciones web y móviles. Es uno de los pocos lenguajes que puede ejecutarse en un navegador web, y puede usarse para desarrollar código tanto del lado del cliente como del servidor. Hay una gran colección de bibliotecas de Javascript para la implementación de programas complejos, y JavaScript trabaja en conjunto con populares tecnologías de desarrollo tales como JSON y REST.

En Oracle Database 21c, ahora los desarrolladores pueden ejecutar fragmentos de código dentro de la base de datos, donde los datos están. Esto les permite ejecutar tareas computacionales breves fácilmente expresadas en JavaScript, sin tener que mover los datos a un nivel medio o a un navegador. El Motor Multilenguaje (MLE) de Oracle Database 21c mapea automáticamente tipos de datos JavaScript a tipos de Datos de Oracle Database y viceversa, para que los desarrolladores no tengan que lidiar ellos mismos con la conversión de tipo de datos. Además, el código JavaScript puede ejecutar por sí mismo PL/SQL y SQL por medio de un módulo de JavaScript incorporado. Todo esto permite que los desarrolladores de APEX puedan usar JavaScript como un lenguaje de primera clase dentro de sus aplicaciones APEX, sin tener que sacrificar el poder de PL/SQL y SQL. Aquí está un ejemplo de código que utiliza el paquete DBMS_MLE PL/SQL para ejecutar código JavaScript:

Macros SQL
No es raro que una declaración SQL crezca en complejidad a medida que el número de joins aumenta, o las operaciones desempeñadas en los datos recuperadas se implican más. Tampoco es común que los desarrolladores traten de resolver este problema utilizando procedimientos almacenados y funciones de tabla para simplificar estas operaciones comunes. Esto funciona muy bien para simplificar el código pero puede, potencialmente, sacrificar el desempeño cuando el motor SQL intercambia contextos con el motor PL/SQL. En Oracle Database 21c, los Macros de SQL resuelven el problema permitiendo que las expresiones de SQL y las funciones de table sean reemplazadas con llamadas a procedimientos almacenados que devuelven una cadena literal para ser introducida en el SQL que queremos ejecutar. Es un concepto muy simple con el que los programadores de C y de Rust están familiarizados. Los siguientes ejemplos triviales muestran esto en acción.

Primero, creemos una tabla e introduzcamos algunas filas.

El SQL a continuación calcula la tasa de valor agregado en las filas en nuestra tabla LINE_ITEMS

Sin embargo, Oracle Database 21c puede simplificarlo al crear una función con la nueva palabra clave SQL_MACRO y el retorno de una cadena.

Luego, los desarrolladores pueden simplemente referirse al Macro SQL dentro de una declaración seleccionada. El SQL ejecutado es exactamente el mismo que el de la Declaración SQL original, sin el gasto general de un cambio de contexto cada vez que la fila se cierra para ejecutar la función.

También vale la pena señalar que los desarrolladores pueden usar el mismo abordaje cuando crean Visualizaciones Parametrizadas y Tablas Polimórficas.

Mejoras In-Memory
El análisis de datos por medio de un modelo columnar puede resultar en enormes mejoras en el desempeño, comparado con el uso de un modelo basado en filas. Sin embargo, la actualización de datos es significativamente más rápida cuando se usan datos contenidos en filas. Oracle Database In-Memory es único, en el sentido en que permite que los usuarios se beneficien de ambos abordajes. Con esta capacidad, los usuarios pueden ejecutar sus aplicaciones sin modificarlas y Oracle Database In-Memory mantendrá un almacenamiento columnar que permite consultas analíticas extremadamente rápidas. The Oracle Database In-Memory Blog es un recurso fantástico para aprender más sobre esta poderosa tecnología.

Oracle Database 21c presenta tres importantes mejoras para aumentar el desempeño y facilitar el uso con la utilización de Oracle Database In-Memory:

•    Database In-Memory Vector Joins: Con el uso de su recientemente mejorado Deep Vectorization SIMD Framework, Oracle Database In-Memory puede acelerar operaciones tales como hash joins contenidos en el almacenamiento columnar in-memory. En el caso de un hash-join, el join es dividido en operaciones menores que pueden ser pasadas al procesador de vectores. La mesa de valores-clave utilizada es optimizada para SIMD y sirve para hacer corresponder filas a la izquierda y a la derecha del join. Este abordaje puede resultar en un desempeño del join hasta 10 veces mayor que los métodos tradicionales.

•    Almacenamiento Columnar In-Memory Auto-administrado
Cuando se lanzó Oracle Database In-Memory, los usuarios tenían que declarar explícitamente cuáles columnas debían ser pobladas dentro del Almacenamiento Columnar In-Memory. Esto daba a los usuarios un alto nivel de control cuando la memoria era escasa. Oracle Database 18c agregó una funcionalidad que colocaba objetos automáticamente en el Almacenamiento Columnado si eran activamente usados, y los retiraba si no lo eran. Sin embargo, los usuarios seguían teniendo que indicar cuáles objetos debían ser considerados. En Oracle Database 21c, colocar INMEMORY_AUTOMATIC_LEVEL en HIGH garantiza que todos los objetos sean considerados, simplificando así el trabajo de administrar el almacenamiento columnar In-memory.

•    Escaneos Híbridos Columnares In-Memory: Frecuentemente, es imposible tener todas las columnas de todas las tablas pobladas en la Column Store porque la memoria es limitada. En muchas instancias, esto no es un problema porque de vez en cuando los usuarios pueden encontrar una consulta que necesita datos (columnas de la Column Store y datos que solo están disponibles en el almacenamiento de filas. En versiones anteriores de Oracle Database In-Memory, dichas consultas se ejecutarían simplemente contra el almacenamiento de filas. ¡En Oracle Database 21c, los usuarios pueden usar ambos! Ahora el optimizador puede elegir escanear la In-Memory Column Store y traer valores proyectados de columnas del almacenamiento de filas cuando lo necesite. Esto puede resultar en mejoras de desempeño significativas.

Otras Mejoras Notables
Por favor, vea la Guía de Nuevas Funcionalidades de Oracle Database 21c para una lista (larga) completa, pero aquí están algunas mejoras notables más que interesarán a desarrolladores de DBAs, analistas y científicos de datos:

•    Parámetros init.ora basados en expresiones: Ahora es posible basar parámetros de base de datos (init.ora) en cálculos hechos en la configuración del sistema. Por ejemplo, configurar el parámetro de base de datos CPU_COUNT en la mitad de los CPUs disponibles para el sistema operativo.

•    Zone Maps Automáticos: Ahora Oracle Database 21c en Exadata puede crear automáticamente Zone Maps basándose en los predicados utilizados en las consultas. Antes esta era una operación manual que demandaba que los usuarios entendieran la forma en que los datos serían abiertos. Los mapas de zona automáticos pueden reducir dramáticamente el número de bloques que hace falta escanear.

•    Los algoritmos de Aprendizaje Automático (ML) In-Database incluidos en Oracle Database permite que los científicos de datos aprovechen el poder de Oracle Database creen modelos predictivos (usando más de 30.000 algoritmos) que funcionan directamente con los datos contenidos en tablas de base de datos (en vez de extraer datos a un sistema de archivos o base de datos especializada para análisis "sandbox").

El abordaje de Oracle de mover algoritmos de ML a los datos subyacentes minimiza el movimiento de datos, logra escalabilidad, preserva la seguridad de los datos y acelera la implementación time-to-model para análisis de tipo predictivo. Oracle Database 21c agrega compatibilidad con algoritmos MSET-SPRT y XGBoost, y el solucionador de Adam Optimization para Neural Network Algorithm.

•    AutoML: Oracle Database 21c simplifica aun más que los científicos y analistas de datos aprovechen el aprendizaje automático in-database al proporcionar una interfaz de aprendizaje automático Python a la base de datos. Esta nueva herramienta del cliente complementa las interfaces R y SQL ya disponibles. AutoML simplifica el desarrollo de modelos predictivos de aprendizaje automático al automatizar la selección de modelo, la selección de funcionalidades y los procesos de adecuación de parámetros necesarios para la creación de modelos precisos.

•    Modelos Graph Optimizados: Los Graphs pueden estar compuestos de millones y hasta billones de bordes y vértices, por lo que las optimizaciones de almacenamiento que hemos realizado en las capacidades de Graph de la versión de demostración de Oracle Database 21c pueden llevar a grandes mejoras de espacio y desempeño para sus modelos.

•    Mejoras de Sharding: Para facilitar el desarrollo de aplicaciones Java en Oracle Sharding, hemos introducido una nueva Java Data Source que simplifica la obtención de conexiones sin tener que definir la clave shard o administrar la llave de conexión explícitamente. También hemos hecho al sharding más tolerante a errores, buscando automáticamente las alternativas si el shard con el que se trabaja falla durante la ejecución.

•    Compatibilidad con Memoria Persistente (PMEM): Oracle Database 21c incluye la compatibilidad con sistemas de archivos PMEM que pueden ofrecer mejoras significativas de latencia y ancho de banda en relación a los sistemas tradicionales de archivos que usan SSD o discos rígidos. Sin embargo, las aplicaciones que los usan deben entender como escribir en ellos de manera segura y la manera más eficiente de usarlos en conjunto con otros recursos de Sistema Operativo. La implementación de Oracle Database 21c proporciona inscripción atómica, protegiendo contra inscripciones parciales durante cortes de energía inesperados. También ofrece operaciones I/O rápidas usando memory copy. Además, usa eficientemente el caché de buffer de la base de datos al leer directamente del almacenamiento PMEM.

Innovation y Versiones Estables
Oracle Database 21c es una Versión Innovation para que los clientes innoven más rápido, con funcionalidades nuevas y mejoradas para casos de uso de carga de trabajo y aplicaciones que pueden beneficiarse en consecuencia. Los clientes deben saber que, a diferencia de las versiones estables, las versiones Innovation tienen una ventana de soporte limitada (normalmente 2 años). Siendo así, pensando en mantener la continuidad empresarial, los clientes que todavía usan versiones anteriores (por ejemplo,1gR2, 12cR1, 12cR2, 18c) son estimulados a actualizar a Oracle Database 19c - la versión estable actual, con soporte hasta abril de 2027.

Para ver las ventanas de soporte y disponibilidad de la última Oracle Database 21c en todas las plataformas locales (incluyendo Exadata) y en Oracle Cloud (incluyendo Autonomous Database Services), por favor refiérase a MyOracle Support (MOS) nota 742060.1.

*Willie Hardie es vicepresidente de gestión de productos de Oracle Database

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.