Déployer une charge de travail MongoDB migrée vers Oracle Exadata Database Machine

Migrez une charge de travail existante qui utilise une base de données de documents, dans ce cas MongoDB, vers l'infrastructure Oracle Database 23ai sur Exadata pour un développement simplifié d'applications centrées sur JSON à l'aide d'une base de données convergée avec plusieurs modèles.

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 des applications d'IA, de microservices, de graphiques, de documents, spatiales et relationnelles, est une plateforme de base de données convergée offrant tout ce dont vous avez besoin dans une solution puissante.

Oracle Exadata Database Machine est conçue pour être la plateforme la plus performante et la plus disponible pour l'exécution d'Oracle Database. Exadata exécute tous les types de charges de travail de base de données, y compris le traitement des transactions en ligne (OLTP), l'entreposage de données (entreposage de données) et la consolidation des charges de travail mixtes. Simple et rapide à mettre en œuvre, Exadata est conçu pour alimenter et protéger vos bases de données les plus importantes et constitue une base idéale pour la base de données-service.

Architecture fonctionnelle

Cette architecture de référence suppose une charge de travail composée d'une application et la base de données MongoDB existe sur place et sera migrée pour utiliser Oracle Database 23ai comme base de données. Il décrit l'architecture de l'état futur, ses avantages, la façon dont elle peut être déployée et les fonctionnalités supplémentaires pouvant être utilisées pour augmenter la charge globale existante.

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 :

  1. Déployez une instance Oracle Database 23ai hautement disponible dans Exadata sur plusieurs noeuds de base de données, à l'aide d'Oracle Real Application Clusters (Oracle RAC).
  2. Migrez les métadonnées et les données de MongoDB vers Oracle Database 23ai.
  3. Installez et configurez le calcul de niveau dorsal, qu'il s'agisse de machines virtuelles, de conteneurs ou d'Oracle REST Data Services.
  4. 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.
  5. Configurez l'application pour qu'elle utilise la nouvelle chaîne de connexion à la base de données.
  6. Connectez l'application dorsale à Oracle Database 23ai à l'aide des mêmes outils et pilotes MongoDB utilisés sur l'application courante.

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. Comme Oracle Database 23ai est une technologie de base de données multimodèle et à charges de travail multiples, il est possible d'ajouter des fonctions supplémentaires qui reposent sur des types de données relationnelles, spatiales, graphiques ou vectorielles, en collaboration avec l'application existante.

Architecture physique

L'architecture physique de cette charge de travail migrée vers Oracle Database 23ai prend en charge les éléments suivants :

Niveau frontal

  • Le déploiement courant est utilisé.
  • Les utilisateurs peuvent se connecter à partir d'Internet ou du réseau d'entreprise.
  • La capacité DNS est 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 et utilisées avec les mêmes instances de calcul.
  • Oracle REST Data Services géré par le client est colocalisé et déployé sur les serveurs d'applications. Le code d'application peut se connecter à Oracle Database 23ai au moyen d'Oracle REST Data Services.
  • L'extensibilité du niveau back-end est obtenue à l'aide du mécanisme d'extensibilité actuel en place, mettant implicitement à l'échelle Oracle REST Data Services installé dans chaque serveur d'applications.

Niveau de base de données

  • Oracle Database 23ai est déployé dans Exadata et est utilisé 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

  • Réalisé à l'aide d'une stratégie de récupération après sinistre pour Oracle Data Guard.
  • Une stratégie de récupération après sinistre à chaud est supposée, le niveau dorsal et les ressources associées étant déjà déployés et en cours d'exécution.

Le diagramme suivant illustre cette architecture de référence.



mongodb-exadata-machine-physique-arch.zip

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.
  • 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.
  • Le niveau dorsal comprend plusieurs machines virtuelles qui traitent les demandes des utilisateurs.
  • Oracle REST Data Services géré par le client est déployé et configuré sur les machines virtuelles de niveau dorsal. Lorsque vous ajoutez des machines virtuelles, le serveur d'applications et Oracle REST Data Services s'adaptent automatiquement.
  • L'objectif de délai de récupération (ODR) dépend non seulement du basculement de la base de données, mais également du basculement complet vers le reste des composants de charge globale du centre de données de secours.
  • Les objectifs RTO et RPO de base de données (objectif de point de récupération) dépendent du mode de protection Oracle Data Guard configuré.
  • Le basculement de base de données tirera parti du basculement manuel ou automatique d'Oracle Data Guard, selon les exigences détaillées en matière de continuité des activités.

Service de réseau

  • Un sous-réseau public reçoit les demandes d'utilisateur entrantes provenant d'Internet.
  • Les demandes d'équilibreur de charge sont acheminées vers les serveurs de niveau dorsal qui répondent aux demandes des utilisateurs.
  • La machine virtuelle Exadata est attachée aux réseaux client et d'administration.
  • Les demandes de niveau dorsal à la base de données au moyen d'Oracle REST Data Services utilisent les adresses réseau du client.
  • Les deux centres de données sont interconnectés avec la bande passante et la faible latence requises pour la prise en charge d'une configuration Oracle Data Guard.

Base de données

  • La version 23ai d'Oracle Database est déployée dans une grappe de machines virtuelles Exadata.
  • La grappe de machines virtuelles utilise plusieurs noeuds de base de données pour assurer la haute disponibilité.
  • Oracle RAC garantit que la base de données utilise plusieurs noeuds de base de données pour la charge de travail.

Sécurité

  • Toutes les données sont sécurisées en transit et au repos.

Les améliorations potentielles de la conception qui ne sont pas décrites dans ce déploiement pour des raisons de simplicité comprennent :

  • Utilisez Active Data Guard pour activer la base de données de secours pour l'accès en lecture seule et décharger les interrogations d'analyse opérationnelle.

Recommandations

Utilisez les recommandations suivantes comme point de départ pour améliorer et faire évoluer la charge globale. Vos exigences peuvent différer de l'architecture décrite ici.
  • Déploiement d'application

    Envisagez d'utiliser un déploiement basé sur des conteneurs à l'aide de Kubernetes si l'application peut s'exécuter dans des conteneurs. Si des conteneurs sont utilisés, envisagez d'avoir une image de conteneur avec le code dorsal et Oracle REST Data Services géré par le client déjà installé.

  • 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.

  • É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, de créer et d'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 Exadata et Oracle Database 23ai pour des analyses au-delà de l'analyse opérationnelle, en bénéficiant 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 des données. La compression par colonne hybride est prise en charge dans Exadata et est incluse avec une licence Enterprise Edition pour Oracle Database.

Informations complémentaires

Cliquez sur le lien pour en savoir plus sur le déploiement des charges de travail migrées de MongoDB vers Oracle Exadata Database Machine.

Vérifiez ces ressources supplémentaires :

Remerciements

  • Auteur : José Cruz
  • Contributeurs : Massimo Castelli, Simon Griffiths, Matt DeMarco, Julian Dontcheff