View a markdown version of this page

Volcado, restauración, importación y exportación de datos - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Volcado, restauración, importación y exportación de datos

Puede utilizar las utilidades mongodump, mongorestore, mongoexport y mongoimport para mover datos dentro y fuera del clúster de Amazon DocumentDB. En esta sección se analiza la finalidad de cada una de estas herramientas y configuraciones para ayudarle a lograr un mejor rendimiento.

Requisito de versión de MongoDB Database Tools

Utilice las herramientas de base de datos de MongoDB hasta la versión 100.11.0, incluida, para Amazon DocumentDB. Para descargarlas, consulte las versiones de las herramientas de base de datos de MongoDB en el sitio web de MongoDB.

mongodump

La utilidad mongodump crea una copia de seguridad binaria (BSON) de una base de datos MongoDB. La herramienta mongodump es el método preferido para volcar datos de su implementación de MongoDB de origen cuando busca restaurarla en su clúster de Amazon DocumentDB debido a las eficiencias de tamaño logradas al almacenar los datos en un formato binario.

En función de los recursos disponibles en la instancia o el equipo que esté utilizando para ejecutar el comando, puede acelerar su mongodump aumentando el número de colecciones paralelas volcadas desde el valor predeterminado 1 utilizando la opción --numParallelCollections. Una buena sugerencia es comenzar con un proceso de trabajo por vCPU en la instancia principal del clúster de Amazon DocumentDB.

Ejemplo de uso

A continuación se muestra un ejemplo de uso de la utilidad mongodump en el clúster de Amazon DocumentDB, sample-cluster.

mongodump --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --out=sample-output-file \ --numParallelCollections 4 \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

mongorestore

La utilidad mongorestore permite restaurar una copia de seguridad binaria (BSON) de una base de datos creada con la utilidad mongodump. Puede mejorar el rendimiento de la restauración aumentando el número de procesos de trabajo para cada colección durante la restauración con la opción --numInsertionWorkersPerCollection (el valor predeterminado es 1). Una buena sugerencia es comenzar con un proceso de trabajo por vCPU en la instancia principal del clúster de Amazon DocumentDB.

Ejemplo de uso

A continuación se muestra un ejemplo de uso de la utilidad mongorestore en el clúster de Amazon DocumentDB, sample-cluster.

mongorestore --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem <fileToBeRestored>

mongoexport

La herramienta mongoexport exporta datos en Amazon DocumentDB a formatos de archivo JSON, CSV o TSV. La herramienta mongoexport es el método preferido para exportar datos que deben ser legibles para las personas o máquinas.

nota

mongoexport no admite directamente las exportaciones paralelas. Sin embargo, es posible aumentar el rendimiento ejecutando varios trabajos mongoexport simultáneamente para distintas colecciones.

Ejemplo de uso

A continuación se muestra un ejemplo de uso de la herramienta mongoexport en el clúster de Amazon DocumentDB, sample-cluster.

mongoexport --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --out=sample-output-file \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

importación de mongo

La herramienta mongoimport importa el contenido de los archivos JSON, CSV o TSV en un clúster de Amazon DocumentDB. Puede utilizar el parámetro -–numInsertionWorkers para paralelizar y acelerar la importación (el valor predeterminado es 1).

Ejemplo de uso

A continuación se muestra un ejemplo de uso de la herramienta mongoimport en el clúster de Amazon DocumentDB, sample-cluster.

mongoimport --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --file=<yourFile> \ --numInsertionWorkers 4 \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

Tutorial

En el siguiente tutorial se describe cómo utilizar las utilidades mongodump, mongorestore, mongoexport y mongoimport para mover datos dentro y fuera de un clúster de Amazon DocumentDB.

  1. Requisitos previos: antes de empezar, asegúrese de que el clúster de Amazon DocumentDB está aprovisionado y de que tiene acceso a una instancia de Amazon EC2 en la misma VPC que el clúster. Para obtener más información, consulte Conectarse mediante Amazon EC2.

    Para poder utilizar las herramientas de utilidad mongo, debe tener instalado el paquete mongodb-org-tools en su instancia EC2, como se indica a continuación.

    sudo yum install mongodb-org-tools-4.0.18

    Dado que Amazon DocumentDB utiliza el cifrado de seguridad de la capa de transporte (TLS) de forma predeterminada, también debe descargar el archivo de la autoridad de certificación (CA) de Amazon RDS para utilizar el intérprete de comandos de mongo para conectarse, como se indica a continuación.

    wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
  2. Descarga de datos de muestra: para este tutorial, descargará algunos datos de muestra que contienen información sobre restaurantes.

    wget https://raw.githubusercontent.com/ozlerhakan/mongodb-json-files/master/datasets/restaurant.json
  3. Importación de los datos de muestra a Amazon DocumentDB: dado que los datos están en un formato JSON lógico, utilizará la utilidad mongoimport para importar los datos a su clúster de Amazon DocumentDB.

    mongoimport --ssl \ --host="tutorialCluster.amazonaws.com:27017" \ --collection=restaurants \ --db=business \ --file=restaurant.json \ --numInsertionWorkers 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  4. Volcado de los datos con mongodump: ahora que tiene datos en su clúster de Amazon DocumentDB, puede realizar un volcado binario de esos datos mediante la utilidad mongodump.

    mongodump --ssl \ --host="tutorialCluster.us-east-1.docdb.amazonaws.com:27017"\ --collection=restaurants \ --db=business \ --out=restaurantDump.bson \ --numParallelCollections 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  5. Eliminación de la colección restaurants: antes de restaurar la colección restaurants en la base de datos business, primero debe eliminar la colección que ya existe en esa base de datos, de la siguiente manera.

    use business
    db.restaurants.drop()
  6. Restauración de los datos con mongorestore: con el volcado binario de los datos del paso 3, ahora puede usar la utilidad mongorestore para restaurar los datos en su clúster de Amazon DocumentDB.

    mongorestore --ssl \ --host="tutorialCluster.us-east-1.docdb.amazonaws.com:27017" \ --numParallelCollections 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem restaurantDump.bson
  7. Exportación de los datos mediante mongoexport: para completar el tutorial, exporte los datos del clúster en el formato de un archivo JSON, igual que con el archivo que importó en el paso 1.

    mongoexport --ssl \ --host="tutorialCluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=restaurants \ --db=business \ --out=restaurant2.json \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  8. Validación: puede validar que el resultado del paso 5 genera el mismo resultado que el del paso 1 con los siguientes comandos.

    wc -l restaurant.json

    Salida de este comando:

    2548 restaurant.json
    wc -l restaurant2.json

    Salida de este comando:

    2548 restaurant2.json