Migración de Snowflake a BigQuery: Introducción
En este documento, se proporciona una introducción a la migración de datos de Snowflake a BigQuery.
Para admitir migraciones a BigQuery, Trusted Cloud by S3NS ofrece el servicio de migración de BigQuery como una solución integral para migrar tu almacén de datos a BigQuery. El servicio de migración ofrece funciones para admitir cada fase de tu migración, incluidas 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 Introducción al servicio de migración de BigQuery.
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 | Partición |
Agrupamiento en clústeres | Agrupamiento en clústeres |
Funciones definidas por el usuario (UDF) con seguridad mejorada | UDF autorizadas |
Arquitectura de BigQuery
BigQuery es un almacén de datos analíticos con una arquitectura altamente escalable. BigQuery separa el almacenamiento y el procesamiento, lo que permite que estos componentes se escalen de forma independiente según la demanda. Para obtener más información sobre la arquitectura en BigQuery, consulta Descripción general de BigQuery. A continuación, se mencionan algunas funciones clave de BigQuery que son relevantes para el proceso de migración de datos:
BigQuery usa tablas administradas y ofrece opciones flexibles para la transferencia de datos de terceros. Esto incluye la transferencia 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 abierta que aporta capacidades de data lakehouse a BigQuery, lo que proporciona evolución de esquemas, viaje en el tiempo y transacciones ACID. Esto permite una integración perfecta con otros sistemas que usan Iceberg y proporciona mayor flexibilidad y control sobre tus datos.
BigQuery te permite definir particiones y agrupamientos en clústeres explícitos cuando creas tablas. Esto te brinda un control detallado sobre la organización de los datos, lo que te permite optimizar el rendimiento de las consultas, reducir los costos mediante la creación estratégica de particiones y clústeres, y adaptar el diseño de los datos a tus necesidades analíticas específicas.
- También puedes usar el recomendador de particiones y agrupamiento en clústeres para que BigQuery sugiera configuraciones de partición y agrupamiento en clústeres según la carga de trabajo de tu proyecto.
BigQuery controla los recursos de procesamiento de forma automática. No es necesario que aprovisiones ni administres máquinas virtuales.
- Para las cargas de trabajo predecibles, BigQuery ofrece reservas, lo que te permite reservar capacidad de procesamiento por adelantado a un costo más bajo. Esto puede ser beneficioso para las cargas de trabajo coherentes con necesidades de recursos predecibles.
- Durante la migración, analiza tus patrones de uso de Snowflake para comprender tus requisitos de procesamiento y ayudarte a determinar el enfoque más rentable en BigQuery, ya sea con precios según demanda o con reservas.
Interfaz de usuario de BigQuery
La interfaz de BigQuery está integrada en la consola deTrusted Cloud .
BigQuery también tiene una herramienta de línea de comandos basada en Python llamada herramienta de línea de comandos de bq.
Funciones de seguridad de BigQuery
Cuando migres de Snowflake a BigQuery, ten en cuenta cómoTrusted Cloud by S3NS maneja la seguridad de manera diferente a Snowflake.
La seguridad en BigQuery está intrínsecamente vinculada a la administración de identidades y accesos (IAM) en Trusted Cloud by S3NS. Los privilegios de IAM definen las operaciones permitidas en un recurso y se aplican a nivel del Trusted Cloud by S3NS , lo que proporciona un enfoque centralizado y coherente para la administración de la seguridad. Estas son algunas funciones clave de seguridad de Trusted Cloud by S3NS:
- Seguridad integrada: BigQuery aprovecha las funciones de seguridad de Trusted Cloud by S3NS. Esto incluye IAM para el control de acceso detallado para una integración de seguridad sólida y sin problemas.
- Seguridad a nivel del recurso: IAM se enfoca en el control de acceso a nivel del recurso, ya que otorga permisos a usuarios y grupos para varios recursos y servicios de BigQuery. Este enfoque permite administrar de manera eficaz los derechos de acceso para que los usuarios solo tengan los permisos necesarios para realizar sus tareas.
- Seguridad de red: BigQuery se beneficia de las sólidas funciones de seguridad de red de Trusted Cloud by S3NS, como la nube privada virtual 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 IAM: Debes configurar los roles y permisos de IAM en BigQuery para que coincidan con tus políticas de control de acceso existentes de Snowflake. Esto implica asignar roles de Snowflake a los roles y permisos de IAM de BigQuery adecuados.
- Control de acceso detallado: Si usas seguridad a nivel de la fila o la columna en Snowflake, deberás implementar controles equivalentes en BigQuery con vistas autorizadas o etiquetas de política.
- Migración de vistas y UDF: Cuando migres vistas y UDF, verifica que los controles de seguridad asociados se traduzcan correctamente a vistas autorizadas y UDF autorizadas en BigQuery.
Encriptación
BigQuery encripta tus datos en reposo y en tránsito de forma predeterminada. Si necesitas más control sobre las claves de encriptación, BigQuery admite claves de encriptación administradas por el cliente en Cloud Key Management Service. También puedes usar la encriptación a nivel de columna.
Para mantener la seguridad de los datos durante y después de la migración a BigQuery, ten en cuenta lo siguiente:
- Administración de claves: Si necesitas claves administradas por el cliente, establece una estrategia de administración de claves en Cloud Key Management Service y configura BigQuery para que use esas claves.
- Enmascaramiento o asignación de tokens de datos: Si se trata de datos sensibles, evalúa si se requiere el enmascaramiento o la asignación de tokens de datos para protegerlos.
- Seguridad a nivel de las filas: Implementa la seguridad a nivel de las filas con vistas autorizadas, filtros de seguridad a nivel de las filas o cualquier otro método adecuado.
- Análisis de vulnerabilidades y pruebas de penetración: Realiza análisis de vulnerabilidades y pruebas de penetración periódicos para verificar la postura de seguridad de tu entorno de BigQuery.
Funciones
Los roles son las entidades a las que se les pueden otorgar y revocar privilegios en objetos que se pueden proteger.
En IAM, los permisos se agrupan en roles. IAM proporciona tres tipos de roles:
- Roles básicos: estos roles incluyen los roles de propietario, editor y visualizador. Puedes aplicar estos roles en los niveles de recursos de proyecto o servicio con laTrusted Cloud consola, la API de Identity and Access Management o
gcloud CLI
. En general, para obtener la seguridad más sólida, recomendamos que uses roles predefinidos para seguir el principio de privilegio mínimo. - Roles predefinidos: estos roles proporcionan un acceso más detallado a las funciones de un producto (como BigQuery) y están diseñados para admitir casos de uso comunes y patrones de control de acceso.
- Roles personalizados: estos roles se componen de permisos especificados por el usuario.
Control de acceso
Snowflake te permite otorgar roles a otros roles, lo que crea una jerarquía de roles. IAM no admite una jerarquía de roles, pero implementa una jerarquía de recursos. La jerarquía de IAM incluye el nivel de organización, el nivel de carpeta, el nivel de proyecto y el nivel de recurso. Puedes establecer roles de IAM 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 otorgar a un usuario acceso a tablas o vistas específicas sin que tenga acceso al conjunto de datos completo.
Para obtener un acceso más detallado, también puedes usar el control de acceso a nivel de columna o la seguridad a nivel de la fila. Este tipo de control proporciona un acceso detallado a columnas sensibles mediante el uso de etiquetas de política o clasificaciones de datos basadas en tipos.
También puedes crear vistas autorizadas para limitar el acceso a los datos a fin de obtener un control de acceso más detallado, de modo que los usuarios especificados puedan consultar una vista sin tener acceso de lectura a las tablas subyacentes.
Migra otras funciones de Snowflake
Ten en cuenta las siguientes funciones de Snowflake cuando planifiques tu migración a BigQuery. En algunos casos, puedes usar otros servicios en Trusted Cloud para completar la migración.
Viaje en el tiempo: en BigQuery, puedes usar viaje en el tiempo para acceder a los datos desde cualquier punto en los últimos siete días. Si necesitas acceder a los datos después de siete días, considera exportar instantáneas programadas con regularidad.
Transmisiones: BigQuery admite la captura de datos modificados (CDC) con Datastream. También puedes usar el software de CDC, como Debezium, para escribir registros en BigQuery con Dataflow. Para obtener más información sobre cómo diseñar de forma manual una canalización de CDC con BigQuery, consulta Migra almacenes de datos a BigQuery: Cambia la captura de datos (CDC).
Tareas: BigQuery te permite programar consultas y transmisiones, o transmitir la integración en consultas con Datastream.
Funciones externas: BigQuery admite llamadas de funciones externas a través de Cloud Run Functions. También puedes usar funciones definidas por el usuario (UDF), como UDF de SQL, aunque estas funciones se ejecutan dentro de BigQuery.
Comenzar
En las siguientes secciones, se resume el proceso de migración de Snowflake a BigQuery:
Ejecuta una evaluación de migración
En tu migración de Snowflake a BigQuery, te recomendamos que comiences por ejecutar la herramienta de evaluación de migración de BigQuery para evaluar la viabilidad y los posibles beneficios de trasladar tu almacén de datos de Snowflake a BigQuery. Esta herramienta proporciona un enfoque estructurado para comprender tu entorno actual de Snowflake y estimar el esfuerzo que implica una migración exitosa.
Cuando se ejecuta la herramienta de evaluación de migración de BigQuery, se genera un informe de evaluación que contiene las siguientes secciones:
- Informe del sistema existente: Es una instantánea del sistema y el uso de Snowflake existentes, incluida la cantidad de bases de datos, esquemas, tablas y el tamaño total en TB. También enumera los esquemas por tamaño y señala el posible uso de recursos subóptimo, como las tablas sin escrituras o con pocas lecturas.
- Sugerencias de transformación de estado estable de BigQuery: Muestra cómo se verá 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 el esfuerzo de migración. Por ejemplo, pasar del sistema existente al estado estable de BigQuery. En esta sección, se incluye el recuento de las consultas que se tradujeron automáticamente y el tiempo estimado para trasladar cada tabla a BigQuery.
Para obtener más información sobre los resultados de una evaluación de migración, consulta Revisa el informe de Looker Studio.
Configura una canalización de migración de Snowflake a BigQuery
Una vez que hayas revisado los resultados de la evaluación de migración, puedes comenzar la migración a Snowflake configurando una canalización de migración. Para obtener más información, consulta Migración de Snowflake a BigQuery: descripción general.
Valida tu migración
Una vez que hayas migrado tus datos de Snowflake a BigQuery, ejecuta la Herramienta de validación de datos (DVT) para realizar una validación de datos en los datos de BigQuery que acabas de migrar. La DVT valida varias funciones, desde el nivel de la tabla hasta el nivel de la fila, para verificar que los datos migrados funcionen según lo previsto.