Michael Chen | Content Strategist | 15 octobre 2024
Le machine learning dans la base de données désigne l'intégration d'algorithmes et techniques d'IA au sein du système de gestion de base de données. Tous les processus, sélection des jeux de données, entraînement, évaluation, restent dans la base de données. Ainsi, les organisations exécutent des analyses avancées directement dans leurs bases de données, sans déplacer les données entre systèmes. On supprime la latence et les risques d'intégrité et de sécurité liés aux imports/exports.
Prenons une entreprise confrontée à une hausse soudaine de l'attrition. Des algorithmes de machine learning peuvent prédire les clients à risque de départ et recommander des campagnes personnalisées et d'autres actions de réengagement. Peut‑être avez‑vous un surplus de stock sur des articles à forte rotation. Une promotion ciblée peut écouler le stock et satisfaire vos clients. Si le ML est disponible directement dans la base de données, ces recommandations se génèrent bien plus vite, sur des données à jour. L'entreprise peut pivoter rapidement. Et sans déplacement vers un moteur ML externe, les risques d'exposition des données clients s'évanouissent.
Le machine learning dans la base de données amène les algorithmes directement dans la base de données, sans allers‑retours de données entre systèmes. Traditionnellement, on extrayait les données de la base de données pour les traiter dans une plateforme d'analytique/ML séparée. Ce qui est long et coûteux en ressources, surtout avec de grands jeux de données.
Avec le ML dans la base de données, les données restent en place et les algorithmes s'exécutent nativement dans l'environnement de la base de données. Un atout majeur : des analyses plus rapides et plus efficientes.
En clair, déplacer les données ralentit tout.
Le ML dans la base de données est particulièrement utile pour les grands jeux de données nécessaires, par exemple, à l'entraînement des modèles d'IA. Le ML dans la base de données exploite des outils natifs de la plateforme pour coder, construire et tester les modèles. Toutes les tables de la base de données deviennent mobilisables pour des projets data‑intensifs, en quelques clics.
Il apporte aussi une cohérence d'infrastructure en entraînement comme en déploiement, libérant l'IT de la création d'environnements de production ad hoc, et de la maintenance/QA associées, pour les phases suivantes.
Points à retenir
Le ML dans la base de données est fluide : les équipes travaillent avec leurs systèmes et outils de base de données habituels. De même, les analystes utilisent leurs bases de données existantes et langages de requêtes familiers pour des analyses avancées, sans nouveaux investissements logiciels ou matériels. En analysant les données directement dans la base de données, les organisations dévoilent des insights sur des données fraîches et prennent des décisions plus rapides et mieux étayées.
Sans ML dans la base de données, il faut recourir à des processus ETL/ELT et déplacer les données vers des systèmes externes. Dans ce modèle, les data scientists importent/exportent manuellement, ou intègrent via des API ; dans tous les cas, des étapes supplémentaires préparent les jeux de données au ML, avec des risques à la clé :
Le machine learning dans la base de données évite les exports/imports, garde les tâches de ML dans le même environnement que les données, sans reconstruction ni reformatage pour la compatibilité. Rester dans la base de données évite aussi de maintenir des systèmes intermédiaires.
À l'échelle, de nombreux obstacles existent avec des sources de données hétérogènes pour le ML, en particulier pour l'entraînement des modèles d'IA. Parmi ces obstacles :
Le ML dans la base de données est crucial aujourd'hui face à la croissance soutenue des volumes et de la variété de données. En clair, les tâches data‑intensives vont se complexifier ; intégrer le ML dans la base de données aux workflows est plus critique que jamais.
Dans sa forme la plus simple, le ML dans la base de données fonctionne comme le ML classique. La différence majeure : toutes les étapes de déplacement, extraction, transformation/nettoyage, sont supprimées. Cela implique toutefois des contraintes et prérequis propres à l'environnement base de données.
Voici, à grands traits, le fonctionnement du ML dans la base de données.
Tout commence par le chargement initial dans la base de données, avec un impératif : la base de données doit supporter l'approche, c'est‑à‑dire rapprocher le code des données pour bénéficier pleinement des gains d'efficacité.
Qu'ils résident dans la base de données ou sur une plateforme tierce, les algorithmes doivent être optimisés. Cela implique d'entraîner le modèle, d'évaluer les résultats et d'affiner si nécessaire. La grande différence : ces étapes se déroulent dans la base de données, pas dans un système séparé des données. On évite ainsi les déplacements de données entre systèmes et stockages pour optimiser les modèles.
Dans le machine learning traditionnel, les données doivent être déplacées des bases de données vers un référentiel, par exemple un data lake, pour entraîner le modèle, évaluer les résultats et affiner algorithmes et paramètres. Ces étapes consomment des ressources de calcul et alourdissent l'infrastructure. Des API natives de la base de données peuvent prendre en charge ces tâches, y compris lors des passages développement, test puis production.
Avec le machine learning dans la base de données, les révisions du modèle se propagent aux autres bases de données, en dev, test ou prod, via un simple versionnage de table. Les affinements s'intègrent instantanément, sans étapes supplémentaires ni goulots d'étranglement côté calcul.
Lorsque les insights sont générés par des modèles ML directement dans la base de données, on obtient des résultats quasi temps réel, sans étapes additionnelles ni latence ETL/ELT ni risques d'intégrité.
Le machine learning dans la base de données raccourcit naturellement les processus et réduit les besoins matériels, avec de nombreux bénéfices à la clé. Même si l'approche a ses limites, les bénéfices clés sont les suivants :
Déplacer des données entre systèmes est, au mieux, contraignant. Au pire, cela introduit erreurs, latence et risques de sécurité, tout en ralentissant les opérations. En gardant l'analyse dans la base de données, on supprime les obstacles ELT/ETL, export, transformation, chargement, pour un flux analytique aussi rapide que possible.
En supprimant les transferts de gros volumes, l'organisation économise en stockage et en temps d'experts, tout en réduisant la latence. Le temps, c'est de l'argent. L'efficacité accrue réduit aussi le temps passé à résoudre des problèmes matériels et logiciels, autre source d'économies.
La scalabilité dépend des ressources : plus un processus requiert budget, équipes ou CPUs, plus il est difficile à étendre à la demande. En supprimant les mouvements de données, on élimine la puissance de calcul nécessaire aux exports ou conversions de formats. Garder les données dans la base réduit les problèmes de compatibilité et améliore l'efficience de calcul, pour plus de flexibilité et une scalabilité simplifiée.
Les processus ELT/ETL sont une source majeure de doublons dans un réseau. La duplication peut provenir d'une export interrompue par un incident matériel (données corrompues) ou d'outils de transformation causant des modifications ou suppressions involontaires. Chaque étape ELT/ETL ouvre des risques qui dégradent la qualité et la précision, tout en ralentissant les traitements.
Le machine learning dans la base de données maintient les données au même endroit. Plus besoin de déplacer les données : moins d'export/import et d'entrées/sorties. Les processus s'exécutent donc dans l'environnement natif, sans dépendances externes. Cela libère des outils et capacités d'automatisation pour le déploiement, l'audit et les contrôles de maintenance. Les utilisateurs en bénéficient sans se soucier de problèmes de compatibilité ou d'intégration.
Les outils de ML dans la base de données couvrent un large spectre de services et de capacités. Souvent, ces outils reprennent des capacités proposées par l'éditeur de base de données, soit comme un sous‑ensemble intégré, soit via une connexion embarquée à la plateforme de machine learning de l'éditeur. Par exemple, Oracle Database intègre des capacités de machine learning pour éviter de déplacer les données entre systèmes. Dans ce cadre, Oracle Database propose exploration, préparation et modélisation via les outils Oracle Machine Learning (SQL, R, Python, REST, AutoML, interfaces no‑code) et un large éventail d'algorithmes.
Malgré ses atouts, le ML dans la base de données dépend fortement des fonctionnalités et capacités de l'environnement de base de données. Cela peut poser problème lors de migrations futures ou si le modèle requiert des capacités au‑delà du natif.
Parmi les inconvénients et limites les plus courants :
Si besoins et objectifs ML sont alignés, passer du test au déploiement peut être simple. Cependant, ces modèles s'appuient sur des capacités spécifiques aux outils intégrés aux bases de données de l'entreprise. Que se passe‑t‑il si le projet gagne en complexité ou nécessite une migration ? Les outils intégrés aux bases de données accélèrent la charge ML immédiate, mais l'avenir peut rester incertain : vérifiez l'alignement entre objectifs long terme et capacités actuelles.
Le ML dans la base de données ne fonctionne que sur des applications de base de données prises en charge et peut offrir un ensemble d'API limité. La situation évolue avec la montée en capacité des systèmes in‑database, mais en règle générale, les outils autonomes offrent plus de puissance, de fonctionnalités et d'expertise disponible.
Sa plus grande force est aussi une limite : en restant dans la base de données, on évite les étapes ETL/ELT, mais on contourne aussi des opportunités d'audit et de nettoyage des données.
Souvent, les bases de données ne disposent pas des mêmes ressources de calcul que des outils ML, surtout pour des modèles très lourds ou complexes nécessitant du HPC. De ce fait, la portée des modèles in‑database est souvent plafonnée. Chaque organisation et chaque projet ayant des besoins différents, ce compromis doit être évalué dès la planification.
HeatWave propose une IA générative et du ML automatisés, intégrés et sécurisés dans un service cloud unique pour les transactions et l'analytique à l'échelle d'un lakehouse. HeatWave AutoML réunit tout le nécessaire pour créer, entraîner et expliquer des modèles de ML au sein de HeatWave, sans coût supplémentaire. Avec le ML dans la base de données de HeatWave, inutile de déplacer les données vers un service ML distinct. Ils appliquent facilement et en toute sécurité entraînement, inférence et explicabilité du modèle aux données stockées dans MySQL et dans l'object store. HeatWave est disponible sur Oracle Cloud Infrastructure, Amazon Web Services et Microsoft Azure.
Pour se lancer, les organisations doivent s'assurer que leur base de données supporte le ML in‑database, un véritable changement d'échelle pour tirer pleinement parti du ML. En amenant les algorithmes aux données, et non l'inverse, les décideurs obtiennent des analyses plus rapides et plus efficientes.
Les modèles d'IA vont des LLM aux modèles de ML plus simples, avec des tailles et complexités variées. Leur point commun ? Une forte appétence pour les données. Voici 4 composants d'une infrastructure data prête pour l'IA.
Comment utiliser efficacement le ML dans la base de données ?
Le ML in‑database nécessite une base de données qui supporte ces capacités. Il faut prendre en compte les ressources de calcul de la base de données, ainsi que la taille et la portée de la base de données et du modèle ML.
Quels sont les avantages du ML dans la base de données ?
Le ML dans la base de données supprime la nécessité d'extraire et de déplacer les données entre systèmes. Il en découle des gains d'efficacité et, dans certains cas, une réduction des délais de plusieurs semaines à quelques jours en éliminant les outils ETL/ELT externes. Globalement, cela réduit le TCO et accroît la montée en charge et l'efficacité opérationnelle via une moindre consommation de ressources.
Quels points de vigilance avec le ML dans la base de données ?
Avant de choisir le ML in‑database, pesez les facteurs suivants :
Ces questions clarifient les avantages et limites du ML in‑database et doivent être examinées projet par projet.
Quelles tendances pour le ML dans la base de données ?
Les fournisseurs enrichissent sans cesse leurs capacités de ML in‑database, annonçant plusieurs tendances. À mesure que les outils et plateformes supportent le ML dans la base de données, les data scientists pourront construire et déployer des modèles plus complexes. Cela apporte aussi plus de transparence, le modèle vivant sur une plateforme unifiée plutôt que dans des outils ML isolés. Des capacités accrues signifient aussi une meilleure exploitation de grands jeux de données, et donc un entraînement, des tests et des déploiements plus rapides.