En esta página se ofrece una descripción general del motor de columnas de Spanner y se explica cómo usarlo.
Las bases de datos operativas suelen extraer, transformar y cargar datos en un sistema OLAP para realizar análisis. Este sistema suele formar parte de un almacén de datos. Con Data Boost, Spanner ya separa los recursos de computación analíticos, lo que garantiza la estabilidad transaccional.
El motor en columnas es una técnica de almacenamiento que usan los sistemas de analíticas para acelerar los análisis en comparación con los análisis basados en lotes. El motor de columnas de Spanner te permite ejecutar analíticas con un rendimiento significativamente mejorado en los datos operativos más recientes. El motor de columnas de Spanner aumenta el rendimiento de los 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 en (PAX) para realizar análisis eficientes en un bloque de datos. Sin embargo, este formato coloca todas las columnas de una fila en un bloque determinado para que las búsquedas de una sola fila sean rápidas. 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 las lecturas secuenciales, ya que Spanner solo tiene que leer las columnas a las que se hace referencia en la consulta.
Spanner crea la representación columnar en segundo plano (como parte de las compactaciones) y combina automáticamente la representación con las últimas actualizaciones en el momento de la consulta para proporcionar una coherencia sólida. Las consultas que no se beneficien del almacenamiento en columnas pueden seguir usando PAX.
Estas son algunas de las cargas de trabajo que se beneficiarían del uso del motor de columnas:
- Los informes operativos extraen información empresarial actualizada al segundo a partir de los datos operativos más recientes.
- Las analíticas servidas permiten crear paneles de control y desgloses personalizados con latencia interactiva.
- La analítica federada combina a la perfección 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 de columnas.
Optimización de análisis grandes
El motor de columnas optimiza las consultas que analizan grandes cantidades de datos. En el caso de las lecturas de datos más pequeñas o las consultas con cláusulas LIMIT
que se cumplen rápidamente, las lecturas basadas 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 del rendimiento
El motor de columnas es eficaz para las cargas de trabajo limitadas por el análisis. Para identificar una carga de trabajo limitada por el análisis, compruebe el plan de consulta para ver si hay un nivel de latencia alto en el nodo Análisis de tabla. Si tu consulta no está limitada por el análisis, prioriza otras optimizaciones. El motor en columnas puede ofrecer ventajas más adelante si las optimizaciones hacen que la consulta dependa del análisis.
Cobertura columnar óptima
Después de habilitar el motor columnar en una base de datos que ya contenga datos, el proceso de compresió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 lectura columnar en el plan de consulta.
Gestión de datos de alta rotación
Las altas tasas de escritura de las actualizaciones o las inserciones aleatorias pueden afectar al rendimiento del motor de columnas. Las cargas de trabajo de solo anexión experimentan un impacto mínimo al usar el motor de columnas. La compactación es un proceso en segundo plano que suele llevarse a cabo durante varios días, pero puede completarse antes si el tamaño de la base de datos aumenta considerablemente. También puedes diseñar el esquema para que favorezca las escrituras de solo anexión a nivel de división. Para obtener más información, consulta el artículo sobre el fragmentado de datos ordenados por marca de tiempo en Spanner.
Precios
La facturación del motor columnar 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 del almacenamiento aumenta para incluir la nueva representación columnar. El motor de columnas proporciona métricas de almacenamiento que te permiten monitorizar 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 por columnas en las consultas que hagas directamente a Spanner o mediante BigQuery
EXTERNAL_QUERY
. Para obtener más información, consulta Consultar datos de columnas. - El motor columnar solo admite la interfaz de GoogleSQL.
- Es posible que las digitalizaciones que no tengan filtros selectivos no mejoren tanto.
Siguientes pasos
- Consulta cómo habilitar el motor de columnas.
- Consulta cómo consultar datos de columnas.
- Consulta cómo monitorizar el motor de columnas.