Migrer un fichier JSON formaté à partir de MongoDB vers Oracle NoSQL Database Cloud Service

Cet exemple montre comment utiliser Oracle NoSQL Database Migrator pour copier les données formatées Mongo-DB vers Oracle NoSQL Database Cloud Service (NDCS).

Cas d'emploi

Après avoir évalué plusieurs options, une organisation finalise Oracle NoSQL Database Cloud Service en tant que plate-forme de base de données NoSQL. Etant donné que ses tables et données NoSQL se trouvent dans MongoDB, elles recherchent un moyen de migrer ces tables et données vers Oracle NDCS.

Exemple

Pour la démonstration, examinons comment migrer un fichier JSON au format MongoDB vers NDCS. Pour cet exemple, nous utiliserons un fichier JSON de configuration créé manuellement.
Conditions préalables
  • Identifiez la source et l'évier pour la migration.
    • Source : fichier JSON formaté par MongoDB
    • Disque : Oracle NoSQL Database Cloud Service
  • Extrayez les données de Mongo DB à l'aide de l'utilitaire mongoexport. Reportez-vous à mongoexport pour plus d'informations.
  • Créez une table NoSQL dans le sink avec un schéma de table qui correspond aux données du fichier JSON au format Mongo-DB. Vous pouvez également demander à NoSQL Database Migrator de créer une table avec la structure de schéma par défaut en définissant l'attribut defaultSchema sur True.
    Remarque

    Pour une source MongoDB-Formatted JSON , le schéma par défaut de la table est le suivant :
    CREATE TABLE IF NOT EXISTS <tablename>(ID STRING, DOCUMENT JSON,PRIMARY KEY(SHARD(ID));
    
    Où :
    • tablename = valeur de la configuration de table.
    • ID = valeur _id du fichier source JSON exporté par mongoDB.
    • DOCUMENT = L'intégralité du contenu du fichier source JSON exporté mongoDB est agrégé dans la colonne DOCUMENT, à l'exception du champ _id.
  • Identifiez vos informations d’identification OCI Cloud et capturez-les dans le fichier de configuration OCI. Enregistrez le fichier de configuration dans /home/.oci/config. See Acquiring Credentials in Using Oracle NoSQL Database Cloud Service.
    [DEFAULT]
    tenancy=ocid1.tenancy.oc1....
    user=ocid1.user.oc1....
    fingerprint= 43:d1:....
    key_file=</fully/qualified/path/to/the/private/key/>
    pass_phrase=<passphrase>
  • Identifiez l'adresse et le nom du compartiment de la région pour Oracle NoSQL Database Cloud Service.
    • endpoint : us-phoenix-1
    • compartiment : developers
Procédure

Pour migrer les données JSON au format MongoDB vers Oracle NoSQL Database Cloud Service, procédez comme suit :

  1. Préparez le fichier JSON de configuration avec les détails Source et Rose identifiés. Reportez-vous aux sections Modèles de configuration source et Modèles de configuration de puits.
    {
      "source" : {
        "type" : "file",
        "format" : "mongodb_json",
        "dataPath" : "<complete/path/to/the/MongoDB/Formatted/JSON/file>"
      },
      "sink" : {
        "type" : "nosqldb_cloud",
        "endpoint" : "us-phoenix-1",
        "table" : "mongoImport",
        "compartment" : "developers",
        "schemaInfo" : {
          "defaultSchema" : true,
          "readUnits" : 100,
          "writeUnits" : 60,
          "storageSize" : 1
        },
        "credentials" : "<complete/path/to/the/oci/config/file>",
        "credentialsProfile" : "DEFAULT",
        "writeUnitsPercent" : 90,
        "requestTimeoutMs" : 5000
      },
      "abortOnError" : true,
      "migratorVersion" : "1.0.0"
    }
  2. Ouvrez l'invite de commande et accédez au répertoire dans lequel vous avez extrait l'utilitaire NoSQL Database Migrator.
  3. Exécutez la commande runMigrator en transmettant le fichier JSON de configuration à l'aide de l'option --config ou -c.
    [~/nosqlMigrator/nosql-migrator-1.0.0]$./runMigrator --config <complete/path/to/the/JSON/config/file>
    
  4. L'utilitaire procède à la migration des données, comme indiqué ci-dessous.
    Records provided by source=29,353, Records written to sink=29,353, Records failed=0.
    Elapsed time: 9min 9sec 630ms
    Migration completed.
Validation

Pour valider la migration, vous pouvez vous connecter à votre console NDCS et vérifier que myTable est créé avec les données source.