¿Amazon RedShift reemplaza a Hadoop por ~ 1XTB de datos?

12

Hay mucha publicidad alrededor de Hadoop y su ecosistema. Sin embargo, en la práctica, donde muchos conjuntos de datos están en el rango de terabytes, ¿no es más razonable usar Amazon RedShift para consultar grandes conjuntos de datos, en lugar de perder tiempo y esfuerzo construyendo un clúster Hadoop?

Además, ¿cómo se compara Amazon Redshift con Hadoop con respecto a la complejidad de la configuración, el costo y el rendimiento?

trienismo
fuente
¿Te refieres a Hadoop o te refieres a una contraparte específica de Redshift, como Impala?
Sean Owen
@SeanOwen en mi pregunta, me refería a Apache Hadoop. Aunque sería interesante hacer la comparación Impala también.
trienismo

Respuestas:

12

tl; dr: Se diferencian notablemente en muchos aspectos y no puedo pensar que Redshift reemplace a Hadoop.

-Función
No puede ejecutar nada más que SQL en Redshift. Quizás lo más importante es que no puede ejecutar ningún tipo de funciones personalizadas en Redshift. En Hadoop puedes, usando muchos lenguajes (Java, Python, Ruby ... lo que quieras). Por ejemplo, PNL en Hadoop es fácil, mientras que es más o menos imposible en Redshift. Es decir, hay muchas cosas que puedes hacer en Hadoop pero no en Redshift. Esta es probablemente la diferencia más importante.

-La
ejecución de consultas de perfil de rendimiento en Redshift es en la mayoría de los casos significativamente más eficiente que en Hadoop. Sin embargo, esta eficiencia proviene de la indexación que se realiza cuando los datos se cargan en Redshift (estoy usando el término indexingmuy suelto aquí). Por lo tanto, es excelente si carga sus datos una vez y ejecuta múltiples consultas, pero si desea ejecutar solo una consulta, por ejemplo, en realidad podría perder el rendimiento general.

-Perfil de
costo La solución que gana en costo depende de la situación (como el rendimiento), pero es probable que necesite muchas consultas para que sea más barata que Hadoop (más específicamente, Elastic Map Reduce de Amazon). Por ejemplo, si está haciendo OLAP, es muy probable que Redshift salga más barato. Si realiza ETL por lotes diarios, es más probable que Hadoop salga más barato.

Dicho esto, hemos reemplazado parte de nuestro ETL que se realizó en Hive a Redshift, y fue una experiencia bastante buena; principalmente por la facilidad de desarrollo. El motor de consultas de Redshift se basa en PostgreSQL y es muy maduro, en comparación con el de Hive. Sus características ACID hacen que sea más fácil razonar al respecto, y el tiempo de respuesta más rápido permite que se realicen más pruebas. Es una gran herramienta, pero no reemplazará a Hadoop.

EDITAR : En cuanto a la complejidad de la configuración, incluso diría que es más fácil con Hadoop si usa el EMR de AWS. Sus herramientas son tan maduras que es ridículamente fácil ejecutar su trabajo de Hadoop. Las herramientas y mecanismos que rodean la operación de Redshift aún no son tan maduros. Por ejemplo, Redshift no puede manejar la carga lenta y, por lo tanto, debe encontrar algo que lo convierta en una carga por lotes, lo que puede agregar cierta complejidad a su ETL.

Enno Shioji
fuente
2
easier to develop because of Redshift's maturitycontradice con Redshift isn't that mature yet¿cuál es su veredicto?
M. Mimpen
@ M.Mimpen: Respuesta editada para ser más específico
Enno Shioji
5

El límite de tamaño actual para Amazon Redshift es de 128 nodos o 2 PB de datos comprimidos. Puede ser de alrededor de 6 PB sin comprimir, aunque el kilometraje varía para la compresión. Siempre puede informarnos si necesita más. anurag @ aws (ejecuto Amazon Redshift y Amazon EMR)

Anurag Gupta
fuente
3

Personalmente, no creo que sea tan difícil configurar un clúster de hadoop, pero sé que a veces es doloroso cuando estás comenzando.

Las limitaciones de tamaño de HDFS superan bien una TB (¿o quiso decir exabyte?). Si no me equivoco, se escala a yottabytes o alguna otra medida para la que ni siquiera sé la palabra. Sea lo que sea, es realmente grande.

Las herramientas como Redshift tienen su lugar, pero siempre me preocupan las soluciones específicas del proveedor. Mi principal preocupación es siempre "¿qué hago cuando no estoy satisfecho con su servicio?" - Puedo ir a google y cambiar mi trabajo de análisis a su paradigma o puedo ir a hadoop y cambiar ese mismo trabajo a ese sistema. De cualquier manera, voy a tener que aprender algo nuevo y hacer mucho trabajo traduciendo cosas.

Dicho esto, es bueno poder cargar un conjunto de datos y ponerse a trabajar rápidamente, especialmente si lo que estoy haciendo tiene un ciclo de vida corto. Amazon ha hecho un buen trabajo respondiendo el problema de seguridad de datos.

Si desea evitar hadoop, siempre habrá una alternativa. Pero no es tan difícil trabajar una vez que empiezas a hacerlo.

Steve Kallestad
fuente
3
Supongo que la referencia del OP a TB significa "para datos en el extremo pequeño de lo que podría usar Hadoop". Si tiene múltiples petabytes o más, Redshift claramente no es adecuado. (Creo que está limitado a cien nodos de 16 TB.)
Tim Goodman