Lista de tareas de lanzamiento para BigQuery

Introducción

En esta Lista de tareas de lanzamiento para BigQuery, se recomiendan las actividades que debes llevar a cabo si quieres lanzar una aplicación comercial que use Google BigQuery. La lista de tareas se centra en actividades específicas de BigQuery. También debes usar la lista de tareas general, la Lista de tareas de lanzamiento para Google Cloud Platform, a fin de conocer las otras actividades que debes completar y que aplican a todos los servicios.

Esta Lista de tareas de lanzamiento para BigQuery está destinada a desarrolladores que dominan BigQuery. Si recién comienzas a usar BigQuery, estas instrucciones no te enseñarán a hacerlo.

Esta lista de tareas está dividida en las secciones siguientes:

  • Diseño y desarrollo de la arquitectura
  • Lanzamiento reducido
  • Lanzamiento final

Las secciones se presentan en el orden que te recomendamos seguir durante la preparación del lanzamiento de tu aplicación. Por ejemplo, debes comenzar con la Lista de tareas de diseño y desarrollo de la arquitectura, que incluye actividades recomendadas durante las primeras etapas del ciclo de vida de tu aplicación. De forma similar, la Lista de tareas para los lanzamientos reducidos contiene actividades que te recomendamos realizar cuando se acerque el momento del lanzamiento. Sin embargo, el cronograma exacto de las actividades de la lista de tareas y el tiempo que te tomarán dependen del plazo establecido para el desarrollo de tu aplicación.

Lista de tareas de diseño y desarrollo de la arquitectura

Recomendamos usar esta lista de tareas en las etapas iniciales del desarrollo de tu aplicación. Puedes trabajar con las actividades de la lista de tareas de cada grupo en paralelo. Sin embargo, te recomendamos que comiences con las actividades relacionadas con la arquitectura de software lo antes posible, ya que se necesita más tiempo para completarlas.

Actividad
Comunidad, grupos y foros
❑  
Consulta el grupo de asistencia a la comunidad de BigQuery en Stack Overflow. Es una buena fuente de información y consejos prácticos.
❑  
Suscríbete al grupo de Anuncios de BigQuery.
Diseño de esquemas
❑  
Diseña el esquema en función de la necesidad de consultarlo. BigQuery es compatible con campos anidados y repetidos (type:RECORD), lo que permite relaciones lógicas de 1 a muchos en una tabla desnormalizada. Aprovéchalas donde sea apropiado, pero mantén una estrategia para acceder a esos campos. Considera crear vistas lógicas para el desanidado común de campos repetidos. Estima el costo de consulta.
❑  
Los campos repetidos pueden volverse difíciles de consultar más allá del primer o segundo nivel de anidado. Por esta razón, ten en cuenta la profundidad a la que te conviene anidar para tu uso.
❑  
Si bien las uniones tienen buen rendimiento en BigQuery, la desnormalización puede mejorar el rendimiento de algunas consultas. Ten en cuenta dónde es importante la capacidad de unión en tu modelo de datos.
❑  
BigQuery permite anexar o actualizar tablas con DML, que está diseñado para realizar actualizaciones, inserciones y eliminaciones de forma masiva, en lugar de hacer modificaciones a filas individuales. Asegúrate de que tus patrones de actualización sean coherentes con un sistema de OLAP.
❑  
A diferencia de las RDBMS tradicionales, no hay noción de claves principales, secundarias o ID de fila. De ser necesario, identifica una columna en el esquema de la tabla para ese propósito.
Estima los volúmenes de datos
❑  
Calcula cuántos datos se subirán en la primera carga para tener cierto nivel de base.
❑  
Calcula cuántos datos de subirán de forma incremental y a qué velocidad (por hora, por día, por semana).
❑  
Calcula cuántos datos (si aplica) expiran y con qué frecuencia.
Estima el procesamiento de consultas
❑  
Identifica los tipos de consultas que se ejecutarán en los conjuntos de datos de BigQuery todos los días. Stackdriver Monitoring proporciona diagnósticos útiles sobre el uso de recursos, las consultas simultáneas y los tamaños de los conjuntos de datos.
❑  
Elige una estrategia de partición o fragmentación de tabla. Por ejemplo, si las consultas realizadas durante el día son relevantes para los datos recolectados durante el día, crea una tabla por día. A fin de agregar datos en varios días, ejecuta las consultas con los comodines de tablas o la pseudocolumna \_PARTITIONTIME.
❑  
Calcula cuántos datos (la cantidad de consultas x datos procesados por consulta) procesará BigQuery por día. Recuerda que BigQuery cobra por procesar columnas individuales (no la fila completa), por lo que no te olvides de incluirlo en tus cálculos. También ten en cuenta que la columna referida en las consultas invoca un análisis de la columna completa.
Administración de la cuota
❑  
Conoce las cuotas predeterminadas en BigQuery.
❑  
Completa un análisis de cuotas en las áreas siguientes, si aplica:
  • La cantidad de trabajos de carga por día necesarios para cargar datos en BigQuery
  • La cantidad de trabajos de carga por tabla por día a BigQuery
  • Si usas la API de transmisión, la cantidad de inserciones de transmisión, el tamaño de fila de las inserciones, el máximo de filas por segundo, el máximo de filas por solicitud y otros parámetros específicos de la API de transmisión.
  • La cantidad de consultas que realiza tu aplicación a BigQuery.
  • La cantidad de sesiones simultáneas usadas para ejecutar consultas de forma simultánea
  • El número de trabajos de exportación ejecutados por día para extraer datos de BigQuery
  • Incluso la API para invocar operaciones de BigQuery está limitada por tarifa y por día. Si deseas obtener más información, consulta límites de frecuencia de la API.
❑  
Si la cuota es insuficiente, solicita ajustes de cuota a través de GWSC.
Análisis de costos
❑  
En función del volumen de datos y el procesamiento de consultas estimado, calcula el costo de almacenamiento y procesamiento de BigQuery con los precios de BigQuery o con la calculadora de precios.
❑  
Considera las recomendaciones de optimización de costos siguientes:
  • En tus consultas, selecciona solo columnas relevantes. Ten en cuenta que BigQuery ejecutará (y cobrará) un análisis de columna completa en la columna seleccionada si importar los filtros en la cláusula where.
  • Particiona o fragmenta tus tablas en unidades más pequeñas para optimizar el costo de procesamiento. Por lo general, la optimización y el rendimiento están relacionados. Si tienes muchas tablas pequeñas, hay una sobrecarga fija en la carga de cada tabla referida en la consulta, lo que puede afectar el rendimiento.
  • Prueba tus consultas en particiones más pequeñas de la tabla en lugar de en una tabla grande.
  • Si usas la API, valida las consultas para la sintaxis y obtén estadísticas de procesamiento de datos con la marca dryRun.
  • Borra tablas anteriores si no hay necesidad de consultarlas, o aprovecha expirationTime en las tablas.
Seguridad
❑  
Revisa con cuidado las políticas de IAM para BigQuery a fin de asegurarte de que los permisos de acceso al conjunto de datos y ejecución de trabajos sean correctos. Considera los siguientes puntos:
  • Audita los permisos de BigQuery para miembros de proyecto a fin de asegurarte de que las políticas de seguridad se cumplan. La función bigquery.User permite a los usuarios ejecutar trabajos en tu proyecto, mientras que dataset.Viewer controla la capacidad de leer todas las tablas de un conjunto de datos determinado. dataset.Editor y dataset.Owner solo deben otorgarse si el usuario necesita modificar tablas o conjuntos de datos, respectivamente.
  • Si tienes la necesidad de compartir conjuntos de datos específicos con miembros del equipo, usa compartir conjunto de datos o funciones de IAM explícitas.
  • Si necesitas seguridad más específica, considera usar Vistas autorizadas para controlar el acceso.
Preprocesa datos antes de BigQuery
❑  
Considera preprocesar datos antes de cargarlos a BigQuery para optimizar el costo y el rendimiento. Por ejemplo, puede hacer estas tareas:
  • Preprocesa cálculos y encasillamientos innecesarios.
  • Preune uniones frecuentes.
  • Preagrega métricas y estadísticas ejecutadas con frecuencia.
❑  
Preprocesa (transforma, desnormaliza, etc.) datos con BigQuery, Cloud Dataflow, Cloud Dataproc o herramientas de ETL.
❑  
Considera tener múltiples versiones de un mismo conjunto de datos estructurado de distintas formas para diferentes tipos de consultas.
❑  
Debido a que las declaraciones DML por tabla tienen un límite diario, planifica las actualizaciones y eliminaciones de tablas con etapas de modificaciones por lotes.
Ajuste y prueba de consultas
❑  
Prueba tus consultas en el volumen de datos esperado y ajústalas en función de los principios siguientes:
  • Omite las columnas innecesarias de la cláusula de selección para reducir el costo y mejorar el rendimiento.
  • En el contexto de consultas anidadas, usa de manera efectiva cláusulas where a fin de filtrar datos en las consultas más internas de forma que las consultas externas tengan menos datos para procesar.
  • Compacta tan adentro como sea posible y usa las cláusulas WHERE en conjunto, si es posible.
  • Mueve los filtros más pesados, como regexp, al final.
  • Evita agrupar en strings cuando los datos equivalentes originales se encuentran disponibles: usa marcas de tiempo en lugar de strings.
  • Intenta usar ORDER BY y LIMIT en las consultas más externas. Evita usar ORDER BY en las consultas más internas tanto como sea posible.
  • Ten presente que usar GROUP BY cuando se trabaja con grupos (grandes) sesgados puede dar como resultado una mayor latencia final. Fíltralos para mejorar el rendimiento de las consultas.
  • Considera usar IF/CASE o funciones analíticas de SQL, en lugar de autouniones, ya que tienen una sobrecarga de procesamiento menor comparadas con las autouniones.
Visualización de datos
❑  
BigQuery es una herramienta que se usa para consultar datos en conjuntos de datos grandes. A fin de visualizar datos, tiene una gran conectividad con herramientas de terceros como las siguientes:
  • Google Data Studio
  • Herramientas de productividad para la oficina, como Hojas de cálculo de Google y Microsoft Excel
  • Herramientas comerciales como Tableau, BIME, Informatica
  • Alternativas de código abierto, como redash

Lista de tareas para los lanzamientos reducidos

Antes del lanzamiento comercial de tu aplicación, te recomendamos que compruebes si estás preparado con las actividades de la Lista de tareas para los lanzamientos reducidos.

Actividad
❑  
Si usas una API de transmisión para cargar datos, simula una prueba de carga a fin de confirmar que los datos se cargan sin ninguna violación de cuota.
❑  
Si usas trabajos por lotes para cargar datos, simula una prueba de carga a fin de confirmar que los datos se cargan en BigQuery en un tiempo razonable y sin ninguna violación de cuota.
❑  
Revisa tu modelo de costos y compáralo con los costos reales. Verifica que los costos de operación estarán dentro del presupuesto. Revisa tu modelo de costos. Si bien la calculadora de precios de Google Cloud Platform permite generar estimaciones adecuadas, no estará claro cuántos datos se procesan por día hasta que se realice una prueba de carga.

Lista de tareas para el lanzamiento final

Usa la Lista de tareas para el lanzamiento final poco antes de tu lanzamiento y durante este.

Actividad
❑  
Si seguiste las listas de tareas hasta este punto, tu aplicación está lista para un lanzamiento exitoso en Google BigQuery. Felicitaciones. Te recomendamos que también revises la Lista de tareas para el lanzamiento final en la Lista de tareas de lanzamiento de Google Cloud Platform.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.