Descripción general de las copias de seguridad de Bigtable

En esta página, se proporciona una descripción general de las copias de seguridad de Bigtable. El contenido que se presenta aquí está dirigido a los administradores y desarrolladores de Bigtable.

Las copias de seguridad de Bigtable te permiten guardar una copia del esquema y los datos de una tabla y, luego, restablecer desde la copia de seguridad a una tabla nueva. Puedes crear copias de seguridad de forma manual o habilitar copias de seguridad automáticas para que Bigtable cree copias de seguridad diarias. También puedes crear una copia de una copia de seguridad.

Antes de leer esta página, debes familiarizarte con la Descripción general de Bigtable y la Administración de tablas.

Funciones

  • Integración completa: el servicio de Bigtable controla por completo las copias de seguridad, sin necesidad de importarlas ni exportarlas.
  • Incremental: Una copia de seguridad comparte el almacenamiento físico con la tabla de origen y otras copias de seguridad de la tabla.
  • Efectivo en términos de costo: el uso de las copias de seguridad de Bigtable te permite evitar los costos asociados con la exportación, el almacenamiento y la importación de datos mediante otros servicios.
  • Vencimiento automático: Cada copia de seguridad tiene una fecha de vencimiento definida por el usuario que puede ser de hasta 90 días después de su creación. Puedes almacenar una copia de una copia de seguridad hasta por 30 días.
  • Opciones de restablecimiento flexibles: puedes restablecer desde una copia de seguridad a una tabla en una instancia diferente desde la que se creó la copia de seguridad.
  • Copia de seguridad automática: Habilita la copia de seguridad automática para permitir que Bigtable cree copias de seguridad diarias.

Casos de uso

Las copias de seguridad son útiles para los siguientes casos de uso:

  • Continuidad empresarial
  • Cumplimiento de las normativas
  • Pruebas y desarrollo
  • Recuperación ante desastres

Considera las siguientes situaciones de recuperación ante desastres:

Objetivo Estrategia de copia de seguridad Estrategia de restauración
Protección contra errores humanos: Es conveniente que tengas siempre una copia de seguridad reciente de los datos lista en caso de que se borren o se dañen por accidente. Determina el programa de creación de copias de seguridad adecuado para las necesidades de tu empresa (por ejemplo, una vez al día). De manera opcional, crea copias periódicas de las copias de seguridad y almacénalas en un proyecto o región diferente para aumentar el aislamiento y la protección. Para obtener una mayor protección, almacena las copias de seguridad en un proyecto o instancia con permisos de acceso restringidos. Restablece a una tabla nueva desde la copia de seguridad o copia y, luego, vuelve a enrutar las solicitudes a la tabla nueva.
Falta de disponibilidad de la zona: Debes asegurarte de que, en el caso improbable de que una zona de Google Cloud no esté disponible, tus datos aún estén disponibles. Crea copias de seguridad con regularidad, por ejemplo, a diario. Luego, crea periódicamente una copia de la copia de seguridad más reciente y almacénala en uno o más clústeres en diferentes zonas (de forma opcional, en una instancia o proyecto diferente). Si la zona en la que el clúster de entrega deja de estar disponible, restablece desde la copia de seguridad remota a una tabla nueva y, luego, vuelve a enrutar las solicitudes a la tabla nueva.
Corrupción de datos: Usa una copia de seguridad para recuperar algunos de los datos de una tabla, como cuando se dañó parte de la tabla de origen. Crea copias de seguridad de tus datos periódicamente. Restablece de la copia de seguridad a una tabla nueva en la instancia nueva. Luego, escribe una aplicación con una biblioteca cliente de Bigtable o Dataflow que lea de la tabla nueva y, luego, vuelva a escribir los datos en la tabla de origen. Una vez que los datos se hayan copiado en la tabla original, borra la tabla nueva.

Trabaja con copias de seguridad de Bigtable

Las siguientes acciones están disponibles para las copias de seguridad de Bigtable. En todos los casos, el proyecto, la instancia y el clúster de destino ya deben existir. No puedes crear estos recursos como parte de una operación de copia de seguridad. No puedes crear una copia de una copia de seguridad.

Acción Opciones de destino
Crear una copia de seguridad
  • Cualquier clúster en la misma instancia que la tabla de origen
Restablecer desde una copia de seguridad a una tabla nueva
  • Cualquier instancia
  • Cualquier región de Bigtable
  • Cualquier proyecto
Copia una copia de seguridad
  • Cualquier instancia
  • Cualquier región de Bigtable
  • Cualquier proyecto

Consulta Administra las copias de seguridad para obtener instrucciones paso a paso sobre estas acciones y sobre las operaciones como la actualización y la eliminación de las copias de seguridad.

Usa lo siguiente para trabajar con copias de seguridad de Bigtable:

También puedes acceder a la API de Cloud Bigtable Admin directamente, pero te recomendamos que lo hagas solo si no puedes usar una biblioteca cliente de Cloud Bigtable que realice llamadas de copia de seguridad a la API.

Cómo funcionan las copias de seguridad de Bigtable

Crear una copia de seguridad implica comprender el almacenamiento y la retención de la copia de seguridad en Bigtable.

Almacenamiento en copias de seguridad

Se puede crear una copia de seguridad de la tabla de forma manual o puedes habilitar la copia de seguridad automática para permitir que Bigtable realice copias de seguridad diarias. Una copia de seguridad de la tabla se almacena en un clúster de una instancia. En el caso de las copias de seguridad manuales, la copia de seguridad de la tabla se almacena en un clúster en la instancia que selecciones. Cuando la copia de seguridad automática está habilitada, se almacena una copia de seguridad de la tabla en cada clúster de la instancia.

En una copia de seguridad de una tabla, se incluyen todos los datos que estaban en la tabla cuando se creó la copia de seguridad, en el clúster en el que se creó la copia de seguridad. El tamaño de una copia de seguridad nunca es mayor que el de la tabla de origen en el momento en que se crea la copia de seguridad.

Las copias de seguridad de Bigtable son incrementales. La cantidad de almacenamiento que consume una copia de seguridad depende del tamaño de la tabla y de la medida en la que esta puede compartir el almacenamiento de datos sin cambios con la tabla original o con otras copias de seguridad de la misma tabla. Por esa razón, el tamaño de una copia de seguridad depende del nivel de divergencia de datos desde la copia de seguridad anterior.

Puedes crear hasta 150 copias de seguridad por tabla por clúster.

Puedes borrar una tabla que tenga una copia de seguridad. Para proteger las copias de seguridad, no puedes borrar un clúster que contenga una copia de seguridad y no puedes borrar una instancia que tenga una o más copias de seguridad en cualquier clúster.

La copia de seguridad aún existe después de haberla restablecido a una tabla nueva. Puedes borrarla o dejar que venza cuando ya no la necesites. El almacenamiento de las copias de seguridad no se considera en el límite de almacenamiento de nodos de un proyecto.

Los datos de las copias de seguridad están encriptados.

Retención

Puedes especificar un período de retención de hasta 90 días para una copia de seguridad. Si creas una copia de una copia de seguridad, el período de retención máximo es de 30 días desde el momento en que se creó la copia.

Para las tablas que tienen habilitada la copia de seguridad automática, el período de retención predeterminado es de 3 días. Puedes modificar el período de retención de una copia de seguridad hasta 90 días desde su creación.

Almacenamiento posterior al restablecimiento

El costo de almacenamiento de una tabla nueva restablecida desde una copia de seguridad es el mismo que el de cualquier tabla.

Es posible que una tabla restablecida a partir de una copia de seguridad no consuma la misma cantidad de almacenamiento que la tabla original y que disminuya de tamaño después del restablecimiento. La diferencia de tamaño depende de qué tan recientemente se produjo la compactación en el clúster de origen y en el de destino.

Debido a que la compactación se realiza de forma continua, es posible que se realice en cuanto se cree la tabla. Sin embargo, la compactación puede tardar hasta una semana.

Costos

Se aplican costos de red estándar cuando se trabaja con copias de seguridad. No se te cobra por las operaciones de copia de seguridad, como crearlas, copiarlas o restablecerlas desde una copia de seguridad.

Costos de almacenamiento

Para almacenar una copia de seguridad o una copia de ella, se te cobra la tarifa estándar de almacenamiento de copias de seguridad para la región en la que se encuentra el clúster que contiene la copia de seguridad o la copia de seguridad.

Una copia de seguridad es una copia lógica completa de una tabla. En segundo plano, Bigtable optimiza el uso del almacenamiento de copias de seguridad. Esta optimización significa que una copia de seguridad es incremental, es decir, comparte el almacenamiento físico con la tabla original o con otras copias de seguridad de la tabla siempre que sea posible. Debido a las optimizaciones de almacenamiento integradas de Bigtable, el costo de almacenar una copia de seguridad o una copia de una copia de seguridad a veces puede ser menor que el de una copia física completa de la copia de seguridad de la tabla.

En las instancias replicadas en las que la copia de seguridad automática está habilitada, los costos de almacenamiento pueden ser mayores porque se crean copias de seguridad en cada clúster a diario.

Costos al copiar una copia de seguridad

Cuando creas una copia de una copia de seguridad en una región diferente a la de la copia de seguridad de origen, se te cobran tarifas de red estándar por el costo de copiar los datos en el clúster de destino. No se te cobrará por el tráfico de red cuando crees una copia en la misma región que la copia de seguridad de origen.

Costos del restablecimiento

Cuando restableces una tabla nueva a partir de una copia de seguridad, se te factura por el costo de red de la replicación. Si la tabla nueva se encuentra en una instancia que usa la replicación, se te cobra un costo de replicación único por los datos que se copiarán en todos los clústeres de la instancia.

Si restableces a una instancia diferente a la que usaste para crear la copia de seguridad y la instancia de la copia de seguridad y la instancia de destino no tienen al menos un clúster en la misma región, se te cobrará un costo por única vez por la copia inicial de los datos en el clúster de destino con las tarifas de red estándar.

CMEK

Cuando creas una copia de seguridad en un clúster protegido por una clave de encriptación administrada por el cliente (CMEK), la copia de seguridad se fija a la versión principal de la clave CMEK del clúster al momento en que se realiza. Una vez creada la copia de seguridad, su clave y versión de clave no se pueden modificar, incluso si se rota la clave de KMS.

Cuando restableces a partir de una copia de seguridad, la versión de clave a la que se fija la copia de seguridad debe estar habilitada para que el proceso de desencriptación de la copia de seguridad se realice correctamente. La tabla nueva está protegida con la última versión principal de la clave CMEK para cada clúster de la instancia de destino. Si deseas restablecer desde una copia de seguridad protegida por CMEK a una instancia diferente, la instancia de destino también debe estar protegida por CMEK, pero no necesita tener la misma configuración de CMEK que la instancia de origen.

Consideraciones sobre la replicación

En esta sección, se describen conceptos adicionales para comprender las copias de seguridad y el restablecimiento de una tabla en una instancia que usa la replicación.

Replicación y copia de seguridad

Cuando realizas una copia de seguridad de una tabla de forma manual en una instancia replicada, debes elegir el clúster en el que deseas crear y almacenar la copia de seguridad. Para las tablas que tienen habilitada la copia de seguridad automatizada, se realiza una copia de seguridad diaria en cada clúster de la instancia.

No es necesario dejar de escribir en el clúster que contiene la copia de seguridad, pero debes comprender cómo se controlan las operaciones de escritura replicadas en el clúster.

Una copia de seguridad es una copia de la tabla en su estado en el clúster en el que se almacena la copia de seguridad cuando la creas. Los datos de la tabla que aún no se han replicado de otro clúster en la instancia no se incluyen en la copia de seguridad.

Cada copia de seguridad tiene una hora de inicio y de finalización. Las operaciones de escritura que se envían al clúster poco antes o durante la operación de copia de seguridad podrían no incluirse en la copia de seguridad. Existen dos factores que contribuyen a esta incertidumbre:

  • Una operación de escritura podría enviarse a una sección de la tabla que la copia de seguridad ya copió.
  • Es posible que una operación de escritura en otro clúster no se haya replicado en el clúster que contiene la copia de seguridad.

En otras palabras, existe la posibilidad de que algunas operaciones de escritura con una marca de tiempo anterior al momento de la copia de seguridad no se incluyan en la copia. Esto también ocurre con las copias de seguridad creadas cuando la copia de seguridad automática está habilitada. Las copias de seguridad de una instancia no son copias exactas entre sí, ya que los tiempos de las copias de seguridad pueden variar de un clúster a otro.

Si esta incoherencia no es aceptable para tus requisitos empresariales, puedes usar un token de coherencia con tus solicitudes de escritura a fin de asegurarte de que todas las operaciones de escritura replicadas se incluyan en una copia de seguridad.

Replicación y restablecimiento

Cuando restableces una copia de seguridad en una tabla nueva, la replicación desde y hacia los otros clústeres de la instancia comienza inmediatamente después de que se completa la operación de restablecimiento en el clúster de destino.

Rendimiento

Cuando crees copias de seguridad, usa las siguientes prácticas recomendadas para asegurarte de que tu rendimiento siga siendo óptimo.

Rendimiento al crear copias de seguridad

Crear una copia de seguridad suele tomar menos de un minuto, aunque puede llevar hasta una hora. En circunstancias normales, la creación de copias de seguridad no afecta el rendimiento de entrega.

Para obtener un rendimiento óptimo, no crees una copia de seguridad de una sola tabla más de una vez cada cinco minutos. Una mayor frecuencia en la creación de copias de seguridad puede generar un aumento observable en la latencia de entrega.

Rendimiento al restablecer

Restablecer desde una copia de seguridad a una tabla en una instancia de un solo clúster toma unos minutos. En las instancias replicadas, el restablecimiento lleva más tiempo porque los datos deben copiarse en todos los clústeres. Bigtable siempre elige la ruta más eficiente para copiar datos.

Si restableces a una instancia diferente desde la que se creó la copia de seguridad, la operación de restablecimiento lleva más tiempo que si restableces a la misma instancia. Esto aplica en particular si la instancia de destino no tiene un clúster en la misma zona que el clúster en el que se creó la copia de seguridad.

Una tabla más grande tarda más en restablecerse que una tabla más pequeña.

Si tienes una instancia de SSD, es posible que al principio experimentes una latencia de lectura más alta, incluso después de que se complete un restablecimiento, mientras la tabla se optimiza. Puedes verificar el estado en cualquier momento durante la operación de restablecimiento para ver si la optimización todavía está en curso.

Si restableces a una instancia diferente desde la que se creó la copia de seguridad, la instancia de destino puede usar almacenamiento HDD o SSD. No es necesario que uses el mismo tipo de almacenamiento que la instancia de origen.

Control de acceso

Los permisos de IAM controlan el acceso a las operaciones de copia de seguridad y restablecimiento. Los permisos de copia de seguridad están a nivel de la instancia y se aplican a todas las copias de seguridad de la instancia.

La cuenta que usas para crear una copia de seguridad de una tabla debe tener permiso para leer la tabla y crear copias de seguridad en la instancia en la que se encuentra (la instancia de origen).

La cuenta que usas para copiar una copia de seguridad debe tener permiso para leer la copia de seguridad de origen y crear una en la instancia y el proyecto de destino.

La cuenta que usas para restablecer una tabla nueva a partir de una copia de seguridad debe tener permiso para crear una tabla en la instancia a la que restableces.

Acción Permiso de IAM obligatorio
Crear una copia de seguridad bigtable.tables.readRows, bigtable.backups.create
Obtener una copia de seguridad bigtable.backups.get
Mostrar una lista de las copias de seguridad bigtable.backups.list
Borrar una copia de seguridad bigtable.backups.delete
Actualizar una copia de seguridad bigtable.backups.update
Copia una copia de seguridad bigtable.backups.read, bigtable.backups.create
Restablecer desde una copia de seguridad a una tabla nueva bigtable.tables.create, bigtable.backups.restore
Obtener una operación bigtable.instances.get
Mostrar una lista de operaciones bigtable.instances.get

prácticas recomendadas

Antes de crear una estrategia de copia de seguridad, se deben tener en cuenta las siguientes prácticas recomendadas.

Crea copias de seguridad

  • No hagas una copia de seguridad de una tabla con mayor frecuencia que una vez cada cinco minutos.
  • Cuando crees una copia de seguridad de una tabla que use la replicación, elige el clúster para almacenar la copia de seguridad después de considerar los siguientes factores:
    • Costo. Un clúster en tu instancia puede estar en una región de menor costo que las demás.
    • Proximidad al servidor de la aplicación. Te recomendamos que almacenes la copia de seguridad lo más cerca posible de la aplicación de entrega.
    • Uso del almacenamiento. Necesitas suficiente espacio de almacenamiento para guardar tus copias de seguridad mientras se acumulan. En función de la carga de trabajo, puedes tener clústeres de tamaños diferentes o con un uso del disco diferente. Debes tener en cuenta estos factores cuando eliges un clúster.
  • Si necesitas asegurarte de que todas las operaciones de escritura replicadas se incluyan en una copia de seguridad cuando crees una copia de seguridad de una tabla en una instancia que use la replicación, usa un token de coherencia con tus solicitudes de escritura.

Haz restablecimientos desde copias de seguridad

  • Planifica qué nombre usarás para la tabla nueva si necesitas realizar un restablecimiento desde una copia de seguridad. El punto clave es estar preparado de antemano para que no tengas que decidir cuando te encuentres con un problema.
  • Si restableces una tabla por algún motivo que no sea la eliminación accidental, asegúrate de que todas las operaciones de lectura y escritura se dirijan a la tabla nueva antes de borrar la original.
  • Si planeas restablecer a una instancia diferente, crea la instancia de destino antes de iniciar la operación de restablecimiento de la copia de seguridad.

Cuotas y límites

Las solicitudes de copia de seguridad y restablecimiento y el almacenamiento de copias de seguridad están sujetos a las cuotas y los límites de Bigtable.

Limitaciones

Las siguientes limitaciones se aplican a las copias de seguridad de Bigtable:

General

  • No puedes leer directamente desde una copia de seguridad.
  • Una copia de seguridad es una versión de una tabla en un solo clúster en un momento específico. Las copias de seguridad no representan un estado coherente. Lo mismo también se aplica a las copias de seguridad de la misma tabla en clústeres diferentes.
  • No se puede realizar una copia de seguridad de más de una tabla en una sola operación.
  • No puedes exportar, copiar o mover una copia de seguridad de Bigtable a otro servicio, como Cloud Storage.
  • Las copias de seguridad de Bigtable solo contienen datos de Bigtable y no están integradas en las copias de seguridad de otros servicios de Google ni relacionadas con ellas.

Cómo restablecer

  • No se puede restablecer desde una copia de seguridad a una tabla existente.
  • Solo puedes restablecer una instancia que ya existe. Bigtable no crea una instancia nueva cuando se restablece desde una copia de seguridad. Si la instancia de destino especificada en una solicitud de restablecimiento no existe, la operación de restablecimiento falla.
  • Si restableces una copia de seguridad en una tabla que se encuentra en un clúster SSD y, luego, borras la tabla recién restablecida, su eliminación puede llevar un poco de tiempo en completarse, ya que Bigtable espera a que finalice la optimización de la tabla.

Copiando

  • No puedes crear una copia de una copia de seguridad que esté dentro de las 24 horas de su vencimiento.
  • No puedes crear una copia de una copia de seguridad.

CMEK

  • Una copia de seguridad protegida por CMEK debe restablecerse a una tabla nueva en una instancia protegida por CMEK.
  • Cuando creas una copia de una copia de seguridad protegida con CMEK, el clúster de destino también debe estar protegido por CMEK.

¿Qué sigue?