Redshift como Almacén de datos
Tags: aws, sql, bigdata
Published: 2021-08-18 00:00:45



* Disclaimer: Esta no es una guía paso a paso sobre como empezar a usar Redshift, [pero te dejo una] (https://dev.to/setevoy/aws-redshift-quick-start-and-sql-workbench-connection-configuration-40j1)



Hoy quiero contarles sobre qué es **Redshift**, porque elegirlo (y por qué no), y sus ventajas por sobre otras herramientas. 

###Empecemos, porque Redshift?

Últimamente, la cantidad de datos que se necesitan analizar en cualquier empresa  es cada vez más grande, y  cuando buscamos sobre soluciones para manejar grandes cantidades de datos, o sobre almacenes de datos, en las primeras búsquedas aparece como opción Redshift, entonces, ¿qué es?

Amazon Redshift es un servicio de almacenamiento de datos a escala de petabytes basado en la nube que Amazon Web Services (AWS) proporciona y administra en su totalidad. Es una solución muy eficiente y eficaz para recopilar y almacenar todos sus datos. Puede analizarlo haciendo uso de varias herramientas de inteligencia empresarial disponibles para obtener información para sus clientes y negocios.



Como principales beneficios podemos nombrar que la **Escalabilidad**, ya que solo debemos agregar nodos adicionales y   la aplicación permanece operacional durante este proceso, ya que el clúster existente permanece disponible para las operaciones de lectura. El proceso de transición aquí es bastante fluido y flexible, ya que los datos se mueven en paralelo entre los nodos de los clústeres nuevos y antiguos.


Redshift puede escalar hacia afuera casi infinitamente, lo que hace que sea ideal para casos de uso en los que necesitamos consultar grandes cantidades de datos en el ámbito de los petabytes y más allá.

Los usuarios concurrentes tampoco son un problema, ya que se admiten un número prácticamente ilimitado de usuarios y consultas al agregar capacidad transitoria en segundos a medida que aumenta la concurrencia.

Además podemos destacar el **Alto Rendimiento**, con la optimización de consultas, la eficiente comprensión de datos y el paralelismo.

Por otro lado tenemos la **Seguridad**, Redshift nos provee cifrado de datos, VPC para aislamiento de red, y distintas formas de acceder a las opciones de control. El cifrado de clúster se puede habilitar en el momento de iniciar el clúster para cifrar los datos almacenados en el clúster. El cifrado del lado del servidor y el cifrado del lado del cliente se pueden utilizar al cargar datos desde S3.

Algo en lo que destaca Redshift es en la **Capacidad de almacenamiento** donde nos ofrece un rango de petabytes, podemos agregar nodos al cluster para superar el rango de petabytes.

Otro punto, no menos importante, es su **interfaz SQL**, similar a la de PostgreSQL. También es fácilmente compatible con los controladores Postgres JDBC/ODBC.



###Ahora bien, Redshift es para todos?

No, no es para todos, tenemos varios casos de usos, que detallare después, pero es importante aclarar que Redshift, como todos los almacenes de datos realizan muchas compensaciones para optimizar el análisis de grandes cantidades de datos, por lo que mantener un cluster, si bien no es extremadamente difícil, lleva su trabajo.

Una de estas optimizaciones es que Redshift es un sistema de administración de bases de datos orientado a columnas, lo que significa que nuestros datos están divididos por columna en lugar de por fila.

Las bases de datos en columnas intercambian los beneficios de la indexación tradicional para resolver un problema que se vuelve más significativo con la escala: el tiempo de lectura de registros del disco . Si sus tablas tienen millones de filas y toneladas de columnas, el mero hecho de recuperar filas enteras crea un cuello de botella. Particionar datos por columna significa que cada vez que recuperamos un valor de una partición, ahora solo recuperamos un valor único por partición: esto reduce significativamente la carga que colocamos en el disco duro y da como resultado una velocidad general más rápida en cantidades masivas de datos .

Es de suma importancia evaluar las ventajas y desventajas de usar Redshift, [y para esto les dejo un articulo interesante] (https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb)



###Casos de uso de Amazon Redshift en la industria



**Analítica operativa de eventos**


Reúna datos estructurados de su almacén de datos y datos semiestructurados, como registros de aplicaciones de su lago de datos S3, para obtener información operativa en tiempo real sobre sus aplicaciones y sistemas.



**Inteligencia de negocios**


Podemos crear informes y cuadros de mando extremadamente sorprendentes y potentes utilizando las herramientas de inteligencia empresarial existentes. Esto resulta bastante simple y rentable para ejecutar consultas de alto rendimiento en enormes petabytes de datos estructurados.



**Analítica predictiva**


Utilice SQL para crear, entrenar e implementar automáticamente modelos de Amazon SageMaker en los datos de su almacén de datos con Redshift Machine Learning



**Almacenamiento y procesamiento de datos con análisis de registros**


Algunos de los beneficios que se ofrecen aquí son que se garantiza la máxima fidelidad sin pérdida de información. Cortar y cortar en cubitos puede ser posible en cualquier dimensión.



**Datos como servicio**


Comparta datos dentro y fuera de su organización para una colaboración segura y gobernada en datos en vivo con el intercambio de datos de Redshift.



###Finalmente, hablemos de precios



Redshift cobra por tiempo de actividad, y el clúster de un solo nodo más pequeño cuesta $0.25 por hora, aunque no tendría sentido ejecutar un solo nodo, por lo que el precio por hora subiría a $1 por hora.


Está claro, solo por los precios, que Redshift no está destinado a "aficionados", pero si comparamos con BigQuery q cobra por tamaño de consulta, en almacenes donde deseamos procesar una cantidad grande de datos, Redshift termina ejecutando significativamente más rápido, y termina resultando más económico.

Además Redshift es el único almacén de datos en la nube que ofrece precios con modalidad bajo demanda sin costos iniciales.

Para concluir, podemos mencionar que Amazon Redshift nos provee, además de una gran integración con herramientas de terceros, aprovisionamiento y copias de seguridad automatizados, flexibilidad en las consultas SQL, seguridad con cifrado y aislamiento de la red, y sobre todo una escalabilidad máxima, con almacenamiento y análisis a escala de petabytes, y simultaneidad ilimitada.