Detalles del trabajo de transferencia de datos locales

En este documento, se describen más detalles sobre cómo funciona el Servicio de transferencia para datos locales. Específicamente, se describe cómo funcionan y qué significan las transferencias incrementales y la consistencia de datos.

Inicia transferencias incrementales

El Servicio de transferencia para datos locales comienza todas las transferencias mediante el cálculo de los datos presentes en el origen y el destino para determinar qué archivos de origen son nuevos, cuáles fueron actualizados y cuáles quitados con respecto a la última transferencia. Hacemos esto para reducir la cantidad de datos que enviamos desde tus máquinas, para usar el ancho de banda de manera eficaz y para reducir los tiempos de transferencia.

Para detectar si un archivo ha cambiado, usamos un algoritmo similar a gsutil rsync: verificamos la última hora de modificación y el tamaño del archivo de origen y comparamos esos datos con la última hora de modificación y el tamaño registrados cuando se copió el archivo por última vez. Cuando detectamos un archivo nuevo o modificado, copiamos todo el archivo en su destino. Para obtener más información sobre la actualización de archivos, consulta Detalles de coherencia de datos.

De forma predeterminada, detectamos los archivos borrados en la fuente, pero no actuamos. Si eliges la opción de sincronización Eliminar archivos de destino que no están en la fuente al crear o editar, tu transferencia eliminará el objeto correspondiente del destino.

Si eliges la opción de sincronización Eliminar archivos de destino que no están también en la fuente, los archivos que se eliminan accidentalmente en la fuente también se eliminan en el destino. Para evitar la pérdida de datos por eliminaciones accidentales, recomendamos habilitar las versiones de objetos en el depósito de destino si eliges usar esta opción. Entonces, si eliminas un archivo accidentalmente, puedes restaurar sus objetos en Cloud Storage a una versión anterior.

Detalles de coherencia de datos

Una operación de transferencia correcta transferirá todos los archivos de origen que existían y no se modificaron durante todo el tiempo de ejecución de la operación. Los archivos de origen que se crearon, actualizaron o borraron durante una transferencia pueden o no tener esos cambios reflejados en el conjunto de datos de destino.

La transferencia de datos locales usa la hora y el tamaño de la última modificación de un archivo para determinar si cambió. Si se actualiza un archivo sin cambiar la última hora de modificación o tamaño, y habilitas la opción delete-objects-from-source, es posible que pierdas datos de ese cambio.

Cuando uses la función delete-objects-from-source, te recomendamos que suspendas las escrituras en la fuente durante la transferencia para protegerte contra la pérdida de datos.

Para inmovilizar las escrituras en tu fuente, realiza una de las siguientes acciones:

  • Clona el directorio que deseas transferir y, luego, usa el directorio clonado como fuente de la transferencia.
  • Detén las aplicaciones que escriben en el directorio de origen.

Si es importante capturar los cambios que se produjeron durante una transferencia, puedes volver a ejecutar la transferencia o configurar el sistema de archivos de origen en modo de solo lectura mientras se ejecuta la operación.

Dado que Cloud Storage no tiene la noción de directorios, los directorios de origen vacíos no se transfieren.