AndSus - stock.adobe.com

Oracle veut mettre MySQL HeatWave en pilotage automatique

Oracle a mis à jour son service managé dédié à la base de données MySQL avec de nouvelles fonctionnalités censées aider à l’automatisation et à l’optimisation des opérations de base de données ainsi qu’à l’exécution des requêtes. Si cette aide de camp semble intéressante, elle comporte néanmoins quelques limites.

Oracle a annoncé une actualisation majeure de son service cloud MySQL nommé HeatWave.

Le géant technologique a déclaré que la mise à jour est généralement disponible dès maintenant.

Oracle a présenté HeatWave pour la première fois en décembre 2020, la plateforme était initialement connue sous l’appellation MySQL Analytics Engine. HeatWave adjoint à une version managée de MySQL sur Oracle Cloud Infrastructure (OCI) la capacité d’exécuter en mémoire des workloads de traitement analytique en ligne (OLAP) parallèlement au traitement transactionnel en ligne (OLTP). Plus précisément, il s’agit d’un moteur de traitement de requêtes « distribué, scalable, in-memory » doté d’une fonction de compression « columnar hybrid ».

HeatWave se compose d’un plug-in couplé à MySQL et au moteur InnoDB qui communique avec un cluster dédié (contenant jusqu’à 64 nœuds) ainsi qu’une couche de stockage reposant sur OCI Object storage.

Si la dernière mise à jour en date vise principalement à persister les données de HeatWave dans OCI et à stabiliser les performances réseau, Oracle en profite pour promouvoir un ajout de la précédente release. En juillet, le fournisseur a introduit une fonction baptisée Advisor. Elle se nomme désormais MySQL Autopilot. Celle-ci a pour objectif d’optimiser l’accélération des requêtes et le provisionnement des bases de données. Les utilisateurs de HeatWave bénéficieront également de la nouvelle capacité de gestion des données MySQL scale-out qui doit améliorer le chargement des données.

MySQL Autopilot : du machine learning infusé dans HeatWave

Outre l’architecture in-memory, la distribution des calculs et des instances spécifiques (MySQL.HeatWave.VM.Standard.E3), HeatWave réclame de préparer convenablement les ressources associées au système et les données à traiter, pour obtenir les performances promises par Oracle. Sa solution est censée « balayer » celles des services concurrents dont Snowflake, Amazon Aurora, RDS, RedShift ou Google BigQuery pour un coût de compute (et non de stockage) à minima divisé par deux, selon une suite de benchmarks commandée par Oracle sur des data sets TPC-H et CH.

En ce sens, les algorithmes de recommandation et les capacités d’automatisation d’Autopilot dénotent un développement positif pour les utilisateurs d’Oracle, selon Ron Westfall, analyste de Futurum Research.

« Je considère que l’engagement d’Oracle à développer des capacités de machine learning dans l’ensemble de son portfolio porte ses fruits avec les innovations de MySQL HeatWave », déclare-t-il.

Ron Westfall note que MySQL Autopilot apporte l’autoapprovisionnement, la récupération automatique des erreurs et la planification automatique des ressources, qui sont nécessaires pour répondre aux exigences actuelles d’élasticité et de maximisation des charges de travail hybride OLTP/OLAP (HTAP).

 Il ajoute que les capacités de machine learning de MySQL Autopilot peuvent échantillonner des données pour fournir des recommandations sur la façon dont le système peut être optimisé.  

MySQL Autopilot : un assistant plus qu’un pilote automatique

Autopilot collecte en effet de nombreuses données que le système utilise pour entraîner les modèles ML, explique Nipun Agarwal, vice-président du développement avancé de MySQL HeatWave chez Oracle.

Par exemple, MySQL HeatWave recueille des statistiques sur le temps d’exécution de différents types de requêtes et sur la manière dont les données ont été accédées.

Capture d'écran Oracle MySQL Autopilot.
L'architecture de MySQL HeatWave utilise le machine learning pour optimiser les opérations de base de données.

Grâce à ces informations récoltées au fil du temps, le système MySQL Autopilot peut formuler des recommandations plus précises. Oracle mise principalement sur l’auto scheduling qui priorise les requêtes à courte durée d’exécution et l’amélioration de la planification des requêtes en analysant leurs durées, les ressources nécessaires afin d’optimiser les prochains jobs (le système de cache associé supporte 4 à 5 000 requêtes uniques de complexité moyenne, selon la documentation). Aussi, un des modèles ML fournit une estimation du temps d’exécution des requêtes, ce qui permet de stopper les workloads supposément chronophages et budgétivores avant qu’il ne soit trop tard.

Avant cela, Autopilot comprend trois techniques pour charger les données. Auto Parralel Load doit exclure les schémas, tables et colonnes non compatibles, générer un script avec des déclarations DDL pour chaque table, appliquer les bonnes options pour provisionner la mémoire et optimiser la parallélisation des chargements. Auto Encoding, lui produit des indicateurs sur l’encodage des chaînes de caractères liés aux colonnes. Auto Data Placement, lui, propose des conseils pour placer correctement les clés utilisées afin de partitionner les données des tables entre les nœuds HeatWave. Chaque recommandation vise à grappiller de la RAM au prochain job.

Selon Nipun Agarwal, Oracle a développé de nouvelles méthodes d’échantillonnage des données et d’extrapolation des statistiques pour construire les modèles d’apprentissage automatique qui sous-tendent MySQL Autopilot.

Oracle emploie déjà les capacités de machine learning avec la plateforme Oracle Autonomous Database disponible depuis OCI. Alors que les équipes peuvent collaborer entre Oracle Database et MySQL sur les idées et les techniques, MySQL Autopilot est spécifique à HeatWave, précise le responsable.

Mais le véritable travail d’optimisation des requêtes et de la préparation des données incombe encore aux ingénieurs et aux développeurs qui devront interpréter les conseils d’AutoPilot. À noter que la documentation pour déployer les clusters HeatWave est accessible depuis le site Web d’Oracle, tandis qu’il faut consulter celle de MySQL pour comprendre son utilisation.

En résumé, si l’on se permet de comparer MySQL AutoPilot aux cinq différents niveaux d’aide à la conduite d’une voiture autonome, la fonctionnalité se situerait entre un niveau 1 et 2. C’est-à-dire qu’elle est capable de proposer une assistance et une automatisation partielles sans pour autant éliminer le besoin d’une expertise humaine.

Base de données open source, accélérateur propriétaire

La base de données MySQL est une technologie open source, alors que le service HeatWave est propriétaire et ne fonctionne que sur Oracle Cloud Infrastructure.

Nipun Argawal assure que les instances MySQL installées sur OCI sont toujours issues de la dernière version stable du projet open source. HeatWave, et maintenant MySQL Autopilot, sont des capacités supplémentaires qui complètent la base de données standard.

Alors que MySQL Autopilot ne tourne que dans le cloud d’Oracle, le vice-président garantit que le middleware libre a reçu de nombreuses améliorations qui justifient le déploiement de ces nouvelles capacités.

Par exemple, il affirme que l’optimiseur SQL du projet open source MySQL a été corrigé pour permettre certaines des capacités d’accélération des requêtes qui font à présent partie de MySQL HeatWave. Le SGBD standard a également été mis à jour pour optimiser la vitesse d’ingestion des données.

« Tous les changements qui sont spécifiques au cloud n’ont évidemment pas leur place dans le projet open source », défend M. Agarwal. « Mais nous apportons beaucoup d’autres améliorations ».

Pour approfondir sur Base de données