Amazon Redshift
Servicio de data warehouse en la nube completamente gestionado que analiza datos a escala de petabytes con alta velocidad mediante almacenamiento columnar y procesamiento masivamente paralelo
Descripción general
Amazon Redshift es un servicio de data warehouse en la nube completamente gestionado que permite analizar datos a escala de petabytes con alto rendimiento. Utiliza almacenamiento columnar y procesamiento masivamente paralelo (MPP) para ejecutar consultas analíticas complejas en segundos. Soporta SQL estándar y se integra con el ecosistema de datos de AWS.
Mecanismo de almacenamiento columnar y MPP
Redshift almacena datos en formato columnar, lo que significa que cada columna se almacena de forma contigua en disco. Para consultas analíticas que típicamente acceden a un subconjunto de columnas, esto reduce dramáticamente la E/S de disco comparado con almacenamiento por filas. La compresión columnar logra ratios de 3-10x, reduciendo costos de almacenamiento y mejorando el rendimiento de escaneo. La arquitectura MPP distribuye datos y procesamiento de consultas entre múltiples nodos de cómputo, con un nodo líder coordinando la planificación y agregación de consultas. Los tipos de nodo incluyen RA3 (almacenamiento gestionado con caché SSD local) y DC2 (almacenamiento SSD local denso). RA3 separa computación y almacenamiento, permitiendo escalar cada uno independientemente.
Optimización de consultas con claves de distribución y ordenamiento
Las claves de distribución determinan cómo se distribuyen las filas entre nodos de cómputo. La distribución KEY coloca filas con el mismo valor de clave en el mismo nodo, optimizando JOINs entre tablas con la misma clave de distribución. La distribución ALL replica tablas pequeñas (dimensiones) en todos los nodos, eliminando redistribución durante JOINs. La distribución EVEN distribuye uniformemente para tablas sin patrón de JOIN dominante. Las claves de ordenamiento (sort keys) determinan el orden físico de las filas en disco, permitiendo que Redshift salte bloques de datos irrelevantes durante escaneos (zone maps). Las sort keys compuestas son efectivas para consultas con predicados de rango en la primera columna, mientras que las sort keys intercaladas benefician consultas con predicados en cualquier combinación de columnas.
Integración con data lake mediante Spectrum y Serverless
Redshift Spectrum permite consultar datos directamente en S3 sin cargarlos en Redshift, extendiendo el data warehouse al data lake. Las tablas externas se definen en el catálogo de AWS Glue, y Spectrum lanza nodos de cómputo independientes para escanear S3, escalando automáticamente según el volumen de datos. Esto permite mantener datos calientes en Redshift y datos históricos en S3, consultándolos con SQL unificado. Redshift Serverless elimina la gestión de clústeres, escalando automáticamente la capacidad de cómputo según la demanda de consultas. Es ideal para cargas de trabajo intermitentes, entornos de desarrollo y casos donde el dimensionamiento de clúster es difícil de predecir. Los precios se basan en RPU (Redshift Processing Units) consumidas durante la ejecución de consultas.