Published on

June 18, 2020

Migrer les données SQL Server vers Azure Cosmos DB à l’aide de l’outil de migration de données Cosmos DB

Dans cet article, nous explorerons comment migrer des données d’une table de base de données SQL Server vers un conteneur Azure Cosmos DB à l’aide de l’outil de migration de données Cosmos DB. Nous discuterons également de la façon d’interroger les données migrées à l’aide d’instructions T-SQL.

Outil de migration de données Azure Cosmos DB

Avant de commencer le processus de migration, nous devons nous assurer que le framework Microsoft .NET 4.51 ou une version supérieure est installé sur la machine où l’outil de migration sera exécuté. L’outil de migration de données Cosmos DB prend en charge la migration des données à partir de l’API SQL et de l’API Table, mais il ne prend pas en charge la migration des données vers l’API Mongo DB et l’API Gremlin.

L’outil de migration de données Cosmos DB peut être téléchargé depuis le site officiel de Microsoft. Le package téléchargé contient à la fois une version en ligne de commande de l’outil (Dt.exe) et une version avec interface utilisateur graphique (Dtui.exe).

Migrer les données SQL

Pour migrer des données à partir d’une instance SQL Server, nous devons fournir la chaîne de connexion pour le serveur SQL et la requête T-SQL qui récupérera les données à migrer. Il est recommandé d’écrire et d’optimiser la requête T-SQL à l’aide de l’outil SQL Server Management Studio (SSMS) avant de migrer les données.

Une fois que la requête T-SQL optimale est prête, nous pouvons la fournir directement à l’outil de migration de données Cosmos DB ou l’enregistrer sous forme de fichier et parcourir ce fichier dans l’outil. Nous pouvons également modifier la structure du document généré en créant des relations hiérarchiques pour les sous-propriétés lors du processus d’importation des données.

Dans la page d’informations cibles, nous spécifions si nous voulons migrer les données dans un fichier JSON ou directement dans un conteneur Azure Cosmos DB en utilisant la méthode d’importation séquentielle ou en bloc. L’importateur en bloc utilise la procédure stockée Cosmos DB pour une copie efficace, tandis que l’importateur séquentiel copie les enregistrements source un par un.

Avant de procéder à l’opération d’importation, nous devons nous assurer qu’une base de données est créée dans notre compte Azure Cosmos DB. Nous pouvons facilement créer une nouvelle base de données Cosmos DB dans le portail Azure et obtenir la chaîne de connexion principale pour ce compte.

Dans le champ de collection, nous fournissons le nom du conteneur dans lequel nous voulons migrer les données. Pour l’importateur séquentiel, nous ne pouvons créer qu’un seul conteneur, tandis que l’importateur en bloc nous permet de créer plusieurs conteneurs en fournissant le préfixe de la collection et la plage des collections.

Nous pouvons configurer des options avancées telles que le nombre de requêtes parallèles, la génération automatique d’ID, la mise à jour des documents existants et la spécification du nombre de tentatives en cas d’échec de l’importation.

Après avoir passé en revue toutes les options sélectionnées, nous pouvons démarrer l’opération d’importation et suivre l’avancement de la migration des données. Une fois l’opération terminée, l’outil de migration de données fournit la possibilité d’exporter le rapport d’échec ou de démarrer une nouvelle opération d’importation.

Interroger les données migrées

Pour valider que les données sont migrées avec succès vers le conteneur Azure Cosmos DB, nous pouvons ouvrir le compte Cosmos DB dans le portail Azure et parcourir le conteneur de base de données dans l’Explorateur de données.

Pour écrire notre propre requête, nous pouvons cliquer sur l’option “Nouvelle requête SQL” dans l’éditeur de requêtes et personnaliser la requête SELECT par défaut en fournissant notre instruction T-SQL. Nous pouvons spécifier la liste des colonnes qui nous intéressent et exécuter la requête.

L’éditeur de requêtes nous permet également d’écrire des requêtes T-SQL plus complexes pour récupérer des données spécifiques dans la vue préférée. Cependant, nous devons nous assurer que la requête est optimisée et ne consomme pas de ressources excessives d’Azure Cosmos DB. Nous pouvons vérifier les statistiques de la requête pour chaque requête afin de déterminer la meilleure performance.

Il est important de noter que l’utilisation de la clé de partition dans nos requêtes peut améliorer considérablement les performances de la requête, car les données sont déjà stockées dans les conteneurs en fonction des valeurs de la colonne de clé de partition.

Conclusion

Dans cet article, nous avons appris comment migrer des données d’une table de base de données SQL Server vers un conteneur Azure Cosmos DB à l’aide de l’outil de migration de données Cosmos DB. Nous avons également exploré comment interroger les données migrées à l’aide d’instructions T-SQL. En tirant parti de la puissance d’Azure Cosmos DB, nous pouvons facilement migrer et interroger des données de manière évolutive et efficace.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.