Tablas base en clúster

>Una tabla base en clúster (CBT) es una tabla de usuario que contiene datos que están organizados utilizando de una a cuatro claves de organización. Una clave de organización es una columna de la tabla que se especifica para agrupar los registros de la tabla; las claves de organización se utilizan para agrupar registros dentro de la tabla y guardarlos en el mismo o en extensiones cercanas. Netezza Performance Server también crea mapas de zonas para las columnas organizadoras con el fin de acelerar el rendimiento de las consultas en esa tabla que restringen el uso de las claves organizadoras.

La siguiente figura muestra un modelo simple de tabla, como una tabla de transacción. En su formato sin organizar, los datos se organizan en función de la fecha y la hora en la que se produjo cada transacción, y el color indica que se trata de una transacción única. Si las consultas de la tabla con mucha frecuencia están sujetas a restricciones de fecha/hora, esas consultas se ejecutarán bien porque la organización de la fecha/hora coincide con las restricciones comunes de las consultas.

Sin embargo, si la mayoría de las consultas se restringen al tipo de transacción, podrá incrementar el rendimiento de las consultas organizando los registros por tipo de transacción. Las consultas que se restringen al tipo de transacción tendrán un rendimiento mejorado porque los registros se organizan y agrupan mediante la restricción de clave; la consulta puede obtener los registros pertinentes con más rapidez, en tanto que se tendrían que haber leído muchas más secciones de la tabla en la organización por fecha/hora para encontrar las transacciones pertinentes. Al organizar los datos de la tabla para que los datos que se filtran frecuentemente se encuentren localizados en las mismas extensiones de disco o cercanas, las consultas pueden aprovechar los mapas de zona para eliminar las lecturas de disco innecesarias para localizar los registros pertinentes.

Figura 1. Organización de tablas con CBTs

Los CBT se utilizan con frecuencia para las tablas grandes de hechos o sucesos, que pueden tener millones o miles de millones de filas. Si la tabla no tiene una organización de registros que empareje los tipos de consultas que se ejecutan en relación con ella, la lectura de registros de una tabla de semejantes dimensiones exigirá un tiempo de proceso muy largo, porque es posible que se necesiten lecturas de disco completas para recopilar los registros pertinentes. Al reorganizar la tabla para emparejar las consultas en relación con ella, podrá agrupar los registros para sacar partido a los mapas de zona y mejorar el rendimiento.

Los CBT ofrecen varias ventajas:

  • Los CBT admiten búsquedas "multdimensionales" donde podrá organizar los registros según una, dos, tres o cuatro claves de búsqueda. En el ejemplo que se muestra en la figura anterior, si las consultas se restringen normalmente al tipo de transacción y al ID de almacén, puede organizar los registros utilizando ambas claves para mejorar el rendimiento de las consultas.
  • Los CBT mejoran el rendimiento de las consultas añadiendo más mapas de zona a una tabla, porque las columnas de clave de organización también están agrupadas por mapas de zona (si el tipo de datos de la columna de organización admite mapas de zona).
  • Los CBT aumentan los tipos de datos admitidos para las columnas agrupadas por mapas de zona para mejorar el rendimiento de las consultas que se restringen a varias dimensiones.
  • Los CBT organizan los datos de manera incremental dentro de las tablas de usuario en situaciones en las que los datos no se pueden acumular de forma fácil en áreas de transferencia para realizar un ordenamiento previo antes de las inserciones/cargas. Los CBT pueden ayudarle a eliminar o reducir el ordenamiento previo de los registros de la nueva tabla antes de la operación de carga o inserción.
  • Los CBT guardan espacio de disco. A diferencia de los índices, vistas materializadas y otras estructuras auxiliares de datos, los CBT no duplican los datos de la tabla base y no asignan más estructuras de datos.