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 indexing
muy 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.