Procesamiento por lotes de archivos pequeños para mejorar el rendimiento de la transferencia de datos a dispositivos Snow Family - Guía para desarrolladores de AWS Snowball Edge

Procesamiento por lotes de archivos pequeños para mejorar el rendimiento de la transferencia de datos a dispositivos Snow Family

Las operaciones de copia conllevan una sobrecarga debido al cifrado. Para acelerar el proceso de transferencia de archivos pequeños al dispositivo AWS Snowball Edge, puede agruparlos por lotes en un único archivo. Al agrupar los archivos por lotes, estos se pueden extraer automáticamente al importarlos a Amazon S3, siempre que para agruparlos se haya usado uno de los formatos de archivo compatibles.

Normalmente, los archivos de 1 MB o menores debe incluirse en lotes. No hay un límite establecido para el número de archivos que pueden incluirse en un lote, aunque se recomienda limitar los lotes a 10 000 archivos aproximadamente. Tener más de 100 000 archivos en un lote puede afectar a la rapidez con la que esos archivos se importan a Amazon S3 después de devolver el dispositivo. Recomendamos que el tamaño total de cada lote no supere los 100 GB.

La agrupación de archivos en lotes es un proceso manual administrado por el propio usuario. Después de agrupar los archivos por lotes, transfiéralos a un dispositivo Snowball Edge mediante el comando cp de la AWS CLI con la opción --metadata snowball-auto-extract=true. Cuando se especifica snowball-auto-extract=true, se extrae automáticamente el contenido de los archivos almacenados al importar los datos a Amazon S3, siempre y cuando el tamaño del archivo de lotes no supere los 100 GB.

nota

Los lotes con un tamaño superior a 100 GB no se extraen al importarlos a Amazon S3.

Para agrupar archivos pequeños por lotes
  1. Decida qué formato quiere usar para agrupar los archivos pequeños por lotes. La característica de extracción automática admite los formatos TAR, ZIP y tar.gz.

  2. Identifique los archivos que quiere agrupar por lotes, incluido su tamaño y el número total de archivos que desea incluir en cada lote.

  3. Agrupe por lotes sus archivos en la línea de comandos, tal y como se muestra en los siguientes ejemplos.

    • Si utiliza Linux, puede agrupar por lotes los archivos en la misma línea de comandos que se usa para transferir los archivos al dispositivo.

      tar -cf - /Logs/April | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.tar --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080
      nota

      También puede usar la utilidad de archivo que prefiera para agrupar los archivos por lotes en uno o varios archivos grandes. Sin embargo, este enfoque requiere espacio de almacenamiento local adicional, para guardar los archivos antes de transferirlos al dispositivo Snowball.

    • Para Windows, utilice el siguiente comando de ejemplo para agrupar los archivos cuando todos los archivos estén en el mismo directorio desde el que se ejecuta el comando:

      7z a -tzip -so "test" | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080

      Para agrupar archivos desde un directorio diferente desde el que se ejecuta el comando, utilice el siguiente comando de ejemplo:

      7z a -tzip -so "test" "c:\temp" | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://10.x.x.x:8080
      nota

      Para Microsoft Windows 2016, tar no está disponible, pero puede descargarlo desde el sitio web de Tar para Windows.

      Puede descargar 7 ZIP desde el sitio web de 7ZIP.

  4. Repita los pasos hasta que haya archivado todos los archivos pequeños que desea transferir a Amazon S3 mediante un dispositivo Snowball Edge.

  5. Transfiera los archivos almacenados al dispositivo Snowball. Si desea realizar una extracción automática de los datos y ha usado uno de los formatos de archivo admitidos mencionados en el paso 1, utilice el comando cp de la AWS CLI con la opción --metadata snowball-auto-extract=true.

    nota

    Si hay archivos que no estén archivados, no utilice este comando.

Al crear los archivos de almacenamiento, la extracción mantendrá la estructura de datos actual. Esto significa que si crea un archivo de almacenamiento que contenga archivos y carpetas, Snowball Edge volverá a crearlo durante el proceso de ingesta en Amazon S3.

El archivo de almacenamiento se extraerá en el mismo directorio en el que está almacenado y las estructuras de carpetas se crearán en consecuencia. Tenga en cuenta que al copiar archivos de almacenamiento es importante establecer la marca --metadata snowball-auto-extract=true. De lo contrario, Snowball Edge no extraerá los datos al importarlos a Amazon S3.

Siguiendo el ejemplo del paso 3, si tiene la estructura de carpetas de /Logs/April/ que contiene los archivos a.txt, b.txt y c.txt, Si este archivo de almacenamiento se colocó en la raíz de /amzn-s3-demo-bucket/, los datos tendrían el siguiente aspecto tras la extracción:

/amzn-s3-demo-bucket/Logs/April/a.txt /amzn-s3-demo-bucket/Logs/April/b.txt /amzn-s3-demo-bucket/Logs/April/c.txt

Si el archivo de almacenamiento se colocó en /amzn-s3-demo-bucket/Test/, la extracción tendría el siguiente aspecto:

/amzn-s3-demo-bucket/Test/Logs/April/a.txt /amzn-s3-demo-bucket/Test/Logs/April/b.txt /amzn-s3-demo-bucket/Test/Logs/April/c.txt