Google
4 min leer

Copia de seguridad y recuperación ante desastres de BigQuery (restauración granular automatizada)

HYCU permite realizar copias de seguridad automatizadas con un solo clic y restaurar de forma granular sus datos de BigQuery. Descubra por qué los métodos de copia de seguridad predeterminados de BigQuery pueden ser inadecuados.

Escrito por
Andy Fernández
Publicado el
8 de noviembre de 2023
Compartir en redes sociales

¿Qué es BigQuery?

BigQuery es un almacén de datos de nivel empresarial con una arquitectura sin servidor que permite a los usuarios ejecutar consultas de tipo SQL en grandes conjuntos de datos utilizando la potencia de procesamiento de la infraestructura de Google. 

Como solución totalmente gestionada, BigQuery incorpora funciones como aprendizaje automático, inteligencia empresarial, análisis en tiempo real e incluso análisis geoespacial que ayudan a las empresas modernas que buscan aprovechar grandes cantidades de datos en su proceso de toma de decisiones. Esto se debe especialmente a su capacidad para ejecutar terabytes de datos en segundos y petabytes en minutos, lo que la convierte en una herramienta perfecta para el análisis de datos a gran escala. 

Y lo que es más importante, BigQuery no necesita servidor. Esto significa que no es necesario gestionar ninguna infraestructura, por lo que es más fácil centrarse en el análisis de datos importantes para obtener información significativa en lugar de preocuparse por los gastos generales. 

Importancia de BigQuery en el análisis y almacenamiento de datos

El concepto de "big data"(volumen, velocidad y variedad) plantea un reto importante a las capacidades de procesamiento de datos de los sistemas tradicionales. Esto se debe precisamente a su limitada capacidad, escalabilidad y potencia de procesamiento, lo que hace que extraer información significativa de conjuntos de datos vastos y complejos sea casi imposible y lleve mucho tiempo. 

Afortunadamente, aquí es donde BigQuery entra en juego. La sólida arquitectura de BigQuery permite a las empresas crear, entrenar y desplegar modelos de aprendizaje automático utilizando datos estructurados y semiestructurados directamente en BigQuery, lo que agiliza el proceso de extracción de información.

Además, BigQuery también ocupa una posición vital debido a sus ventajas únicas, como: 

  • Un modelo sin servidor que ayuda a simplificar las operaciones. 
  • Sus capacidades de alta velocidad hacen posible insertar miles de filas de datos por segundo, lo que permite realizar análisis en tiempo real.
  • Su infraestructura subyacente garantiza una alta disponibilidad y facilita la ampliación automática para dar cabida a grandes conjuntos de datos.
  • Garantiza una sólida seguridad de los datos y se integra perfectamente con otras herramientas y servicios como Data Studio, Looker y Tableau. 
  • Su 'pago por usotambién facilita a las empresas la gestión de la capacidad y los costes CAPEX, especialmente en infraestructuras como servidores, centros de datos y otro hardware. 

Necesidad de copia de seguridad y restauración de BigQuery 

A pesar de todas sus potentes funciones y capacidades, los datos de BigQuery, como cualquier otro "dato digital", son vulnerables a la eliminación accidental, la pérdida o la corrupción.

Ejemplo real de pérdida de datos de BigQuery

Supongamos que una empresa utiliza BigQuery para sus necesidades de almacenamiento de datos.

  • Almacenan una gran cantidad de datos, como registros de ventas, información sobre clientes y detalles de productos. 
  • Un día, un empleado puede recibir el encargo de borrar del sistema los registros obsoletos para mantener la eficiencia del almacenamiento.
  • Así que ejecutan un comando, con la intención de eliminar los datos de más de cinco años. 

Sin embargo, debido a un error en el comando SQL, el sistema interpreta erróneamente el criterio de eliminación y se eliminan todos los registros con más de un año de antigüedad. 

Si el borrado pasa desapercibido y otro empleado intenta realizar un análisis de tendencias de varios años, será imposible porque falta un año entero de datos. Sin una sólida estrategia de copias de seguridad, la recuperación de estos datos no está garantizada. 

En este caso, a pesar de la fiabilidad de BigQuery, los datos que contenía eran vulnerables a los errores humanos, como el borrado accidental. Esto también puede ser aplicable en escenarios que implican el cumplimiento normativo y los requisitos de retención de datos para algunas organizaciones. 

Para salvaguardar su valiosa información, es crucial contar con una sólida estrategia de copias de seguridad que garantice una rápida recuperación ante cualquier problema imprevisto relacionado con los datos y mantenga la continuidad de la empresa. 

Utilización de HYCU para realizar copias de seguridad en Google BigQuery

Cuando se trata de proteger sus datos en Google BigQuery, HYCU ofrece una solución completa y fácil de usar

  • En caso de pérdida de datos o fallo del sistema, HYCU permite la funcionalidad de restauración instantánea para devolver sus tablas y estados anteriores. De esta forma, el tiempo de inactividad y la interrupción del negocio son mínimos. 
  • Otro beneficio y superpotencia de HYCU es su proceso de recuperación preciso y fiable para Google Cloud. HYCU garantiza que los datos restaurados mantengan su integridad y coherencia, reflejando el estado de los datos en el momento de la copia de seguridad. Esto es especialmente crucial para cargas de trabajo analíticas o complejas en BigQuery, donde la precisión y la consistencia de los datos son primordiales.

Restaure tablas y conjuntos de datos en unos pocos clics 

Automatice todas las operaciones de copia de seguridad en 1 clic 

HYCU automatiza la copia de seguridad de sus conjuntos de datos, tablas y esquemas de BigQuery, eliminando la necesidad de intervención manual. Esto libera su tiempo y reduce drásticamente el riesgo de error humano (por ejemplo, un mal uso de un ratón que conduce a la eliminación accidental) que conduce a la pérdida de datos. 

Además, HYCU ofrece la posibilidad de personalizar la configuración de las copias de seguridad:

  • Programe las copias de seguridad para las horas de menor actividad para minimizar el impacto en el rendimiento.
  • Establezca políticas de conservación para el cumplimiento de la normativa.
  • Elija ubicaciones de almacenamiento de copias de seguridad para garantizar la soberanía de los datos.

Y todas estas copias de seguridad se cifran durante el tránsito y en reposo, garantizando la seguridad de tus datos. 

Copias de seguridad nativas y sin ordenadores Google Cloud

HYCU está construido de forma nativa para trabajar con las API de Google, y los clientes no tienen que utilizar un script para realizar la configuración de las operaciones de copia de seguridad tradicionales. 

Además, puede configurar HYCU para realizar copias de seguridad de sus datos BigQuery en Google Cloud Storage (GCS) para la retención de datos a largo plazo. Esta flexibilidad garantiza que los datos de la copia de seguridad se puedan utilizar o migrar fácilmente según sus casos de uso o requisitos específicos.

Más allá de BigQuery: proteja su infraestructura Google Cloud

HYCU proporciona copias de seguridad automatizadas y restauración granular en Google Cloud Infrastructure, DBaaS, PaaS y SaaS. De hecho, HYCU cuenta con la cobertura más completa de la infraestructura y los servicios de Google Cloud con soporte completo para:

  • Google Cloud Motor (GCE)
  • Google Cloud Almacenamiento 
  • Google CloudSQL 
  • Google BigQuery 
  • Google Kubernetes Engine (GKE)
  • Google Cloud VMware Engine
  • Google Workspace
  • SAP HANA en Google Cloud 

Proteger la infraestructura multicloud, PaaS, DBaaS y SaaS

HYCU no se limita a hacer copias de seguridad de sus datos BigQuery; también es compatible con varias fuentes de datos y cargas de trabajo. Esto significa que si tiene otras cargas de trabajo en Google, otras nubes públicas, centros de datos locales o incluso aplicaciones SaaS, DBaaS y PaaS, HYCU puede realizar copias de seguridad y restaurarlas sin problemas.

Por otro lado, específicamente para BigQuery, HYCU proporciona una protección de datos completa. Esto garantiza que todos los datos de BigQuery, incluidas las tablas individuales y el esquema, se puedan restaurar.

💡 Relacionados → Las 14 mejores soluciones y herramientas de copia de seguridad SaaS para la protección de datos SaaS

Suscribirse y protegerse en unos clics 

Una de las características más destacadas de HYCU es su interfaz fácil de usar y su completa documentación, que hace que la creación y configuración de sus copias de seguridad de BigQuery no suponga ningún esfuerzo. 

Por ejemplo, HYCU simplifica las operaciones de copia de seguridad descubriendo automáticamente todas las instancias y cargas de trabajo de su cuenta, lo que le permite asignar políticas preempaquetadas con un solo clic o crear las suyas propias. 

En particular, estas políticas son "instalar y olvidar", es decir, funcionan 24 horas al día, 7 días a la semana, 365 días al año, sin operaciones manuales ni gestión diaria. 

Mayor protección y seguridad de los datos

Aparte de heredar automáticamente los roles y permisos de Google Cloud IAM (Identity and Access Management), HYCU también proporciona una función de Control de Acceso Basado en Roles (RBAC).

Esta función le permite definir derechos de acceso y funciones para las operaciones de copia de seguridad y restauración. Esto ayuda a evitar accesos no autorizados y garantiza que las copias de seguridad de los datos se gestionan de forma segura y profesional.

Esta integración garantiza que las operaciones de copia de seguridad y restauración sólo sean realizadas por usuarios autorizados. 

Precios rentables

HYCU ofrece opciones de precios flexibles, asegurando que las empresas de todos los tamaños se beneficien de sus robustas capacidades de copia de seguridad. El costo de usar HYCU se ajusta a sus necesidades especÃficas, tales como la cantidad de datos que necesita respaldar, la frecuencia de los respaldos y el perÃodo de retención requerido. Este enfoque le permite adaptar el servicio a sus necesidades, asegurando que sólo paga por lo que necesita. 

Una vista de su patrimonio Google con estado de protección

Si su organización es como la mayoría, es posible que esté utilizando muchos más servicios de Google junto con otros servicios de nube pública y aplicaciones SaaS. Esto presenta un enorme desafío en el seguimiento, por no hablar de asegurarse de que los datos y la configuración están protegidos y disponibles para su restauración. Con R-Graph, los usuarios de HYCU pueden rastrear toda la infraestructura de nube, servicios, PaaS, DBaaS y SaaS en una sola vista de "mapa del tesoro". Podrá realizar un seguimiento de los servicios que están protegidos y cumplen la normativa y de los que requieren protección. 

💡 Relacionados → Google Workspace (G Suite) Solución de copia de seguridad y recuperación

Opciones y configuraciones predeterminadas de copia de seguridad de BigQuery

Para habilitar BigQuery Backup, necesita acceso de administrador con las siguientes funciones de IAM para gestionar conjuntos de datos: 

  • Copiar un conjunto de datos (Beta):
  • BigQuery Admin (roles/bigquery.admin) en el proyecto de destino
  • Visor de datos BigQuery (roles/bigquery.dataViewer) en el conjunto de datos de origen
  • Editor de datos BigQuery (roles/bigquery.dataEditor) en el conjunto de datos de destino
  • Eliminar un conjunto de datos: Propietario de datos BigQuery (roles/bigquery.dataOwner) en el proyecto.
  • Restaurar un conjunto de datos eliminado: BigQuery Admin (roles/bigquery.admin) en el proyecto

Una vez que tenga acceso, podrá gestionar las configuraciones y opciones de copia de seguridad que se indican a continuación. 

Copiar copias de seguridad a nivel de conjunto de datos

Un conjunto de datos típico en BigQuery es un contenedor de nivel superior que aloja sus tablas y vistas. También es una forma eficaz de organizar y controlar el acceso a los datos. Por ejemplo, separando los datos sin procesar de los datos procesados o los datos de diferentes departamentos o proyectos. 

Por otro lado, configurar copias de seguridad a nivel de conjunto de datos implica crear y exportar una copia de sus datos a una ubicación específica, por ejemplo, un bucket Cloud Storage . Esta acción garantiza la disponibilidad e integridad de los datos, incluso en caso de borrado o modificación accidental.

Métodos de configuración de las copias de seguridad a nivel de conjunto de datos

Existen dos métodos para configurar las copias de seguridad a nivel de conjunto de datos: la API de BigQuery y los comandos SQL. 

Uso de la API BigQuery

La API de BigQuery permite utilizar el servicio de transferencia de datos de BigQuery para programar transferencias de datos automatizadas desde BigQuery para un Cloud Storage cubo

  • Dado que las copias de seguridad se almacenarán en el bucket Google Cloud Storage, cree un nuevo bucket en la sección "Storage" de la Cloud Console. 
  • Instale el Google Cloud SDK. Esto proporciona la herramienta de línea de comandos necesaria para interactuar con las API y otros servicios de Google Cloud . 
  • Autentique el SDK con su cuenta de Google Cloud utilizando los comandos de la gCLI. Esto garantiza que el SDK pueda acceder y realizar operaciones en su nombre. 
  • Si aún no tiene uno, cree un nuevo conjunto de datos. 
  • Defina la configuración. Especifique el conjunto de datos, el proyecto, los ID de tabla y Cloud Storage Bucket. 
  • Exporte los datos de sus tablas de BigQuery a un bucket de Cloud Storage realizando una solicitud a la API. 

Una vez confirmado el proceso, asegúrese de que su conjunto de datos BigQuery y Cloud Storage se encuentran en la ubicación exacta para evitar posibles problemas. 

💡Nota → Esta opción de copia de seguridad de BigQuery es sólo una copia de los datos existentes y no incremental.

Recomendado Más información sobre las API de Google Cloud

Uso de comandos SQL

Los comandos SQL de BigQuery ofrecen otra opción para gestionar e interactuar con los conjuntos de datos. En el contexto de la 'copia de seguridad de datos, esto no es del todo posible -lo mismo ocurre con todas las opciones de copia de seguridad de BigQuery. En su lugar, se crea una nueva tabla con los datos existentes. 

Recomendado → Lea la documentación de Google sobre la creación de conjuntos de datos mediante comandos SQL.

💡Nota: Esto no es precisamente una solución de "copia de seguridad", sino que estás creando conjuntos de datos en otra ubicación.

Además de establecer estas configuraciones de copia de seguridad en BigQuery, hay algunos parámetros clave que debe tener en cuenta:

  • Frecuencia de las copias de seguridad. Esto depende totalmente de la frecuencia con que cambien sus datos. Si tus datos cambian rápidamente, puede que necesites copias de seguridad diarias o cada hora. Si no es el caso, puedes establecerla en mensual o semanal. 
  • Políticas de retención. No son iguales para todos y pueden definirse en función de las necesidades de su empresa, siempre que cumplan la legislación sobre datos que rige su sector. 
  • Preservación del esquema. Este aspecto crítico de la configuración garantiza que el esquema (o estructura) de sus datos permanezca intacto. Esto significa que todos los tipos de datos, nombres, tablas y demás información relevante son exactos incluso durante la replicación. 

Instantáneas a nivel de tabla 

La copia de seguridad a nivel de tabla en BigQuery le permite seleccionar tablas individuales dentro de un conjunto de datos para la copia de seguridad. Esto resulta especialmente útil en situaciones en las que solo es necesario realizar una copia de seguridad de algunas tablas del conjunto de datos. 

Creación de instantáneas para tablas individuales. 

Existen dos métodos estándar para crear instantáneas de tablas individuales; 

  • Puede utilizar la función bq extraer a través de la herramienta de línea de comandos, O
  • Puede utilizar la API de BigQuery para realizar una solicitud. 

He aquí un ejemplo:

bq extract 'my_dataset.my_table' gs://my_bucket/my_table_backup

Dónde: 

  • mi_conjunto_de_datos.mi_tabla'es la tabla de la que quieres hacer copia de seguridad - y,
  • gs://my_bucket/my_table_backup'es la ubicación GCS donde se almacenará la copia de seguridad. 

Ambos métodos exportarán los datos de la tabla como archivos en el formato que elija al bucket Google Cloud Storage (GCS), lo que facilitará la importación y restauración de la tabla en caso necesario.

El GCS es una opción preferible para almacenar las copias de seguridad de las tablas de BigQuery debido a su seguridad, fiabilidad y rentabilidad. 

Exportación de sus copias de seguridad de tablas BigQuery en diferentes formatos. 

Puede exportar los datos de su tabla en los siguientes formatos: 

  • JSON (Javascript Object Notation). Se trata de un formato flexible y legible por humanos, por lo que es más fácil de entender y trabajar con él. Sin embargo, puede ser más grande (en tamaño) y más lento que otros formatos. 
  • CSV (valores separados por comas). Se trata de un formato sencillo y ampliamente admitido para la mayoría de los escenarios de representación de datos de tablas. Sin embargo, no presenta con precisión estructuras de datos complejas. 
  • Avro es un framework de serialización de datos y orientado a filas. Su formato binario compacto lo hace ideal para manejar grandes conjuntos de datos, especialmente cuando el esquema de la tabla cambia con el tiempo. Además, puede comprimir archivos almacenados en formato Avro, lo que reduce el almacenamiento y acelera el tiempo de copia de seguridad/restauración. 
  • Parquet (Apache Parquet) es un formato de almacenamiento de datos orientado a columnas. Puede manejar grandes conjuntos de datos y ofrece excelentes capacidades de compresión. Sin embargo, puede tener algunas limitaciones en cuanto a las actualizaciones frecuentes de las tablas. 

Gestión de tablas particionadas de BigQuery y copias de seguridad incrementales

La partición de tablas en BigQuery es una forma de gestionar y organizar grandes conjuntos de datos. 

Lo ideal es realizar una copia de seguridad basada en la estrategia de partición existente. 

Para ello, puedes

  • copia de seguridad de toda la tabla, incluidas todas las particiones, O
  • o realizar copias de seguridad de particiones específicas. 

Sin embargo, exportar sólo las particiones modificadas o añadidas recientemente es más eficiente desde el punto de vista del almacenamiento si se trata de copias de seguridad incrementales.

Por ejemplo, si su tabla está particionada por fecha, sólo podrá extraer la partición de hoy. 

Limitaciones de las instantáneas a nivel de tabla

  • Una instantánea de tabla debe estar en la misma región y bajo la misma organización que su tabla base.
  • Las instantáneas de tabla son de sólo lectura. No puede actualizar los datos de una instantánea de tabla a menos que cree una tabla estándar a partir de la instantánea y, a continuación, actualice los datos. Sólo puede actualizar los metadatos de una instantánea de tabla; por ejemplo, su descripción, fecha de caducidad y política de acceso.
  • Sólo se puede tomar una instantánea de los datos de una tabla tal y como eran hace siete días o más recientemente, debido al límite de siete días para viajar en el tiempo. 
  • No se puede tomar una instantánea de una vista o una vista materializada. 
  • No se puede tomar una instantánea de una tabla externa. 
  • No se puede sobrescribir una tabla o instantánea de tabla existente al crear una instantánea de tabla. 
  • Si realiza una instantánea de una tabla que tiene datos en almacenamiento optimizado para escritura (búfer de flujo), los datos del almacenamiento optimizado para escritura no se incluyen en la instantánea de la tabla. 
  • Si realiza una instantánea de una tabla que tiene datos en recorrido temporal, los datos en recorrido temporal no se incluyen en la instantánea de la tabla. 
  • Si realiza una instantánea de una tabla particionada que tiene una caducidad de partición establecida, la información de caducidad de la partición no se conserva en la instantánea. La tabla 'snapshotted ' utiliza la caducidad de partición por defecto del conjunto de datos de destino. Para conservar la información de caducidad de la partición, copie la tabla en su lugar.
  • No se puede copiar una instantánea de tabla. 

Copias de seguridad basadas en instantáneas

Una instantánea en BigQuery es una copia puntual de los datos de una tabla (llamada tabla base). Esto significa que captura el estado de la tabla y sus datos en un momento específico, lo que le permite restaurar desde ese punto específico si es necesario. 

En pocas palabras, es hacer una foto de tus datos. Y puede ser valioso para instancias como el cumplimiento, la auditoría o el análisis de tendencias, donde proporciona una visión coherente de los datos tal y como existían en un momento dado. 

💡Nota → Las instantáneas de tablas son de 'sólo lectura', pero puede crear/restaurar una tabla estándar a partir de una instantánea y luego modificarla.

Creación y gestión de instantáneas para la recuperación puntual 

Puede crear una instantánea de una tabla utilizando las siguientes opciones:

  • Google Cloud Consola
  • Declaración SQL
  • El comando bq cp --snapshot
  • API jobs.insert

Por ejemplo, si utiliza la consola Google Cloud , siga estos pasos:

  • Vaya a la Cloud Console y navegue hasta la página página BigQuery.
  • Encuentre el 'Exploradory despliegue los nodos del proyecto y del conjunto de datos de la tabla que desea instantanear.
  • Haga clic en el nombre de la tabla, y haga clic en 'SNAPSHOT.' 
  • A continuación, aparecerá la opción "Crear instantánea de tabla". Introduzca el Proyecto, Tabla y Conjunto de datos para la nueva instantánea de tabla. 
  • Establezca su Hora de caducidad
  • Haga clic en Guardar.

Una vez creada esta instantánea, se desvincula de la tabla original. Esto significa que cualquier cambio en la tabla no afectará a los datos de la instantánea en la nueva tabla. 

Recomendado → Más información sobre la creación de instantáneas de tablas utilizando otras opciones.

Ventajas de las copias de seguridad basadas en instantáneas

  • Versiones de datos. Permite acceder a los datos tal y como aparecían en un momento determinado. De este modo, puedes rastrear los cambios o restaurar los datos a su estado original si es necesario. 
  • Análisis histórico. Puede comparar diferentes instantáneas para seguir los cambios de los datos a lo largo del tiempo. Esto puede ayudarte a comprender las tendencias y mejorar tu proceso de toma de decisiones. 
  • Conservación de datos. Algunas industrias y organizaciones tienen estrictas políticas de retención de datos para cumplir con los requisitos reglamentarios. Las copias de seguridad basadas en instantáneas permiten conservar los datos durante un periodo de tiempo específico, tal y como exigen las normativas. 

Utilización de la función de viaje en el tiempo de BigQuery para la restauración de datos

BigQuery ofrece una función llamada "viaje en el tiempo", que le permite acceder a las versiones históricas de su tabla en los últimos siete días. 

Con la función de viaje en el tiempo, puede restaurar o conservar los datos de una tabla a partir de un momento determinado, deshaciendo cualquier cambio realizado después de esa marca de tiempo elegida. 

Las copias de seguridad basadas en instantáneas y la función de viaje en el tiempo refuerzan significativamente su estrategia de protección de datos en BigQuery. 

Tenga en cuenta que el "viaje en el tiempo" no es una solución de recuperación garantizada en caso de fallo operativo, ciberataque o catástrofe natural. 

He aquí por qué: 

  • El plazo para recuperar los datos está limitado a siete días. Si se produce un problema que no se detecta en ese plazo, los datos no se pueden recuperar.
  • El viaje en el tiempo no ofrece la opción de duplicar o hacer una copia de seguridad de tus datos. Lo único que hace es permitirte volver a los estados anteriores de tus datos. 

Por ello, es fundamental emplear otras medidas de copia de seguridad, como la exportación periódica de datos a Google Cloud Storage y la replicación de datos, para garantizar la seguridad integral de los datos.

Implantación de soluciones de copia de seguridad de BigQuery

Uso de Python y GitHub

Gracias a su facilidad de uso y a su amplio soporte de bibliotecas, Python facilita la interacción con BigQuery y la automatización de todo el proceso de copia de seguridad. 

Ahora, utilizando Python con GitHub, una plataforma líder de alojamiento y control de versiones de código, puedes gestionar tus scripts, hacer un seguimiento de los cambios e incluso colaborar con otras personas. 

Para que esto funcione, es necesario aprovechar las bibliotecas y repositorios de Python existentes para agilizar el proceso de desarrollo: 

  • google-cloud-bigquery. Esta biblioteca oficial de Python es de Google Cloud, y proporciona funcionalidades como la gestión de conjuntos de datos, la programación y la ejecución de consultas.

He aquí un ejemplo de utilización de Python para realizar una consulta

from google.cloud import bigquery

cliente = bigquery.Cliente()

# Realiza una consulta.

CONSULTA = (

    SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` '

    'WHERE state = "TX" '

    LIMIT 100')

query_job = client.query(QUERY) # Solicitud API

rows = query_job.result() # Espera a que termine la consulta

para fila en filas:

    print(fila.nombre)

  • google-cloud-storage. Esta biblioteca hace que sea conveniente para automatizar el almacenamiento de sus copias de seguridad en Google Cloud. 
  • pandas-gbq. Esta librería tiende un puente entre BigQuery y Pandas. Simplifica la recuperación de resultados de las tablas de BigQuery mediante consultas de tipo SQL.

Ejemplos de lo que se puede hacer con la biblioteca pandas-gbq: 

Realizar una consulta: 

  • importar pandas_gbq
  • result_dataframe = pandas_gbq.read_gbq("SELECT column FROM dataset.table WHERE value = 'algo'")

Carga de un marco de datos:

  • importar pandas_gbq
  • pandas_gbq.to_gbq(dataframe, "dataset.table")

Además, adherirse a algunas de las mejores prácticas estándar es crucial cuando se utiliza Python y GitHub para crear copias de seguridad de BigQuery. 

  • Supervise sus tareas de copia de seguridad. Implemente la gestión de errores y el registro en sus secuencias de comandos para activar un sistema de alerta que le notifique posibles problemas con el proceso de copia de seguridad. 
  • Modulariza tus scripts Python. La modularización es simplemente una forma de organizar los programas a medida que se vuelven más complicados. En este caso, divide tus funciones relacionadas con las copias de seguridad en modelos reutilizables, para que sean más fáciles de gestionar y mantener a medida que crecen. 
  • Utilizar archivos de configuración. También conocidos como "archivos de configuración",se utilizan para almacenar pares clave-valor de un código Python. Por ejemplo, al ejecutar copias de seguridad de BigQuery, puede utilizar un archivo de configuración para almacenar los ID de proyecto, los nombres de los conjuntos de datos y las ubicaciones de las copias de seguridad. Esto permite una fácil modificación sin alterar el código. 

Utilización de la línea de comandos y del SDK Google Cloud 

La línea de comandos (o gCLI) es un conjunto de herramientas utilizadas para gestionar aplicaciones y recursos alojados en Google Cloud. Entre estas herramientas se incluyen gcloud, gsutil y las herramientas de línea de comandos bq. Por ejemplo, puedes programar y automatizar todas las tareas relacionadas con las copias de seguridad con la línea de comandos. 

Por otro lado, el SDK Google Cloud facilita el desarrollo y la interacción con la API Google Cloud utilizando su lenguaje de programación preferido. 

Combine ambos y podrá gestionar cómodamente sus copias de seguridad de BigQuery. 

Cómo configurar su SDK Google Cloud . 

  • Ir a Cloud SDK - Bibliotecas y herramientas de línea de comandos | Google Cloud.
  • Descargue el paquete de instalación de su máquina respectiva (Windows, macOS, Ubuntu y Linux) y siga las instrucciones de la página.
  • Instala el SDK de Google Cloud utilizando './google-cloud-sdk/install.sh' y sigue las indicaciones necesarias.
  • Autentique su cuenta para habilitar los recursos de BigQuery utilizando la línea de comandos 'gcloud auth login'

Ahora que su SDK Google Cloud está configurado, lo siguiente es utilizar la línea de comandos para realizar diversas funciones de copia de seguridad. 

Creación de copias de seguridad

Crear una copia de seguridad de BigQuery utilizando la línea de comandos '[bq cp]' es simplemente copiar la tabla de una ubicación a otra. Las ubicaciones pueden ser diferentes proyectos, diferentes conjuntos de datos, o incluso dentro de los mismos conjuntos de datos. 

bq cp [project_id]:[dataset].[table] [project_id]:[backup_dataset].[backup_table]

Donde tu; 

  • '[project_id]' es tu id de Google Cloud . 
  • '[dataset]' contiene la tabla de la que quieres hacer una copia de seguridad. 
  • '[tabla]' contiene el nombre de la tabla de la que se desea hacer una copia de seguridad. 
  • '[backup_dataset]' es el conjunto de datos donde quieres almacenar la copia de seguridad. 
  • '[backup_table]' es el nombre de la tabla de copia de seguridad. 

Exportar datos

Utilice la línea de comandos '[bq extract]' para exportar datos de BigQuery a Google Cloud Storage o a sistemas de almacenamiento externos. Esta línea de comandos también permite exportar datos en JSON, CSV, Avro y Parquet. 

bq extract --destination_format=[formato] [project_id]:[conjunto_datos].[tabla] gs://[bucket]/[ruta].

Aquí, reemplaza;

  • '[formato]' con el formato de exportación que desee. 
  • '[bucket]' con el nombre de su Google Cloud Storage bucket. 
  • '[ruta]' con la ruta en la que desea almacenar los datos exportados.  

Por ejemplo: 

bq extract --destination_format CSV 'mydataset.mytable' gs://mybucket/mydata.csv

Gestionar las copias de seguridad

Para gestionar las copias de seguridad de BigQuery, utilice el comando '[ bq ls ]' para obtener una lista de todas las copias de seguridad [o tablas] de un conjunto de datos específico, o '[bq rm]' para eliminar una tabla. 

  • bq ls mydataset
  • bq rm 'mydataset.mytable'

Limitaciones de las opciones de copia de seguridad de BigQuery

Opción de recuperación puntual limitada

Supongamos que tiene un conjunto de datos críticos en BigQuery que se somete a frecuentes actualizaciones y transformaciones. Un día, el conjunto de datos se vuelve impreciso debido a un problema de corrupción de datos. 

Dado que BigQuery no ofrece recuperación puntual, no puede restaurar fácilmente el conjunto de datos a un estado anterior a que se produjera la corrupción. Sin copias de seguridad automatizadas, es posible que tenga que confiar en las exportaciones manuales o en las instantáneas que haya tomado previamente, lo que podría llevar mucho tiempo y ser potencialmente obsoleto.

Proceso complejo de importación y exportación

Supongamos que tiene un gran conjunto de datos en BigQuery y desea crear una copia de seguridad en un sistema de almacenamiento externo, como Google Cloud Storage (GCS); aunque BigQuery permite exportar datos en formatos como Avro, Parquet o CSV, la exportación de grandes conjuntos de datos puede ser compleja y consumir muchos recursos. 

Por ejemplo, exportar varios terabytes de datos a GCS podría requerir un tiempo y unos recursos de red considerables, lo que conllevaría costes adicionales y posibles interrupciones de las operaciones en curso.

Mala política de conservación de copias de seguridad

Por defecto, BigQuery retiene las tablas o conjuntos de datos eliminados en la "Papelera" durante 30 días antes de su eliminación permanente. Aunque esto proporciona cierto nivel de protección contra borrados accidentales, no se puede ampliar o personalizar este periodo de retención.

Guiones y configuración que consumen muchos recursos

La gestión de scripts y configuraciones personalizadas puede ser compleja, especialmente a medida que se amplía el entorno. La gestión de secuencias de comandos puede ser desalentadora y requerir mucho tiempo para un servicio como BigQuery, por no hablar de si usted es responsable de la gestión de múltiples servicios en la nube. 

Copia de seguridad y recuperación de BigQuery: Lo esencial

Google BigQuery es sin duda una potente herramienta para las organizaciones basadas en datos. Sus rapidísimas consultas SQL, sus capacidades de aprendizaje automático integradas y su infraestructura escalable la convierten en una solución fiable, especialmente para procesar grandes cantidades de datos. Sin embargo, el valioso esquema, los conjuntos de datos y las tablas que residen en BigQuery deben protegerse para mitigar los riesgos de pérdida de datos o fallos del sistema. Aquí es donde HYCU viene a salvar el día. 

Con HYCU Protégé, obtendrá copias de seguridad en 1 clic y restauración granular para sus datos BigQuery. Esta copia de seguridad automatizada "configurar y olvidar" funciona 24/7/365, ofreciéndole total tranquilidad de que sus datos BigQuery estarán disponibles cuando los necesite. 

¿Necesita una copia de seguridad y restauración nativa en la nube para Google BigQuery?

Únete a los más de 4200 clientes que confían en HYCU. 👈

Shive Raja Headshot

Director de Gestión de Productos

Andy Fernandez es el Director de Gestión de Productos de HYCU, una empresa de Atlassian Ventures. Toda la carrera de Andy se ha centrado en la protección de datos y la recuperación ante desastres para aplicaciones críticas. Anteriormente ocupó puestos de producto y GTM en Zerto y Veeam, el enfoque de Andy ahora es asegurar que las organizaciones protejan las aplicaciones críticas SaaS y Cloud a través de ITSM y DevOps. Cuando no está trabajando en la protección de datos, a Andy le encanta asistir a conciertos en directo, encontrar los lugares locales para comer e ir a la playa.

Experimente la plataforma de protección de datos SaaS número 1

Pruebe HYCU usted mismo y conviértase en un creyente.