Déploiement d'une charge globale MongoDB migrée 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 de données et les applications sont populaires en raison de la flexibilité qu'elles offrent aux développeurs. La flexibilité des schémas, le développement rapide et l'évolutivité permettent un prototypage accéléré des fonctionnalités d'application, une évolution plus facile des applications et la possibilité de créer des applications et des fonctionnalités itératives plus petites que les développeurs peuvent adapter pour répondre à une grande base d'utilisateurs. Cependant, ces types de charges de travail présentent des 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, tels que les analyses ou le machine learning.
Et si ces charges de travail pouvaient bénéficier des avantages des bases de données de documents traditionnelles et tirer parti des avantages des bases de données relationnelles ? Par exemple, bénéficiez de garanties transactionnelles plus solides et de fonctionnalités supplémentaires telles que l'analyse et le machine learning, 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 pour les applications d'IA, de microservices, de graphes, de documents, spatiales et relationnelles, est une plate-forme de base de données convergée offrant tout ce qui est nécessaire dans une solution puissante.
Oracle Database Appliance est un système de production qui rationalise le déploiement, la gestion et la prise en charge des solutions Oracle Database haute disponibilité. Grâce à l'intégration de logiciels, de calcul, de stockage et de réseau, il offre des performances fiables pour une grande variété d'applications de traitement des transactions en ligne (OLTP), d'analyse, d'entreposage de données et d'IA.
Architecture fonctionnelle
Cette architecture de référence se concentre sur le déploiement de la charge globale migrée, et non sur le processus de migration. Pour en savoir plus sur le processus de migration, reportez-vous à la section En savoir plus.
L'une des fonctionnalités clés utilisées dans cette architecture est l'API Oracle Database pour MongoDB, qui permet aux applications d'interagir avec les collections de documents JSON dans Oracle Database à l'aide des commandes MongoDB. Cela permet au code d'application existant d'utiliser les données stockées dans Oracle Database 23ai, sans avoir à refactoriser le code.
Le diagramme suivant illustre une application standard composée d'une base de données, d'un niveau back-end et d'un niveau front-end.
mongodb-logical-arch-migration.zip
Une pile populaire utilisée pour implémenter ce modèle est la pile MEAN :
- MongoDB : base de données de documents
- Express : structure back-end
- Angular : Cadre frontal
- Node.js : serveur back-end
Cette architecture utilise une pile MEAN comme exemple de déploiement existant pour migrer vers Oracle Database 23ai. La migration de cette charge globale 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 back-end et Oracle REST Data Services.
- Déployez et configurez le niveau back-end 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 back-end à Oracle Database à l'aide des mêmes outils et pilotes MongoDB que ceux utilisés dans l'application.
Après avoir migré la charge globale vers Oracle Database, vous pouvez améliorer les fonctionnalités en activant des fonctionnalités supplémentaires, telles que la sécurité améliorée, le reporting opérationnel, les analyses et le machine learning, sans copier les données hors de la base de données. Oracle Database 23ai est une plate-forme multi-modèle et multi-charge de travail, qui vous permet d'intégrer de manière transparente des fonctionnalités qui utilisent des types de données relationnelles, spatiales, graphiques ou vectorielles avec votre application existante.
Pour améliorer l'évolutivité de la charge globale, allouez davantage de calcul et de mémoire à la base de données en ajustant les coeurs de processeur affectés aux machines virtuelles de base de données et 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 back-end. S'il est utilisé avec Oracle Database 23ai Real Application Clusters, la haute disponibilité totale est assurée.
Architecture physique
Niveau frontal
- Le déploiement actuel est utilisé.
- Les utilisateurs peuvent se connecter à partir d'Internet ou du réseau de l'entreprise.
- La fonctionnalité DNS est configurée pour acheminer les demandes vers le centre de données de secours en cas de basculement.
Niveau back-end
- Les applications existantes sont déployées dans les machines virtuelles Oracle Database Appliance pour permettre la consolidation des charges 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, de sorte que le code d'application puisse se connecter à Oracle Database 23ai via Oracle REST Data Services.
- L'évolutivité du niveau back-end est obtenue en ajoutant d'autres machines virtuelles Oracle Database Appliance si nécessaire, en redimensionnant implicitement Oracle REST Data Services, installées dans chaque machine virtuelle de serveur d'applications.
Niveau base de données
- Oracle Database 23ai est déployé sur Oracle Database Appliance dans une configuration à noeud unique, utilisée pour stocker et traiter les documents JSON vers le niveau back-end.
- 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 garantir que les mêmes objectifs de niveau de service d'application sont maintenus lors de l'exécution de la charge globale à partir du centre de données de secours, exécutez une infrastructure Oracle Database Appliance comparable à cet emplacement.
Le schéma suivant illustre cette architecture de référence.
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 en standby.
- 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 panne dans le centre de données actif, la dernière sauvegarde permet de lancer rapidement les charges globales dans le centre de secours.
- Le pilotage du trafic DNS dirige les demandes utilisateur vers le centre de données actif. Si les tests de vérification de l'état du DNS exécutés sur le niveau de l'application échouent de manière récurrente, le DNS est reconfiguré pour acheminer le trafic vers la charge globale du centre de données de secours.
- Un équilibreur de charge répartit les demandes entrantes entre plusieurs machines virtuelles de niveau back-end, ce qui évite un point d'échec unique.
- Oracle REST Data Services géré par le client est déployé et configuré sur les machines virtuelles de niveau back-end. Chaque fois qu'une machine virtuelle est ajoutée, le serveur d'applications et Oracle REST Data Services sont redimensionnés en conséquence.
- L'objectif de délai de récupération (RTO) dépend du déploiement de tous les composants de charge globale 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 (RPO) dépend de la sauvegarde répliquée la plus récente.
Fonctions de réseau
- Un sous-réseau public reçoit des demandes d'utilisateur entrantes provenant d'Internet.
- La carte d'interface réseau (NIC) du réseau public Oracle Database Appliance est attachée au sous-réseau privé de charge globale.
- Les demandes d'équilibreur de charge sont acheminées vers les machines virtuelles de niveau back-end Oracle Database Appliance qui répondent aux demandes utilisateur.
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 effectuer une sauvegarde vers NFS, ces sauvegardes sont répliquées vers le centre de données de secours NFS, à l'aide des fonctionnalités de réplication NFS existantes.
Sécurité
- Les fonctionnalités de contrôle d'accès basé sur les rôles (RBAC) de base de données sont utilisées pour sécuriser la charge globale.
- Les données stockées dans la base de données peuvent être cryptées à l'aide du cryptage transparent des données (TDE), si l'option de sécurité avancée d'Oracle Database Enterprise Edition est utilisée.
Les améliorations de conception potentielles non décrites dans ce déploiement pour simplifier comprennent :
- Tirez parti d'un système de haute disponibilité (HA) Oracle Database Appliance composé de deux noeuds de calcul pour assurer la haute disponibilité de la charge de travail back-end. Déployez des machines virtuelles avec un redémarrage et un basculement automatiques sur les deux noeuds.
- Utilisez Oracle Database Appliance HA avec Oracle Database Enterprise Edition et Oracle Real Application Clusters (Oracle RAC) pour fournir une haute disponibilité pour le niveau de base de données.
Recommandations
- Déploiement d'application
Tirez parti de plusieurs machines virtuelles de niveau back-end pour augmenter la résilience. Activez la gestion des ressources d'UC Oracle Database Appliance pour allouer la bonne quantité de calcul de machines virtuelles, garantissant ainsi la qualité de service requise pour l'application.
- Sécurité
Envisagez d'utiliser les fonctionnalités de l'option de sécurité avancée Oracle Database pour crypter les données au repos et activer la protection par occultation dynamique, une licence Oracle Database Enterprise Edition est requise pour utiliser l'option de sécurité avancée Oracle Database.
- Observation
Envisagez d'utiliser Oracle Data Safe pour améliorer encore l'état de sécurité de la charge globale et être en mesure d'effectuer des audits de base de données.
- Efficacité opérationnelle
Envisagez d'utiliser l'infrastructure en tant que code, à savoir Terraform, conjointement avec le kit SDK Oracle Database Appliance, pour automatiser le déploiement des machines virtuelles et des bases de données.
- Evolution des applications
- Envisagez de déployer des analyses opérationnelles et des rapports en temps réel dans Oracle Database 23ai à l'aide de SQL et d'un front-end comme Oracle APEX, en conservant les données dans la base de données pour une analyse fiable et en temps réel.
- Envisagez d'utiliser Oracle Database 23ai pour le machine learning à l'aide d'Oracle Machine Learning for SQL, de créer et d'entraîner des modèles avec des données JSON sans déplacement de données et de déployer les modèles avec la charge globale existante pour une inférence efficace.
- Envisagez d'utiliser la base de données pour stocker des types de données supplémentaires (relationnel, vectoriel, spatial ou graphique) afin d'améliorer la fonctionnalité et la flexibilité de la charge globale.
- Envisagez d'utiliser Oracle Database Appliance et Oracle Database 23ai pour l'analyse au-delà de l'analyse opérationnelle, en tirant parti de la compression en colonnes hybride, un format en colonnes efficace adapté à l'analyse des données, qui augmente les performances d'analyse tout en réduisant l'espace nécessaire au stockage des données. La compression en colonnes hybride est prise en charge dans Oracle Database Appliance et est incluse avec une licence Oracle Database Enterprise Edition.