Optimiza el almacenamiento en BigQuery
En esta página, se proporcionan prácticas recomendadas para optimizar el almacenamiento de BigQuery. BigQuery almacena datos en formato de columnas. Las bases de datos orientadas a columnas están optimizadas para cargas de trabajo analíticas que agregan datos a una gran cantidad de registros. Como las columnas suelen tener más redundancia que las filas, esta característica permite una mayor compresión de datos usando técnicas como la codificación de longitud de la ejecución. Para obtener más información sobre cómo BigQuery almacena los datos, consulta Descripción general del almacenamiento de BigQuery. La optimización del almacenamiento de BigQuery mejora el rendimiento de las consultas y controla los costos.
BigQuery proporciona detalles sobre el consumo de almacenamiento de tus recursos.
Para ver los metadatos de almacenamiento de la tabla, consulta las siguientes vistas INFORMATION_SCHEMA
:
INFORMATION_SCHEMA.TABLE_STORAGE
INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE_BY_ORGANIZATION
Datos de tabla del clúster
Práctica recomendada: crea tablas agrupadas en clústeres.
Para optimizar el almacenamiento de las consultas, comienza por agrupar en clústeres los datos de la tabla. Si agrupas en clústeres las columnas más usadas, puedes reducir el volumen total de datos que analiza la consulta. Para obtener información sobre cómo crear clústeres, consulta Crea y usa tablas agrupadas en clústeres.
Datos de tabla de particiones
Práctica recomendada: divide las tablas grandes con particiones.
Con las particiones, puedes agrupar y ordenar los datos por un conjunto de características de columnas definidas, como una columna de números enteros, una columna de unidad de tiempo o el tiempo de transferencia. La partición mejora el rendimiento de las consultas y controla los costos reduciendo la cantidad de bytes que lee una consulta.
Para obtener más información sobre las particiones, consulta Introducción a las tablas particionadas.
Usa la configuración de vencimiento de tablas y particiones
Práctica recomendada: para optimizar el almacenamiento, establece la configuración de caducidad predeterminada para los conjuntos de datos, las tablas y las tablas particionadas.
Puedes controlar los costos de almacenamiento y optimizar el uso del almacenamiento configurando la caducidad de la tabla predeterminada para las tablas recién creadas en un conjunto de datos. Cuando una tabla caduca, se borra junto con todos los datos que contiene la tabla. Si configuras la propiedad cuando se crea el conjunto de datos, cualquier tabla creada en el conjunto de datos se borrará después del período de vencimiento. Si configuras la propiedad después de crear el conjunto de datos, solo se borrarán las nuevas tablas después del período de vencimiento.
Por ejemplo, si estableces la caducidad de la tabla predeterminada dentro de siete días, los datos más antiguos se borran automáticamente después de una semana.
Esta opción es útil si necesitas acceder solo a los datos más recientes. También es útil si estás experimentando con datos y no necesitas conservarlos.
Si tus tablas están particionadas por fecha, la caducidad predeterminada de la tabla del conjunto de datos se aplica a las particiones individuales. También puedes controlar el vencimiento de la partición con la marca time_partitioning_expiration
en la herramienta de línea de comandos de bq o el parámetro de configuración expirationMs
en la API. Cuando una partición se vence, los datos en la partición se borran, pero la tabla particionada no se descarta, incluso si la tabla está vacía.
Por ejemplo, el siguiente comando establece un vencimiento para las particiones después de tres días:
bq mk \ --time_partitioning_type=DAY \ --time_partitioning_expiration=259200 \ project_id:dataset.table
Usa el almacenamiento a largo plazo de BigQuery
Práctica recomendada: Usa el almacenamiento a largo plazo de BigQuery para reducir el costo de los datos más antiguos.
Cuando cargas datos en el almacenamiento de BigQuery, estos están sujetos a los precios de almacenamiento de BigQuery. En lugar de exportar tus datos más antiguos a otra opción de almacenamiento (como Cloud Storage), puedes aprovechar los precios de almacenamiento a largo plazo de BigQuery.
Si tienes una tabla que no se editó durante 90 días consecutivos, el precio de almacenamiento de esa tabla disminuye automáticamente en un 50%. Si tienes una tabla particionada, cada partición se considera por separado para la elegibilidad de los precios a largo plazo sujetos a las mismas reglas que las tablas no particionadas.
Configura el modelo de facturación de almacenamiento
Práctica recomendada: Optimiza el modelo de facturación de almacenamiento según tus patrones de uso.
BigQuery admite la facturación de almacenamiento con bytes lógicos (no comprimidos) o físicos (comprimidos), o una combinación de ambos. El modelo de facturación de almacenamiento configurado para cada conjunto de datos determina los precios de almacenamiento, pero no afecta el rendimiento de las consultas.
Puedes usar las vistas de INFORMATION_SCHEMA
para determinar el modelo de facturación de almacenamiento que funciona mejor según tus patrones de uso.
Identifica datos a largo plazo o a corto plazo
Práctica recomendada: identifica si los datos a nivel de la fila deben almacenarse a largo plazo y solo almacena datos agregados a largo plazo.
En muchos casos, los detalles contenidos en los datos transaccionales o a nivel de fila son útiles a corto plazo, pero se hace referencia a ellos a largo plazo. En estas situaciones, puedes compilar consultas de agregación para calcular y almacenar las métricas asociadas con estos datos y, luego, usar el vencimiento de la tabla o de la partición para quitar sistemáticamente los datos a nivel de fila. Esto reduce los cargos de almacenamiento y mantiene las métricas disponibles para el consumo a largo plazo.
Reduce el período de viaje en el tiempo
Práctica recomendada: según tus requisitos, puedes reducir el período de viaje en el tiempo.
Si se reduce el período de viaje en el tiempo del valor predeterminado de 7 días, se reduce el período de retención de los datos borrados o modificados en una tabla. Se te factura el almacenamiento de viaje en el tiempo solo cuando usas el modelo de facturación de almacenamiento físico (comprimido).
El período de viaje en el tiempo se establece a nivel del conjunto de datos.
Archiva datos en Cloud Storage
Práctica recomendada: considera archivar datos en Cloud Storage.
Puedes mover datos de BigQuery a Cloud Storage según las necesidades empresariales del archivo. Como práctica recomendada, considera los precios a largo plazo de BigQuery antes de exportar datos fuera de BigQuery.
¿Qué sigue?
- Obtén información para optimizar el costo.
- Obtén información para optimizar la consulta.
- Obtén información para optimizar las funciones.