Migrer des données vers un compte d’Azure Cosmos DB pour NoSQL à l’aide de Striim
S’APPLIQUE À : NoSQL
L’image Striim dans la place de marché Azure fournit un déplacement continu des données en temps réel à partir d’entrepôts de données et de bases de données vers Azure. Lors du déplacement des données, vous pouvez effectuer la dénormalisation en ligne, la transformation des données, activer les analyses en temps réel et les scénarios de création de rapports de données. La prise en main de Striim pour déplacer continuellement des données d’entreprise vers une Azure Cosmos DB pour NoSQL est simple. Azure fournit une offre de place de marché qui facilite le déploiement de Striim et la migration des données vers Azure Cosmos DB.
Cet article explique comment utiliser Striim pour migrer des données depuis une base de données Oracle vers un compte d’Azure Cosmos DB pour NoSQL.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Vous devez disposer d’une base de données Oracle qui contient des données et s’exécute localement.
Déployer la solution de place de marché Striim
Connectez-vous au portail Azure.
Sélectionnez Créer une ressource, puis recherchez Striim dans la place de marché Azure. Sélectionnez la première option, puis Créer.
Ensuite, entrez les propriétés de configuration de l’instance Striim. L’environnement Striim est déployé sur un ordinateur virtuel. Dans le volet De base, entrez le nom d’utilisateur de la machine virtuelle et le mot de passe de la machine virtuelle (ce mot de passe est utilisé pour la connexion SSH à la machine virtuelle). Sélectionnez votre Abonnement, votre Groupe de ressources et les Détails de l’emplacement où vous souhaitez déployer Striim. Quand vous avez terminé, sélectionnez OK.
Dans le volet Paramètres du cluster Striim, choisissez le type de déploiement Striim et la taille de la machine virtuelle.
Paramètre valeur Description Type de déploiement Striim Standalone Striim peut s’exécuter dans un type de déploiement Autonome ou Cluster. Le mode Autonome déploie le serveur Striim sur une seule machine virtuelle et vous pouvez sélectionner la taille des machines virtuelles en fonction de votre volume de données. Le mode Cluster déploie le serveur Striim sur deux machines virtuelles ou plus selon la taille sélectionnée. Les environnements de cluster avec plus de 2 nœuds offrent une haute disponibilité et un basculement automatiques.
Dans ce tutoriel, vous pouvez sélectionner l’option Autonome. Utilisez la taille de machine virtuelle par défaut « Standard_F4s ».Nom du cluster Striim <Striim_cluster_Name> Nom du cluster Striim. Mot de passe du cluster Striim <Striim_cluster_password> Mot de passe pour le cluster. Une fois le formulaire rempli, sélectionnez OK pour continuer.
Dans le volet Paramètres d’accès à Striim, configurez l'Adresse IP publique (choisissez les valeurs par défaut), le Nom de domaine pour Striim et le Mot de passe d’administrateur que vous souhaitez utiliser pour vous connecter à l’interface utilisateur Striim. Configurez un réseau virtuel et un sous-réseau (choisissez les valeurs par défaut). Après avoir renseigné les détails, sélectionnez OK pour continuer.
Azure validera le déploiement et s’assurera que tout fonctionne correctement. Ka validation prend quelques minutes. Une fois la validation terminée, sélectionnez OK.
Enfin, passez en revue les conditions d’utilisation et sélectionnez Créer pour créer votre instance Striim.
Configurer la base de données source
Dans cette section, vous configurez la base de données Oracle en tant que source du déplacement des données. Le serveur Striim est fourni avec le pilote Oracle JDBC qui est utilisé pour se connecter à Oracle. Pour lire les modifications de votre base de données Oracle source, vous pouvez utiliser l’API LogMiner ou XStream. Le pilote Oracle JDBC est présent dans le chemin de classe Java de Striim pour la lecture, l’écriture ou la conservation des données à partir de la base de données Oracle.
Configurer la base de données cible
Dans cette section, vous allez configurer le compte d’Azure Cosmos DB pour NoSQL en tant que cible du déplacement des données.
Créez un compte Azure Cosmos DB for NoSQL à l'aide du portail Azure.
Accédez au volet Explorateur de données de votre compte Azure Cosmos. Sélectionnez Nouveau conteneur pour créer un conteneur. Nous partons du principe que vous migrez les données products (produits) et orders (commandes) depuis la base de données Oracle vers Azure Cosmos DB. Créez une nouvelle base de données nommée StriimDemo avec un conteneur nommé Orders. Approvisionnez le conteneur avec 1 000 unités de requête (cet exemple utilise 1 000 unités de requête, mais vous devez utiliser le débit estimé pour votre charge de travail) et /ORDER_ID comme clé de partition. Ces valeurs varient en fonction de vos données sources.
Configurer Oracle pour le flux de données Azure Cosmos DB
Accédez à l’instance Striim que vous avez déployée dans le Portail Microsoft Azure. Sélectionnez le bouton Se connecter dans la barre de menus supérieure, puis sous l’onglet SSH, copiez l’URL dans le champ Login using VM local account (Connexion à l’aide du compte local de machine virtuelle).
Ouvrez une nouvelle fenêtre de terminal et exécutez la commande SSH que vous avez copiée à partir du Portail Microsoft Azure. Cet article utilise le terminal dans un MacOS. Toutefois, vous pouvez suivre les instructions de la même manière avec un client SSH sur une machine Windows. Lorsque vous y êtes invité tapez oui pour continuer, puis entrez le mot de passe que vous avez défini pour la machine virtuelle à l’étape précédente.
À partir de la même fenêtre de terminal, redémarrez le serveur Striim en exécutant les commandes suivantes :
systemctl stop striim-node systemctl stop striim-dbms systemctl start striim-dbms systemctl start striim-node
Le démarrage de Striim prend une minute. Si vous souhaitez afficher l’état, exécutez la commande suivante :
tail -f /opt/striim/logs/striim-node.log
À présent, revenez à Azure et copiez l’adresse IP publique de votre machine virtuelle Striim.
Pour accéder à l’interface utilisateur web de Striim, ouvrez un nouvel onglet dans un navigateur et copiez l’adresse IP publique, puis procédez comme suit : 9080. Connectez-vous en utilisant le nom d’utilisateur admin, ainsi que le mot de passe d’administrateur que vous avez spécifié dans le Portail Microsoft Azure.
Vous arrivez à présent sur la page d’hébergement de Striim. Il existe trois volets différents : Dashboards (Tableaux de bord), Apps (Applications) et SourcePreview (Aperçu de la source). Le volet Dashboards vous permet de déplacer des données en temps réel et de les visualiser. Le volet Apps contient vos pipelines de données de streaming ou de flux de données. Dans la partie droite de la page se trouve SourcePreview, où vous pouvez afficher un aperçu de vos données avant de les déplacer.
Sélectionnez le volet Apps, nous nous concentrerons sur ce volet pour l’instant. Vous pouvez utiliser un grand nombre d’exemples d’applications pour en savoir plus sur Striim. Toutefois, dans cet article, vous allez créer votre propre application. Sélectionnez le bouton Add App (Ajouter une application) dans le coin supérieur droit.
Il existe plusieurs façons de créer des applications Striim. Sélectionnez Start with Template (Démarrer avec un modèle) pour démarrer avec un modèle existant.
Dans le champ Search templates (Rechercher des modèles), tapez « Cosmos », puis sélectionnez Target: Azure Cosmos DB. Enfin, sélectionnez Oracle CDC to Azure Cosmos DB (CDC Oracle vers Azure Cosmos DB).
Dans la page suivante, nommez votre application. Vous pouvez fournir un nom tel que oraToCosmosDB, puis sélectionner Save (Enregistrer).
Ensuite, entrez la configuration source de votre instance Oracle source. Entrez une valeur pour le champ Source Name (Nom de la source). Le nom de la source est simplement une convention d’affectation de noms pour l’application Striim. Vous pouvez utiliser un nom tel que src_onPremOracle. Entrez des valeurs pour les autres paramètres source : URL, Username (Nom d’utilisateur), Password (Mot de passe), puis sélectionnez LogMiner comme lecteur de données depuis Oracle. Sélectionnez Suivant pour continuer.
Striim vérifie votre environnement et s’assure qu’il peut se connecter à votre instance Oracle source, dispose des privilèges appropriés et que CDC a été configuré correctement. Une fois toutes les valeurs validées, sélectionnez Next (Suivant).
Sélectionnez les tables de la base de données Oracle que vous souhaitez migrer. Par exemple, nous allons choisir la table Orders, puis sélectionner Next (Suivant).
Après avoir sélectionné la table source, vous pouvez effectuer des opérations plus complexes, telles que le mappage et le filtrage. Dans ce cas, vous allez simplement créer un réplica de votre table source dans Azure Cosmos DB. Sélectionnez Next (Suivant) pour configurer la cible.
Maintenant, nous allons configurer la cible :
- Target Name (Nom de la cible) : fournissez un nom significatif pour la cible.
- Input From (Entrée depuis) : dans la liste déroulante, sélectionnez le flux d’entrée que vous avez créé dans la configuration Oracle source.
- Collections : entrez les propriétés de configuration Azure Cosmos DB cible. La syntaxe des collections est SourceSchema.SourceTable, TargetDatabase.TargetContainer. Dans cet exemple, la valeur serait « SYSTEM. ORDERS, StriimDemo. Orders ».
- AccessKey : la PrimaryKey (clé primaire) de votre compte Azure Cosmos DB.
- ServiceEndpoint – L’URI de votre compte Azure Cosmos DB, qui se trouve sous la section Clés du Portail Microsoft Azure.
Sélectionnez Save (Enregistrer) et Next (Suivant).
Ensuite, vous allez accéder au concepteur de flux, où vous pouvez faire glisser et déposer des connecteurs prêts à l’emploi pour créer vos applications de streaming. À ce stade, vous n’allez pas apporter de modifications au flux. Poursuivez et déployez l’application en sélectionnant le bouton Deploy App (Déployer l’application).
Dans la fenêtre de déploiement, vous pouvez spécifier si vous souhaitez exécuter certaines parties de votre application sur des parties spécifiques de votre topologie de déploiement. Étant donné que nous exécutons une topologie de déploiement simple via Azure, nous allons utiliser l’option par défaut.
Après le déploiement, vous pouvez afficher un aperçu du flux pour voir le flux de données. Sélectionnez l'icône en forme de vague avec un œil à côté. Sélectionnez le bouton Deployed (Déployé) dans la barre de menus supérieure, puis sélectionnez Start App (Démarrer l’application).
En utilisant un lecteur CDC (Change Data Capture) (Capture des changements de données), Striim ne sélectionne que les nouvelles modifications apportées à la base de données. Si des données transitent par vos tables sources, vous les verrez. Toutefois, étant donné qu’il s’agit d’une table de démonstration, la source n’est connectée à aucune application. Si vous utilisez un exemple de générateur de données, vous pouvez insérer une chaîne d’événements dans votre base de données Oracle.
Vous verrez des données transitant par la plateforme Striim. Striim récupère également toutes les métadonnées associées à votre table, ce qui est utile pour surveiller les données et vous assurer que les données se trouvent sur la cible appropriée.
Enfin, connectez-vous à Azure et accédez à votre compte Azure Cosmos DB. Actualisez l’Explorateur de données : vous pouvez voir que les données sont arrivées.
En utilisant la solution Striim dans Azure, vous pouvez migrer en continu des données vers des Azure Cosmos DB à partir de diverses sources telles que Oracle, Cassandra, MongoDB, etc. vers Azure Cosmos DB. Pour en savoir plus, visitez le site web Striim, téléchargez une version d’essai gratuite de 30 jours de Striim, et pour tout problème de configuration du chemin de migration lié à Striim, effectuez une demande de support.
Étapes suivantes
Vous tentez d’effectuer une planification de la capacité pour une migration vers Azure Cosmos DB ?
- Si vous ne connaissez que le nombre de vCores et de serveurs présents dans votre cluster de bases de données existant, lisez Estimation des unités de requête à l’aide de vCores ou de processeurs virtuels
- Si vous connaissez les taux de requêtes types de votre charge de travail de base de données actuelle, lisez la section concernant l’estimation des unités de requête à l’aide du planificateur de capacité Azure Cosmos DB
Si vous migrez des données vers Azure Cosmos DB pour NoSQL, voir comment migrer des données vers un compte API pour Cassandra en utilisant Striim
Surveiller et déboguer vos données avec les métriques Azure Cosmos DB