Migración de Snowflake a BigQuery: introducción

En este documento se ofrece una introducción a la migración de datos de Snowflake a BigQuery.

Para facilitar las migraciones a BigQuery, Google Cloud ofrece BigQuery Migration Service, una solución integral para migrar tu almacén de datos a BigQuery. El servicio de migración ofrece funciones para cada fase de la migración, como la evaluación y la planificación, la traducción de SQL, la transferencia de datos y la validación de datos. Para obtener más información, consulta la introducción a BigQuery Migration Service.

Comparación de funciones

En las siguientes secciones se destacan las principales diferencias y similitudes entre BigQuery y Snowflake, y se presentan varias funciones exclusivas de BigQuery.

Terminología

En la siguiente tabla se asignan los términos de Snowflake a los términos equivalentes de BigQuery:

Snowflake BigQuery
Base de datos Conjunto de datos
Esquema Esquema
Ver Ver
Vistas seguras Vistas autorizadas
Almacén virtual Reserva
Vista materializada Vista materializada
Microparticiones Particiones
Agrupamiento en clústeres Agrupamiento en clústeres
Funciones definidas por el usuario (UDF) con seguridad mejorada Funciones definidas por el usuario autorizadas

Arquitectura de BigQuery

BigQuery es un almacén de datos analítico con una arquitectura altamente escalable. BigQuery desacopla el almacenamiento y los recursos de computación, lo que permite que estos componentes se escalen de forma independiente bajo demanda. Para obtener más información sobre la arquitectura de BigQuery, consulta la descripción general de BigQuery. Estas son algunas de las funciones clave de BigQuery que son relevantes para el proceso de migración de datos:

  • BigQuery usa tablas gestionadas y ofrece opciones flexibles para transferir datos de terceros. Esto incluye la ingesta directa desde Cloud Storage en formatos portátiles como Parquet, Avro, ORC y CSV.

    • BigQuery también admite tablas de Apache Iceberg. Iceberg es un formato de tabla abierto que ofrece funciones de data lakehouse a BigQuery, como la evolución de esquemas, el viaje en el tiempo y las transacciones ACID. Esto permite una integración fluida con otros sistemas que usan Iceberg y proporciona mayor flexibilidad y control sobre tus datos.
  • BigQuery te permite definir particiones y clústeres explícitos al crear tablas. De esta forma, tendrás un control granular sobre la organización de los datos, lo que te permitirá optimizar el rendimiento de las consultas, reducir los costes mediante la creación de particiones y clústeres estratégicos, y adaptar el diseño de los datos a tus necesidades analíticas específicas.

  • BigQuery gestiona los recursos informáticos automáticamente. No es necesario aprovisionar ni gestionar máquinas virtuales.

    • Para las cargas de trabajo predecibles, BigQuery ofrece reservas, que te permiten reservar capacidad de computación con antelación a un coste más bajo. Esto puede ser útil para cargas de trabajo constantes con necesidades de recursos predecibles.
    • Durante la migración, analiza tus patrones de uso de Snowflake para conocer tus requisitos de computación y determinar el enfoque más rentable en BigQuery, ya sea con precios bajo demanda o con reservas.

Interfaz de usuario de BigQuery

La interfaz de BigQuery está integrada en la Google Cloud consola.

BigQuery también tiene una herramienta de línea de comandos basada en Python llamada herramienta de línea de comandos bq.

Funciones de seguridad de BigQuery

Cuando migres de Snowflake a BigQuery, ten en cuenta cómoGoogle Cloud gestiona la seguridad de forma diferente a Snowflake.

La seguridad de BigQuery está intrínsecamente vinculada a Gestión de Identidades y Accesos (IAM) en Google Cloud. Los privilegios de IAM definen las operaciones permitidas en un recurso y se aplican a nivel de Google Cloud , lo que proporciona un enfoque centralizado y coherente para la gestión de la seguridad. Estas son algunas de las principales funciones de seguridad de Google Cloud:

  • Seguridad integrada: BigQuery aprovecha las funciones de seguridad de Google Cloud. Esto incluye la gestión de identidades y accesos para un control de acceso granular que permita una integración de seguridad sólida y fluida.
  • Seguridad a nivel de recurso: la gestión de identidades y accesos se centra en el control de acceso a nivel de recurso, lo que permite conceder permisos a usuarios y grupos para varios recursos y servicios de BigQuery. Este enfoque permite gestionar de forma eficaz los derechos de acceso para que los usuarios solo tengan los permisos necesarios para realizar sus tareas.
  • Seguridad de la red: BigQuery se beneficia de las sólidas funciones de seguridad de la red de Google Cloud, como Virtual Private Cloud y las conexiones privadas.

Cuando migres de Snowflake a BigQuery, ten en cuenta los siguientes requisitos de migración relacionados con la seguridad:

  • Configuración de gestión de identidades y accesos: debes configurar los roles y permisos de gestión de identidades y accesos en BigQuery para que coincidan con tus políticas de control de acceso de Snowflake. Esto implica asignar roles de Snowflake a los roles y permisos de gestión de identidades y accesos de BigQuery correspondientes.
  • Control de acceso granular: si usas seguridad a nivel de fila o de columna en Snowflake, tendrás que implementar controles equivalentes en BigQuery mediante vistas autorizadas o etiquetas de política.
  • Migración de vistas y UDFs: al migrar vistas y UDFs, compruebe que los controles de seguridad asociados se traducen correctamente a vistas autorizadas y UDFs autorizadas en BigQuery.

Cifrado

BigQuery cifra tus datos en reposo y en tránsito de forma predeterminada. Si necesitas más control sobre las claves de encriptado, BigQuery admite claves de encriptado gestionadas por el cliente en Cloud Key Management Service. También puedes usar el cifrado a nivel de columna.

Para mantener la seguridad de los datos durante y después de la migración a BigQuery, tenga en cuenta lo siguiente:

  • Gestión de claves: si necesitas claves gestionadas por el cliente, establece una estrategia de gestión de claves en Cloud Key Management Service y configura BigQuery para que use esas claves.
  • Enmascaramiento o tokenización de datos: si se trata de datos sensibles, evalúa si es necesario enmascararlos o tokenizarlos para protegerlos.
  • Seguridad a nivel de fila: implementa la seguridad a nivel de fila mediante vistas autorizadas, filtros de seguridad a nivel de fila u otros métodos adecuados.
  • Análisis de vulnerabilidades y pruebas de penetración: realiza análisis de vulnerabilidades y pruebas de penetración periódicos para comprobar el nivel de seguridad de tu entorno de BigQuery.

Roles

Los roles son las entidades a las que se pueden conceder y revocar privilegios sobre objetos protegibles.

En Gestión de identidades y accesos, los permisos se agrupan en roles. IAM proporciona tres tipos de roles:

  • Roles básicos: Estos roles son Propietario, Editor y Lector. Puedes aplicar estos roles a nivel de proyecto o de recurso de servicio mediante laGoogle Cloud consola, la API Identity and Access Management o la gcloud CLI. En general, para disfrutar de la máxima seguridad, te recomendamos que uses roles predefinidos para seguir el principio de privilegio mínimo.
  • Roles predefinidos: Estos roles proporcionan un acceso más granular a las funciones de un producto (como BigQuery) y están diseñados para admitir casos de uso y patrones de control de acceso habituales.
  • Roles personalizados: estos roles se componen de permisos especificados por el usuario.

Control de acceso

Snowflake te permite conceder roles a otros roles, lo que crea una jerarquía de roles. Gestión de identidades y accesos no admite una jerarquía de roles, pero sí una jerarquía de recursos. La jerarquía de gestión de identidades y accesos incluye los niveles de organización, carpeta, proyecto y recurso. Puedes definir roles de gestión de identidades y accesos en cualquier nivel de la jerarquía, y los recursos heredan todas las políticas de sus recursos superiores.

BigQuery admite el control de acceso a nivel de tabla. Los permisos a nivel de tabla determinan los usuarios, grupos y cuentas de servicio que pueden acceder a una tabla o vista. Puedes dar acceso a un usuario a tablas o vistas específicas sin darle acceso al conjunto de datos completo.

Para disfrutar de un acceso más granular, también puedes usar el control de acceso a nivel de columna o la seguridad a nivel de fila. Este tipo de control proporciona acceso pormenorizado a columnas sensibles mediante etiquetas de política o clasificaciones de datos basadas en tipos.

También puedes crear vistas autorizadas para limitar el acceso a los datos y tener un control más preciso, de forma que los usuarios especificados puedan consultar una vista sin tener acceso de lectura a las tablas subyacentes.

Migrar otras funciones de Snowflake

Ten en cuenta las siguientes funciones de Snowflake al planificar tu migración a BigQuery. En algunos casos, puedes usar otros servicios en Google Cloud para completar la migración.

Empezar

En las siguientes secciones se resume el proceso de migración de Snowflake a BigQuery:

Realizar una evaluación de la migración

En tu migración de Snowflake a BigQuery, te recomendamos que empieces ejecutando la herramienta de evaluación de la migración a BigQuery para evaluar la viabilidad y las ventajas potenciales de migrar tu almacén de datos de Snowflake a BigQuery. Esta herramienta proporciona un enfoque estructurado para comprender tu entorno de Snowflake actual y estimar el esfuerzo necesario para completar la migración correctamente.

Al ejecutar la herramienta de evaluación de la migración de BigQuery, se genera un informe de evaluación que contiene las siguientes secciones:

  • Informe del sistema actual: una instantánea del sistema y el uso de Snowflake, incluido el número de bases de datos, esquemas y tablas, así como el tamaño total en TB. También enumera los esquemas por tamaño y señala el uso de recursos potencialmente no óptimo, como las tablas sin escrituras o con pocas lecturas.
  • Sugerencias de transformación de estado estable de BigQuery: muestra cómo será el sistema en BigQuery después de la migración. Incluye sugerencias para optimizar las cargas de trabajo en BigQuery y evitar el desperdicio.
  • Plan de migración: proporciona información sobre la propia migración. Por ejemplo, pasar del sistema actual al estado estable de BigQuery. En esta sección se incluye el número de consultas que se han traducido automáticamente y el tiempo estimado para mover cada tabla a BigQuery.

Para obtener más información sobre los resultados de una evaluación de la migración, consulta el artículo Revisar el informe de Looker Studio.

Configurar un flujo de migración de Snowflake a BigQuery

Una vez que hayas revisado los resultados de la evaluación de la migración, puedes empezar a migrar a Snowflake configurando una canalización de migración. Para obtener más información, consulta el artículo sobre la migración de Snowflake a BigQuery.

Validar la migración

Una vez que hayas migrado tus datos de Snowflake a BigQuery, ejecuta la herramienta de validación de datos (DVT) para validar los datos de BigQuery que acabas de migrar. La prueba de validación de datos comprueba varias funciones, desde el nivel de tabla hasta el de fila, para verificar que los datos migrados funcionan correctamente.