Déployer une charge de travail migrée sur MongoDB vers Oracle Database Appliance
Les charges de travail et les applications qui utilisent des documents et des bases de données de documents pour faire évoluer les schémas et les applications de données sont populaires en raison de la flexibilité qu'elles offrent aux développeurs. La flexibilité du schéma, le développement rapide et l'évolutivité permettent un prototypage accéléré des fonctions d'application, une évolution plus facile des applications et la capacité de créer des applications et des fonctions itératives plus petites que les développeurs peuvent mettre à l'échelle pour répondre à une grande base d'utilisateurs. Cependant, ces types de charges de travail ont leurs défis, notamment des garanties transactionnelles plus faibles, la polyvalence des requêtes de données et l'incapacité à prendre en charge d'autres charges de travail sur des documents, telles que l'analyse ou l'apprentissage automatique.
Et si ces charges de travail pouvaient bénéficier des avantages des bases de données documentaires traditionnelles et tirer parti des avantages des bases de données relationnelles? Par exemple, bénéficiez de garanties transactionnelles et de fonctionnalités supplémentaires renforcées, telles que l'analyse et l'apprentissage automatique, sans avoir à répliquer les données vers une autre base de données ou un autre système.
Oracle Database 23ai, conçu pour simplifier le développement d'applications d'IA, de microservices, de graphiques, de documents, spatiales et relationnelles, est une plate-forme de base de données convergée qui offre tout ce dont vous avez besoin dans une solution puissante.
Oracle Database Appliance est un système hautement intégré qui simplifie le déploiement, la gestion et la prise en charge des solutions Oracle Database à haute disponibilité. En intégrant des applications logicielles, de calcul, de stockage et de réseau, il offre des performances fiables pour une grande variété d'applications OLTP, d'analyse, d'entreposage de données et d'intelligence artificielle.
Architecture fonctionnelle
Cette architecture de référence se concentre sur le déploiement de la charge de travail migrée, et non sur le processus de migration. Pour en savoir plus sur le processus de migration, voir la section Explorer plus.
L'une des principales caractéristiques utilisées dans cette architecture est l'API Oracle Database pour MongoDB, qui permet aux applications d'interagir avec des collections de documents JSON dans Oracle Database à l'aide des commandes MongoDB. Cela permet au code d'application existant de fonctionner avec les données stockées dans Oracle Database 23ai, sans avoir à refactoriser le code.
Le diagramme suivant illustre une application type composée d'une base de données, d'un niveau dorsal et d'un niveau frontal.
mongodb-logical-arch-migration.zip
Une pile populaire utilisée pour implémenter ce modèle est la pile MEAN :
- MongoDB : Documenter la base de données
- Express : Cadre dorsal
- Angulaire : Cadre frontal
- Node.js : Serveur dorsal
Cette architecture utilise une pile MEAN comme exemple de déploiement existant pour migrer vers Oracle Database 23ai. La migration de cette charge de travail vers Oracle Database 23ai comprend les étapes de haut niveau suivantes :
- Déployez et configurez Oracle Database Appliance.
- Créez une instance Oracle Database 23ai dans Oracle Database Appliance.
- Migrez les métadonnées et les données de MongoDB vers Oracle Database.
- Créez des machines virtuelles dans Oracle Database Appliance pour exécuter le niveau dorsal et Oracle REST Data Services.
- Déployez et configurez le niveau dorsal et Oracle REST Data Services dans les machines virtuelles Oracle Database Appliance.
- Configurez Oracle REST Data Services pour activer l'API MongoDB afin que l'application puisse communiquer avec la base de données à l'aide des pilotes MongoDB.
- Configurez l'application pour qu'elle utilise la nouvelle chaîne de connexion à la base de données.
- Connectez l'application dorsale à Oracle Database à l'aide des mêmes outils et pilotes MongoDB utilisés dans l'application.
Après la migration de la charge de travail vers Oracle Database, vous pouvez améliorer les fonctionnalités en activant des fonctions supplémentaires, telles qu'une sécurité améliorée, des rapports opérationnels, des analyses et l'apprentissage automatique, sans copier les données hors de la base de données. Oracle Database 23ai est une plate-forme multimodèle à charges de travail multiples qui vous permet d'intégrer de façon transparente des fonctions utilisant des types de données relationnelles, spatiales, graphiques ou vectorielles en même temps que votre application existante.
Pour améliorer l'extensibilité de la charge de travail, allouez plus de calcul et de mémoire à la base de données en ajustant les coeurs d'UC affectés à la base de données et aux machines virtuelles d'application.
Pour améliorer la disponibilité, Oracle Database Appliance dispose d'un système hautement disponible entièrement redondant, la haute disponibilité d'Oracle Database Appliance, qui utilise deux noeuds de calcul pour déployer la base de données et le niveau dorsal. S'il est utilisé avec Oracle Database 23ai Real Application Clusters, une haute disponibilité totale est obtenue.
Architecture physique
Niveau frontal
- Le déploiement courant est utilisé.
- Les utilisateurs peuvent se connecter à partir d'Internet ou du réseau d'entreprise.
- Il existe une capacité DNS, configurée pour acheminer les demandes vers le centre de données de secours en cas de basculement.
Niveau dorsal
- Les applications existantes sont déployées dans les machines virtuelles Oracle Database Appliance pour permettre la consolidation de la charge de travail et réduire les coûts globaux.
- Les services Oracle REST Data Services gérés par le client sont colocalisés et déployés sur les machines virtuelles Oracle Database Appliance des serveurs d'applications afin que le code d'application puisse se connecter à Oracle Database 23ai au moyen d'Oracle REST Data Services.
- L'extensibilité du niveau dorsal est obtenue en ajoutant d'autres machines virtuelles Oracle Database Appliance, si nécessaire, en ajustant implicitement Oracle REST Data Services, installées dans chaque machine virtuelle du serveur d'applications.
Niveau de base de données
- Oracle Database 23ai est déployé sur Oracle Database Appliance dans une configuration de noeud unique, utilisée pour stocker et transmettre des documents JSON au niveau dorsal.
- L'API Oracle Database pour MongoDB est activée à l'aide d'Oracle REST Data Services, qui permet d'utiliser le code d'application existant sans modifier le code.
Continuité des activités
- Une stratégie de récupération après sinistre basée sur la sauvegarde est utilisée.
- Pour vous assurer que les mêmes objectifs de niveau de service d'application sont tenus à jour lors de l'exécution de la charge de travail à partir du centre de données de secours, exécutez une infrastructure Oracle Database Appliance comparable à cet emplacement.
Le diagramme suivant illustre cette architecture de référence.
La conception de l'architecture physique :
Continuité des activités
- Il existe deux centres de données avec des déploiements identiques : l'un actif, l'autre de secours.
- Les sauvegardes sont stockées sur le stockage de fichiers réseau (NFS) et répliquées sur le site de secours.
- En cas de défaillance du centre de données actif, la dernière sauvegarde permet de lancer rapidement les charges de travail dans le centre de secours.
- Le pilotage du trafic DNS dirige les demandes des utilisateurs vers le centre de données actif. Si les sondes de vérification de l'état du DNS exécutées au niveau de l'application échouent de façon récurrente, le DNS est reconfiguré pour acheminer le trafic vers la charge de travail du centre de données de secours.
- Un équilibreur de charge répartit les demandes entrantes entre plusieurs machines virtuelles de niveau dorsal, empêchant ainsi un point de défaillance unique.
- Oracle REST Data Services géré par le client est déployé et configuré sur les machines virtuelles de niveau dorsal. Chaque fois qu'une machine virtuelle est ajoutée, le serveur d'applications et Oracle REST Data Services sont ajustés en conséquence.
- L'objectif de temps de récupération dépend du déploiement de tous les composants de charge de travail dans le centre de données de secours, y compris la restauration de la base de données à partir de la dernière sauvegarde répliquée.
- L'objectif de point de récupération (OPR) dépend de la sauvegarde répliquée la plus récente.
Service de réseau
- Un sous-réseau public reçoit les demandes d'utilisateur entrantes provenant d'Internet.
- La carte d'interface réseau publique (NIC) d'Oracle Database Appliance est attachée au sous-réseau privé de charge de travail.
- Les demandes d'équilibreur de charge sont acheminées vers les machines virtuelles de niveau dorsal Oracle Database Appliance qui servent les demandes des utilisateurs.
Base de données
- Oracle Database 23ai est déployé dans Oracle Database Appliance.
- Les données sont stockées de manière redondante, avec une mise en miroir double ou triple, pour une résilience accrue des données.
- Les sauvegardes de base de données automatisées sont configurées pour la sauvegarde sur NFS, ces sauvegardes sont répliquées sur le NFS du centre de données de secours, à l'aide des capacités de réplication NFS existantes.
Sécurité
- Les fonctionnalités de contrôle d'accès basé sur le rôle de base de données (RBAC) sont utilisées pour sécuriser la charge globale.
- Les données stockées dans la base de données peuvent être chiffrées à l'aide du chiffrement transparent des données (TDE), si l'option de sécurité avancée d'Oracle Database Enterprise Edition est utilisée.
Les améliorations potentielles de la conception qui ne sont pas décrites dans ce déploiement pour des raisons de simplicité comprennent :
- Tirez parti d'un système à haute disponibilité d'Oracle Database Appliance composé de deux noeuds de calcul pour assurer la haute disponibilité des charges de travail dorsales. Déployez des machines virtuelles avec redémarrage et basculement automatiques sur les deux noeuds.
- Utilisez Oracle Database Appliance haute disponibilité avec Oracle Database Enterprise Edition et Oracle Real Application Clusters (Oracle RAC) pour assurer la haute disponibilité du niveau de base de données.
Recommandations
- Déploiement d'application
Tirez parti de plusieurs machines virtuelles de niveau dorsal pour accroître la résilience. Activez la gestion des ressources d'UC par Oracle Database Appliance, pour affecter la bonne quantité de machines virtuelles, garantissant la qualité de service nécessaire à l'application.
- Sécurité
Envisagez d'utiliser les fonctions d'option de sécurité avancée d'Oracle Database pour chiffrer les données au repos et activer la rédaction dynamique des données, une licence Oracle Database Enterprise Edition est requise pour utiliser l'option de sécurité avancée d'Oracle Database.
- Observabilité
Envisagez d'utiliser Oracle Data Safe pour renforcer la sécurité de la charge de travail et être en mesure d'effectuer des vérifications de base de données.
- Efficacité opérationnelle
Envisagez d'utiliser l'infrastructure en tant que code, à savoir Terraform, en conjonction avec la trousse SDK Oracle Database Appliance, pour automatiser le déploiement des machines virtuelles et des bases de données.
- Évolution des applications
- Envisagez de déployer l'analyse opérationnelle et la production de rapports en temps réel dans Oracle Database 23ai à l'aide de SQL et d'un système frontal comme Oracle APEX, en conservant les données dans la base de données pour une analyse en temps réel fiable.
- Envisagez d'utiliser Oracle Database 23ai pour l'apprentissage automatique à l'aide d'Oracle Machine Learning for SQL, pour créer et entraîner des modèles avec des données JSON sans aucun besoin de déplacement des données et de déployer les modèles en même temps que la charge de travail existante pour une inférence efficace.
- Envisagez d'utiliser la base de données pour stocker des types de données supplémentaires (relatifs, vectoriels, spatiaux ou graphiques) afin d'accroître la fonctionnalité et la flexibilité de la charge de travail.
- Envisagez d'utiliser Oracle Database Appliance et Oracle Database 23ai pour des analyses au-delà de l'analyse opérationnelle, en profitant de la compression par colonne hybride, un format de colonne efficace adapté à l'analyse des données, qui augmente la performance des analyses tout en réduisant l'espace nécessaire pour stocker les données. Hybrid Columnar Compression is supported in Oracle Database Appliance and is included with an Oracle Database Enterprise Edition license.