Oracle Database 21c et Apex : quelles nouveautés ?


Publié le 09-02-2021 par Modérateur FREELANCE INFO



« Cloud first », « Innovante », « Puissante », « Adaptée pour l’apprentissage automatique ». C’est en ces termes qu’Oracle a décrit sa nouvelle version : Oracle Database 21c. Le célèbre système de gestion de bases de données (SGBD) contient pas moins de 200 innovations et inclut une évolution inédite de son outil de développement d’applications nommé APEX et disponible sur le cloud. Le but affiché d’Oracle est d’asseoir sa place de leader en fournissant le moteur de base de données convergé le plus puissant au monde tout en s’adaptant aux mutations du domaine IT. La firme a-t-elle atteint son objectif avec cette version ? Découvrez les nouveautés d’Oracle Database 21c et d’Apex.

Oracle Database 21c, une version axée sur le multi données

Prise en charge native de JSON

Oracle prend en charge depuis sa variante 12c les données JSON en les enregistrant sous forme de VARCHAR2 ou de fichiers LOB (CLOB ou BLOB). Les utilisateurs peuvent aussi interroger des documents JSON à l’aide de requêtes SQL standards.

Mais la version 21c va plus loin en intégrant un type natif : « JSON ». Désormais, les données JSON sont stockées dans un format binaire interne qui rend leur accès beaucoup plus direct. Les opérations de lecture et de mise à jour sont jusqu’à 5 fois plus rapides et jusqu’à 30 fois plus rapide pour la modification de très gros fichiers JSON.

Exemple de création d’une nouvelle table en base qui incluent des données de type  : 

JSONCREATE TABLE j_order ( id INTEGER PRIMARY KEY,po_doc JSON) ;

Oracle Database 21c intègre également une nouvelle fonction JSON_TRANSFORM qui facilite la mise à jour et la suppression de plusieurs données dans un document, en une seule opération.

 UPDATE j_order SET po_doc = JSON_TRANSFORM( po_doc, SET « $. address.city » = « Paris » , REMOVE » $. phones [*]?(@.type == « portable »)' )WHERE id = 777;

Enfin, Oracle a ajouté la prise en charge du type de données JSON aux progiciels et aux utilitaires tels que Datapump et GoldenGate.

Exécution de code Javascript dans la base de données

Oracle Database 21c comporte également une autre nouveauté très attendue : la possibilité d’exécuter du code JavaScript directement dans la base de données. Avec le package DBMS_MLE, les données de type JavaScript sont automatiquement mappées aux types de données Oracle et vice versa. Il est désormais facile d’échanger des données de manière transparente entre PL/SQL et JavaScript. Le code JavaScript peut lui-même réaliser des commandes PL/SQL et SQL via un module JavaScript intégré.

Exemple de code permettant d’exécuter du JavaScript dans une requête SQL :

DECLARE ctx 
DBMS_MLE.context_handle_t : = DBMS_MLE.create_context ();
BEGIN
	DBMS_MLE.eval (ctx, 'JAVASCRIPT', q'~console.log("Hello world !");
	DBMS_MLE.drop_context(ctx);
END;

Le JavaScript est évalué dans une session de base de données et est toujours lié à un contexte qui encapsule l’état de l’application. Ce contexte est ensuite supprimé (drop_context) dès qu’il n’est plus nécessaire.

Création d’un nouvel outil d’apprentissage automatique : AutoML

Déjà dans ses versions précédentes, Oracle intégrait des algorithmes d’apprentissage automatique (machine learning) qui permettaient d’exploiter la puissance de son SGBD pour créer des modèles prédictifs. Plus de 30 algorithmes de machine learning pouvaient s’exécuter directement sur les données contenues dans la base. Oracle Database 21c ajoute la prise en charge des algorithmes MSET-SPRT, XGBoost, et le Adam Solver (pour les réseaux neuronaux).

Mais cette nouvelle version marque surtout l’arrivée d’AutoML, un outil qui vient compléter les interfaces R et SQL existantes. Désormais, les scientifiques, data scientist et analyst pourront fournir des interfaces d’apprentissage automatique en Python à la base de données. AutoML simplifie également le développement de modèles d’apprentissage automatique prédictifs en automatisant la sélection de fonctionnalités et en facilitant les réglages nécessaires à la création de modèles précis.

Protéger ces données avec les tables Oracle Blockchain

Une autre innovation fondamentale de cette version 21c est l’apparition de tables Blockchain. Ces tables fonctionnent selon un principe essentiel pour la protection des données : l’immuabilité. Chaque ligne de données insérée est hachée de manière cryptographique lors de son ajout dans la base. Le contenu ne peut plus être modifié ou supprimé.

Le renouveau du Service de développement d’applications Oracle APEX

Oracle Application Express disponible en tant que service cloud

Oracle propose depuis plus de 15 ans la possibilité aux développeurs de programmer rapidement des applications. L’environnement de développement intégré Oracle Application Express, plus connu sous le nom « Oracle Apex » est une plate-forme low-code, c’est-à-dire nécessitant un codage minimal, qui permet de créer et déployer facilement des applications.

Désormais, APEX est fourni en tant que service de développement d’applications cloud natif lié à une base de données dans l’infrastructure cloud d’Oracle (OCI). Accessible directement depuis un navigateur, l’IDE comprend à présent une base de 1 à 500 téraoctets qui s'exécute sur un seul à 128 OCPU (une unité de mesure d’Oracle, définie comme l’équivalent de capacité CPU d’un noyau physique de processeur Intel Xeon avec hyper-threading).

Davantage de cas d’utilisation

Selon ses créateurs, Oracle APEX offre à présent aux développeurs tout ce dont ils ont besoin pour concevoir des applications complexes près de 40 fois plus rapidement.

Andrew Mendelsohn, vice-président d’Oracle, a ainsi déclaré que « APEX est suffisamment puissant pour créer la grande majorité de logiciels métiers. La réalisation d’applications basées sur les données avec un codage traditionnel devrait désormais être l’exception plutôt que la règle. ».

De plus avec APEX, les utilisateurs peuvent développer et installer leurs programmes sur toutes les plates-formes disposant du SGBD d’Oracle y compris dans le cloud.

Enfin, les logiciels créés dans APEX intègrent différents types de données (par exemple relationnelles, JSON et spatiales). Ces mêmes logiciels peuvent exploiter des variables issues de diverses sources avec notamment la synchronisation de données à partir d’ api REST.

Bibliographie : 

Annonce d’introduction d’Oracle database 21 c : https://blogs.oracle.com/database/introducing-oracle-database-21c

Présentation des nouveautés d’APEX : https://apex.oracle.com/database-features/

Conférence sur les innovations de Database Oracle 21 c : https://www.oracle.com/events/live/new-database-innovations/



Modérateur FREELANCE INFO