En esta página, se proporciona una descripción general del motor columnar de Spanner y se describe cómo usarlo.
Las bases de datos operativas suelen extraer, transformar y cargar (ETL) datos en un sistema OLAP para el análisis. Este sistema suele formar parte de un almacén de datos. Con Data Boost, Spanner ya separa la computación analítica, lo que garantiza la estabilidad transaccional.
El motor de columnas es una técnica de almacenamiento que los sistemas de análisis utilizan para acelerar los análisis en comparación con los análisis basados en lotes. El motor columnar de Spanner te permite ejecutar análisis con un rendimiento significativamente mejorado en los datos operativos más recientes. El motor de columnas de Spanner aumenta el rendimiento del análisis hasta 200 veces, lo que elimina la necesidad de ETL y mantiene una coherencia sólida.
El formato Ressi de Spanner usa un diseño por columnas de atributos de partición (PAX) para realizar análisis eficientes dentro de un bloque de datos. Sin embargo, este formato coloca todas las columnas de una fila dentro de un bloque determinado para búsquedas rápidas de una sola fila. A diferencia de Ressi, el motor de columnas de Spanner dedica ejecuciones de bloques a una sola columna. Este enfoque es más eficiente para los análisis secuenciales, ya que Spanner solo necesita leer las columnas a las que se hace referencia en la consulta.
Spanner compila la representación columnar en segundo plano (como parte de las compactaciones) y, automáticamente, combina la representación con las actualizaciones más recientes en el momento de la consulta para proporcionar una coherencia sólida. Las consultas que no se beneficiarían del almacenamiento en columnas pueden seguir usando PAX.
Las cargas de trabajo que se beneficiarían del uso del motor de columnas incluyen las siguientes:
- Los informes operativos extraen inteligencia empresarial actualizada al segundo a partir de los datos operativos más recientes.
- Los paneles y los desgloses personalizados se alimentan de estadísticas con latencia interactiva.
- Las estadísticas federadas combinan sin problemas los datos de Spanner y otras fuentes en BigQuery.
Las copias de seguridad de instancias de Spanner no incluyen el formato columnar.
Prácticas recomendadas para usar el motor de columnas
En esta sección, se describen las prácticas recomendadas para usar el motor columnar.
Optimización de escaneos grandes
El motor de columnas optimiza las consultas que analizan grandes cantidades de datos. Para las consultas o los análisis de datos más pequeños con cláusulas LIMIT
que se satisfacen rápidamente, los análisis basados en filas pueden ser más eficientes.
Columnas esenciales
Si usas SELECT *
, Spanner lee todas las columnas del almacenamiento columnar. Para maximizar el rendimiento, especifica solo las columnas necesarias. Por ejemplo, SELECT column1, column2 FROM ...
Identificación de cuellos de botella en el rendimiento
El motor de columnas es eficaz para las cargas de trabajo vinculadas a la exploración. Para identificar una carga de trabajo vinculada al análisis, consulta el plan de consultas para ver si hay un nivel de latencia alto en el nodo Análisis de tabla. Si tu búsqueda no está vinculada a un escaneo, prioriza otras optimizaciones primero. El motor de columnas puede proporcionar beneficios más adelante si tus optimizaciones hacen que la consulta esté vinculada al análisis.
Cobertura óptima de columnas
Después de habilitar el motor columnar en una base de datos que ya contiene datos, el proceso de compactación automática de Spanner convierte los datos en almacenamiento columnar de forma asíncrona en segundo plano. Para ver cuánto se beneficia tu consulta, consulta el porcentaje de porcentaje de lectura de columnas en el plan de consultas.
Administración de datos de alta deserción
Las altas tasas de escritura de las actualizaciones o las inserciones aleatorias pueden afectar el rendimiento del motor columnar. Las cargas de trabajo de solo anexar experimentan un impacto mínimo por el uso del motor columnar. La compactación es un proceso en segundo plano que suele extenderse durante varios días, pero puede ocurrir antes si el tamaño de la base de datos aumenta de forma considerable. Como alternativa, diseña el esquema para favorecer las escrituras de solo anexar a nivel de la división. Para obtener más información, consulta cómo agrupar datos ordenados por marcas de tiempo en Spanner.
Precios
La facturación del motor de columnas de Spanner se basa en el uso del almacenamiento. Después de habilitar el motor columnar de Spanner y de que Spanner complete la compactación de datos, el uso de almacenamiento aumenta para incluir la nueva representación columnar. El motor de columnas proporciona métricas de almacenamiento que te permiten supervisar el impacto en el almacenamiento. Para obtener más información, consulta Métricas de almacenamiento de datos en columnas.
El motor columnar de Spanner no se ve afectado por la sobrecarga de 8 bytes por celda.
Limitaciones de la vista previa
- Debes usar sugerencias explícitas para habilitar las lecturas columnares en las consultas que realices directamente en Spanner o con
EXTERNAL_QUERY
de BigQuery. Para obtener más información, consulta Consulta datos en formato de columnas. - El motor columnar solo admite la interfaz de GoogleSQL.
- Es posible que los análisis que no tengan filtros selectivos no muestren tanta mejora.
¿Qué sigue?
- Obtén más información para habilitar el motor de columnas.
- Obtén información para consultar datos de columnas.
- Obtén más información para supervisar el motor de columnas.