Designación de estilos de distribución
Las consideraciones y recomendaciones de esta sección para designar estilos de distribución utilizan un esquema Star como ejemplo. El diseño de la base de datos se debe basar en un esquema en estrella, en una variante de este esquema o en un esquema completamente diferente. Amazon Redshift está diseñado para funcionar de forma eficaz con cualquier diseño de esquema que elija. Los principios de esta sección se pueden aplicar a cualquier esquema de diseño.
-
Especifique la clave principal y las claves externas de todas las tablas.
Amazon Redshift no impone restricciones de claves principales y externas, pero el optimizador de consultas las utiliza cuando genera planes de consulta. Si configura claves principales y externas, su aplicación debe conservar la validez de las claves.
-
Distribuya la tabla de hechos y la tabla de mayor dimensión en sus columnas comunes.
Seleccione la tabla de mayor dimensión en función del tamaño del conjunto de datos que participa en la combinación más frecuente, no solo del tamaño de la tabla. Si hay una tabla que se filtra con frecuencia, con la cláusula WHERE, solo una parte de sus filas participan de la combinación. Dicha tabla tiene menos impacto en la redistribución que una tabla más pequeña que aporta más datos. Designe la clave principal de la tabla de dimensión y la clave externa correspondiente a la tabla de hechos como las claves DISTKEY. Si hay distintas tablas que usan la misma clave de distribución, también se ubican junto a la tabla de hechos. Su tabla de hechos solo puede tener una clave de distribución. Ninguna de las tablas que se unen a otra clave se ubica junto a la tabla de hechos.
-
Designe las claves de distribución para las demás tablas de dimensión.
Distribuya las tablas en sus claves principales o externas, según cómo se combinan con mayor frecuencia con otras tablas.
-
Valore si conviene cambiar algunas de las tablas de dimensión para utilizar la distribución ALL.
Si no se puede colocar una tabla de dimensión junto con la tabla de hechos u otra tabla de combinación de importancia, puede mejorar el rendimiento de las consultas de forma significativa distribuyendo la tabla completa a todos los nodos. El uso de la distribución ALL multiplica los requisitos de espacio de almacenamiento y aumenta los tiempos de carga y las operaciones de mantenimiento, por lo que debe analizar todos los factores antes de seleccionar la distribución ALL. En la siguiente sección, se explica cómo identificar posibles candidatos para la distribución ALL mediante una evaluación del plan EXPLAIN.
-
Utilice la distribución AUTO para las tablas restantes.
Si una tabla se desnormaliza en gran parte y no participa en combinaciones o si no tiene una selección clara respecto a otro estilo de distribución, utilice la distribución AUTO.
Para permitir a Amazon Redshift elegir el estilo de distribución adecuado, no especifique explícitamente un estilo de distribución.