Évaluez les performances des requêtes pour la migration des bases de données SQL du serveur vers MongoDB Atlas sur AWS - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Évaluez les performances des requêtes pour la migration des bases de données SQL du serveur vers MongoDB Atlas sur AWS

Créée par Battulga Purevragchaa (AWS), Krishnakumar Sathyanarayana (US Inc) et Babu Srinivasan (MongoDB) PeerIslands

Environnement : PoC ou pilote

Source : Microsoft SQL Server

Cible : MongoDB Atlas ou MongoDB Enterprise Advanced

Type R : Replateforme

Charge de travail : Microsoft

Technologies : bases de données ; migration

Récapitulatif

Ce modèle fournit des conseils pour charger MongoDB avec des données quasiment réelles et évaluer les performances des requêtes MongoDB aussi proches que possible du scénario de production. L'évaluation fournit des informations pour vous aider à planifier votre migration vers MongoDB à partir d'une base de données relationnelle. Le modèle utilise le générateur de données de PeerIslands test et l'analyseur de performances pour tester les performances des requêtes.

Ce modèle est particulièrement utile pour la migration de Microsoft SQL Server vers MongoDB, car l'exécution de transformations de schéma et le chargement de données depuis les instances actuelles SQL du serveur vers MongoDB peuvent s'avérer très complexes. Au lieu de cela, vous pouvez charger des données quasiment réelles dans MongoDB, comprendre les performances de MongoDB et peaufiner la conception du schéma avant de commencer la migration proprement dite.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Connaissance de MongoDB Atlas

  • Schéma MongoDB cible

  • Modèles de requête typiques

Limites

  • Les temps de chargement des données et les performances seront limités par la taille de l'instance du cluster MongoDB. Nous vous recommandons de choisir des instances recommandées pour une utilisation en production afin de comprendre les performances réelles.

  • PeerIslands Le générateur de données de test et l'analyseur de performances ne prennent actuellement en charge que les chargements de données et les requêtes en ligne. Le traitement par lots hors ligne (par exemple, le chargement de données dans MongoDB à l'aide de connecteurs Spark) n'est pas encore pris en charge.

  • PeerIslands Le générateur de données de test et l'analyseur de performances prennent en charge les relations de terrain au sein d'une collection. Il ne prend pas en charge les relations entre les collections.

Éditions de produits

Architecture

Pile technologique cible

  • MongoDB Atlas ou MongoDB Enterprise Advanced

Architecture

Architecture permettant d'évaluer les performances des requêtes pour la migration de la base de données SQL du serveur vers MongoDB Atlas on. AWS

PeerIslands Le générateur de données de test et l'analyseur de performances sont conçus à l'aide de Java et d'Angular, et stockent les données générées sur Amazon Elastic Block Store (AmazonEBS). L'outil comprend deux flux de travail : la génération de données de test et les tests de performance.

  • Lors de la génération de données de test, vous créez un modèle, qui est la JSON représentation du modèle de données qui doit être généré. Après avoir créé le modèle, vous pouvez générer les données dans une collection cible, telle que définie par la configuration de génération de charge.

  • Lors des tests de performance, vous créez un profil. Un profil est un scénario de test en plusieurs étapes dans lequel vous pouvez configurer les opérations de création, de lecture, de mise à jour et de suppression (CRUD), les pipelines d'agrégation, le poids de chaque opération et la durée de chaque étape. Après avoir créé le profil, vous pouvez exécuter des tests de performance sur la base de données cible en fonction de la configuration.

PeerIslands Le générateur de données de test et l'analyseur de performances stockent leurs données sur AmazonEBS. Vous pouvez donc connecter Amazon EBS à MongoDB en utilisant n'importe quel mécanisme de connexion pris en charge par MongoDB, y compris le peering, les listes d'autorisation et les points de terminaison privés. Par défaut, l'outil n'inclut pas de composants opérationnels ; toutefois, il peut être configuré avec Amazon Managed Service for Prometheus, Amazon Managed Grafana CloudWatch, Amazon AWS et Secrets Manager si nécessaire.

Outils

  • PeerIslands Le générateur de données de test et l'analyseur de performances incluent deux composants. Le composant Test Data Generator vous aide à générer des données réelles très spécifiques au client en fonction de votre schéma MongoDB. L'outil est entièrement piloté par l'interface utilisateur avec une riche bibliothèque de données et peut être utilisé pour générer rapidement des milliards d'enregistrements sur MongoDB. L'outil fournit également des fonctionnalités permettant d'implémenter des relations entre les champs du schéma MongoDB. Le composant Performance Analyzer vous permet de générer des requêtes et des agrégations très spécifiques au client, et de réaliser des tests de performances réalistes sur MongoDB. Vous pouvez utiliser l'analyseur de performances pour tester les performances de MongoDB à l'aide de profils de charge complets et de requêtes paramétrées pour votre cas d'utilisation spécifique.

Bonnes pratiques

Consultez les ressources suivantes :

Épopées

TâcheDescriptionCompétences requises

Comprenez l'encombrement de la base de données de la source SQL du serveur actuel.

Comprenez l'encombrement actuel SQL de votre serveur. Cela peut être réalisé en exécutant des requêtes sur le INFORMATION schéma de la base de données. Déterminez le nombre de tables et la taille de chaque table. Analysez l'index associé à chaque table. Pour plus d'informations sur SQL l'analyse, consultez le billet de blog SQL2Mongointitulé Data Migration Journey sur le PeerIslands site Web.

DBA

Comprenez le schéma source.

Déterminez le schéma de table et la représentation commerciale des données (par exemple, les codes postaux, les noms et les devises). Utilisez votre diagramme de relation entre entités (ER) existant ou générez le diagramme ER à partir de la base de données existante. Pour plus d'informations, consultez le billet de blog SQL2Mongointitulé Data Migration Journey sur le PeerIslands site Web.

DBA

Comprenez les modèles de requêtes.

Documentez les 10 principales SQL requêtes que vous utilisez. Vous pouvez utiliser les tables performance_schema.events_statements_summary_by_digest disponibles dans la base de données pour comprendre les principales requêtes. Pour plus d'informations, consultez le billet de blog SQL2Mongointitulé Data Migration Journey sur le PeerIslands site Web.

DBA

Comprenez SLA les engagements.

Documentez les accords de niveau de service cibles (SLAs) pour les opérations de base de données. Les mesures typiques incluent la latence des requêtes et les requêtes par seconde. Les mesures et leurs objectifs sont généralement disponibles dans des documents relatifs aux exigences non fonctionnelles (NFR).

DBA
TâcheDescriptionCompétences requises

Définissez le schéma cible.

Définissez différentes options pour le schéma MongoDB cible. Pour plus d'informations, consultez la section Schémas dans la documentation de l'atlas MongoDB. Tenez compte des meilleures pratiques et des modèles de conception basés sur les relations entre les tables. Consultez les exemples et modèles de modèles de données dans la documentation de MongoDB pour plus de détails.

Ingénieur MongoDB

Définissez les modèles de requêtes cibles.

Définissez les requêtes MongoDB et les pipelines d'agrégation. Ces requêtes sont l'équivalent des principales requêtes que vous avez capturées pour la charge de travail de votre SQL serveur. Pour comprendre comment créer des pipelines d'agrégation MongoDB, consultez la documentation MongoDB.

Ingénieur MongoDB

Définissez le type d'instance MongoDB.

Déterminez la taille de l'instance que vous prévoyez d'utiliser pour les tests. Pour obtenir des conseils, consultez la documentation de MongoDB.

Ingénieur MongoDB
TâcheDescriptionCompétences requises

Configurez le cluster MongoDB Atlas.

Pour configurer un cluster MongoDB surAWS, suivez les instructions de la documentation MongoDB.

Ingénieur MongoDB

Créez des utilisateurs dans la base de données cible.

Configurez le cluster MongoDB Atlas pour l'accès et la sécurité du réseau en suivant les instructions de la documentation MongoDB.

Ingénieur MongoDB

Créez les rôles appropriés AWS et configurez le contrôle d'accès basé sur les rôles pour Atlas.

Si nécessaire, configurez des utilisateurs supplémentaires en suivant les instructions de la documentation MongoDB. Configurez l'authentification et l'autorisation par le biais AWS des rôles.

Ingénieur MongoDB

Configurez Compass pour accéder à MongoDB Atlas.

Configurez l'GUIutilitaire MongoDB Compass pour faciliter la navigation et l'accès.

Ingénieur MongoDB
TâcheDescriptionCompétences requises

Installez le générateur de données de test.

Installez PeerIsland Test Data Generator dans votre environnement.

Ingénieur MongoDB

Configurez le générateur de données de test pour générer les données appropriées.

Créez un modèle en utilisant la bibliothèque de données pour générer des données spécifiques pour chaque champ du schéma MongoDB. Pour plus d'informations, consultez le générateur de données et les performances MongoDB. Vidéo de l'analyseur.

Ingénieur MongoDB

Dimensionnez horizontalement le générateur de données de test pour générer la charge requise.

Utilisez le modèle que vous avez créé pour démarrer la génération de charge par rapport à la collection cible en configurant le parallélisme requis. Déterminez les délais et l'échelle nécessaires pour générer les données nécessaires.

Ingénieur MongoDB

Validez le chargement dans MongoDB Atlas.

Vérifiez les données chargées dans MongoDB Atlas.

Ingénieur MongoDB

Générez les index requis sur MongoDB.

Définissez les index selon les besoins, en fonction des modèles de requête. Pour connaître les meilleures pratiques, consultez la documentation de MongoDB.

Ingénieur MongoDB
TâcheDescriptionCompétences requises

Configurez les profils de charge dans Performance Analyzer.

Créez un profil de test de performance dans Performance Analyzer en configurant des requêtes spécifiques et leur pondération, la durée du test et les étapes correspondantes. Pour plus d'informations, consultez le générateur de données et les performances MongoDB. Vidéo de l'analyseur.

Ingénieur MongoDB

Effectuez des tests de performance.

Utilisez le profil de test de performance que vous avez créé pour démarrer le test par rapport à la collection cible en configurant le parallélisme requis. Faites évoluer horizontalement l'outil de test de performance pour exécuter des requêtes sur MongoDB Atlas.

Ingénieur MongoDB

Enregistrez les résultats des tests.

Enregistrez les temps de latence P95, P99 pour les requêtes.

Ingénieur MongoDB

Ajustez votre schéma et vos modèles de requêtes.

Modifiez les index et les modèles de requêtes pour résoudre les éventuels problèmes de performances.

Ingénieur MongoDB
TâcheDescriptionCompétences requises

Arrêtez les AWS ressources temporaires.

Supprimez toutes les ressources temporaires que vous avez utilisées pour Test Data Generator et Performance Analyzer.

AWSadministrateur

Mettez à jour les résultats des tests de performance.

Comprenez les performances des requêtes MongoDB et comparez-les aux vôtres. SLAs Si nécessaire, affinez le schéma MongoDB et relancez le processus.

Ingénieur MongoDB

Conclure le projet.

Clôturez le projet et faites part de vos commentaires.

Ingénieur MongoDB

Ressources connexes

Ressources supplémentaires :