La selección de los estilos de distribución de una tabla de Redshit es una decisión importante en cuestiones de rendimiento. Los estilos de distribución van a indicar la política de distribución de los datos a través de los diferentes nodos del cluster. AWS dispone de 4 políticas diferenciadas:

  • EVEN
  • KEY
  • ALL
  • AUTO

La política EVEN distribuye los campos de manera secuencial en cada de uno de los nodos, sin repetir el almacenamiento de ningún registro en los nodos. Este modelo es adecuado cuando la tabla no tiene joins entre otras tablas o bien no tenemos claro qué método emplear. 

La política KEY distribuye los diferentes registros entre los diferentes nodos basados en el valor de una clave establecida. Se suele emplear con tablas grandes pero es bastante importante la selección de clave, ya que en función de esta serán distribuidos los campos entre los nodos. Además si tenemos en cuenta la clave como índice para posibles joins será mejor el rendimiento en consultas con joins a otras tablas. Es la estrategia adecuada para tablas grandes pero hay que tener cuidado en su aplicación por el uso de las claves.

La política ALL distribuye todos los campos de la tabla entre todos los nodos del cluster de Redsift. Esta estrategia es muy buena para tablas que no tienen actualizaciones, es decir son tablas sin apenas cambios, y cuando el consumo de espacio en el cluster no importa. Sin embargo, si ya de por sí la carga de datos en Redshift no es su punto fuerte, con esta estrategia la penalización en este tipo de operaciones será mayor. 

La política AUTO estudia el uso de la tabla y en función del mismo adapta la política según necesidades. Aunque sólo lo hace para las políticas ALL y EVEN. Es decir, cuando la tabla es creada por defecto la política a aplicar es la de ALL, cuando la tabla aumenta de volumen de datos de manera automática cambiará a la política EVEN. El cambio se produce de manera transparente y en pocos segundos.