36

Usando Redshift como Data Scientist de Platzi

15443Puntos

hace 4 años

Inicia otra semana de trabajo en Platzi como Data Scientist, mi deber es construir algunos dashboards que reflejen la realidad del negocio para apoyar la toma de decisiones. También extraer millones de datos, ordenarlos, limpiarlos y crear una vista minable para la construcción de un modelo de clasificación.

Quizá use algunas redes neuronales densas, alguna función de activación que aplique a la clasificación o quizá pruebe primero aplicando un algoritmo de random forest, o regresión logística. Imagino el diseño en mi cabeza de los gráficos para los dashboards que crearé y cómo será la interacción entre ellos. También pienso en el análisis exploratorio de datos necesario antes de construir cualquier modelo, me emociono, y sé que será una gran semana.

Obteniendo los datos

De repente lo recuerdo, ¿de dónde voy a sacar los datos? Nuestras fuentes de datos en Platzi son bases de datos transaccionales, PostgreSQL como otras bases de datos orientadas a filas como MySQL u Oracle que se prestan muy bien para mantener toda la operación de Platzi.

Entregar y almacenar información de manera efectiva y orientada específicamente a operaciones únicas por cada estudiante, ciertamente son bases de datos maravillosas, pero claro, su propósito es la lectura y escritura de filas únicas en nuestras bases de datos, con integridad y velocidad.

Al no estar orientadas a resolver problemas de analítica, ni tampoco a resolver consultas complejas sobre grandes cantidades de datos… ¡tardaré años en extraer los datos que requiero para mi modelo, y mis dashboards tardarán una eternidad en procesar tanta información! Es ahí cuando entro en crisis… o esta seria la historia si no hubiésemos contado con bases de datos orientadas a columnas como Amazon Redshift.

El poder de AWS Redshift

Existe una pequeña gran diferencia entre bases de datos como PostgreSQL, Oracle, Microsoft SQL Server, MySQL y motores de bases de datos orientadas a filas comparándolas con bases de datos como Redshift, Snowflake, Big Query o Hbase que son bases de datos orientadas a columnas, y si, ya lo has adivinado la respuesta está en cómo guardo la información de las tablas en los bloques de datos.

Puedo hacerlo por filas o por columnas y con este pequeño cambio puedo lograr grandes, en verdad grandes cosas de una forma sencilla.

Esta es la estructura de cómo almacena información una base datos orientada a filas:

Y esta una estructura de cómo almacena información una base de datos orientada a columnas, como Redshift:

Te impresionarán los grandes cambios que se puede lograr con esto, comenzando porque los usos de estas estructuras de datos son distintos. En la base de datos orientada a filas puedo escribir y leer de manera eficiente registros únicos.

Lo que hace este tipo de bases de datos maravillosas para mantener la operación en mi organización, el gran poder de las bases de datos orientadas a columnas como Redshift es procesar grandes cantidades de datos (millones) y resolver queries complejos sobre estos datos en tan solo segundos. Por esto a los Data Scientists nos encanta Redshift.

Pero no solo por escribir en columnas es que puedo procesar tantos datos de una manera tan eficiente, pues otra de las grandes razones es el uso de clústers siendo este el secreto del procesamiento en Big Data. Arquitecturas como Hadoop y Redshift usan el concepto de clúster para optimizar su rendimiento, y esto básicamente consiste en un arreglo de varios servidores conectados entre si procesando de manera paralela el problema al que se enfrente la base de datos.

Dicho de otra manera, es repartir los datos en los distintos servidores o “nodos” para hacerlo mucho más rápido. Nunca el trabajo en equipo fue tan efectivo como en un clúster.

Redshift trabaja con SQL, el viejo SQL que conocemos de toda la vida. También es económico, veloz y te permite usar cualquier cliente SQL de tu preferencia. Se encuentra basado en PostgreSQL de manera que, si conoces ya este motor de base de datos, te será muy familiar trabajar con Redshift.

Con Resdhift puedo crear un dashboard ágil, con las métricas requeridas por el negocio y que entregue todo el valor posible para apoyar la toma de decisiones. También puedo extraer millones de registros en segundos para crear mi vista minable, realizar los análisis exploratorios y finalmente entrenar mi modelo de clasificación de datos, de manera que, como lo decía anteriormente, será una gran semana.

Es tu momento de aprovechar este potencial

¿Quieres saber más de el mundo del Big Data y las bases de datos columnares? Te espero en el Curso de AWS Redshift para Manejo de Big Data en donde en esta ocasión seré tu profesor y trabajaremos conceptos de:

  • Bases de datos columnares.
  • Data warehouse.
  • Modelo dimensional.
  • ETL.
  • Algoritmos de compresión.
  • Distribución en clúster.
  • Llaves de ordenamiento.
  • Ingesta de datos.
  • Buenas prácticas en las consultas a tablas columnares.

¡Nunca pares de aprender!

Alarcon7a
Alarcon7a
alarcon7a

15443Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
22236Puntos

En ruta para este curso! Las bases de datos cada vez llaman más la atención. Por cierto, ¿Recomendarías esta DB para datos tipo ‘series de tiempo’?

1
15443Puntos
4 años

Si, las bases de datos columnares se prestan bastante bien para estos analisis, aunque hay algunas mas dirigidas a series de tiempo y analisis en tiempo real como kdb+ o druid.

2
17320Puntos

Increíble! tengo grandes ideas de combinar la Ciencia de Datos con Ciberseguridad. 🦾

1
15443Puntos
4 años

es una tendencia muy interesante!

2
20737Puntos

¡De grande quiero ser como tu! 😀 Un curso que está desde hoy en mi lista de espera.

1
15443Puntos
4 años

😃 … muchas gracias, te espero en el curso.

2
37344Puntos

¡Muy útil este post donde nos dejas ver un poco más de tu trabajo diario!

1
28601Puntos

Genial! Anotado para mi ruta 😃

1

Me gusto este post!, ya comencé a ver este curso!