Redshift vs Hadoop y Hadoop Hive: una breve comparación - inteligenciaes
Cadena de bloques

Redshift vs Hadoop y Hadoop Hive: una breve comparación

En esta guía, examinamos el historial y las capacidades de Redshift y Hadoop, y cómo se comparan en precio, rendimiento y facilidad de uso. Basándonos en nuestra investigación, nuestras experiencias personales y las experiencias de nuestros clientes, recomendamos Redshift para casi todos los casos y detallamos exactamente por qué a continuación. Sabemos que elegir la solución adecuada para sus necesidades de datos es importante y desafiante, por lo que si tiene alguna pregunta, háganoslo saber en los comentarios y nos comunicaremos con usted lo antes posible.

Una breve historia

Cuando Hadoop fue lanzado por primera vez en 2005 por Apache Software Foundation, fue un cambio de juego en el mundo de los macrodatos. Al utilizar un sistema de archivos compartidos para distribuir conjuntos de datos en varios servidores, permitió un análisis más fácil y rápido de grandes conjuntos de datos que nunca. En 2010, Facebook intentó hacer que Hadoop fuera más accesible para su equipo de analistas de datos al lanzar Hadoop Hive, una interfaz de consulta similar a SQL para Hadoop. Luego, en 2012, Amazon Web Services lanzó Redshift, que redujo drásticamente el tiempo y el costo de almacenar y analizar conjuntos de datos estructurados del tamaño de un terabyte. En 2016, AWS lanzó Athena, que permitía la consulta de archivos similar a SQL en s3, y en abril de 2017, AWS anunció una adición similar a la plataforma Redshift: Redshift Spectrum,

¿Qué es Hadoop?

Hadoop fue uno de los primeros intentos de resolver un problema que se ha vuelto cada vez más común: ¿Cómo se almacena y analiza un conjunto de datos que es demasiado grande para caber en un servidor? Hadoop resuelve este problema utilizando un sistema de archivos distribuido y mapreduce.

En un sistema de archivos distribuido, los datos se comparten a nivel de disco entre un grupo de servidores. Esto presenta una ventaja interesante sobre los almacenes de datos tradicionales: Hadoop puede almacenar datos estructurados y no estructurados.

Debido a que Hadoop es un software de código abierto que se puede implementar en servidores básicos, su escalabilidad es casi ilimitada. Sin embargo, dado que Hadoop utiliza Java y tiene una configuración compleja en varios servidores, comenzar y mantener un clúster de Hadoop puede ser una propuesta costosa y que requiere mucho tiempo. Si bien los servicios en la nube como AWS EMR y Cloudera han facilitado mucho la creación de clústeres de Hadoop, el mantenimiento del clúster, la importación de datos y la consulta de esos datos requieren conocimientos especializados.

Lee mas  Microsoft: Impulsando el éxito empresarial con IA

Para analizar los datos, se ejecutará un proceso MapReduce en cada servidor para escanear los datos asignados y “mapearlos” en un sistema simple de pares clave-valor, por ejemplo, una lista de estados y el número de ciudades en cada estado. Luego, “reducirá” esos datos en algún resultado analítico, por ejemplo, el número promedio de ciudades por estado. Los resultados de cada servidor se combinan para determinar el valor final.

Este proceso de hacer que cada servidor analice una pequeña parte de los datos y luego combine los resultados es mucho más rápido que hacer que un solo servidor revise cada registro individualmente, y es aproximadamente el mismo proceso subyacente que usa Redshift en su arquitectura de procesamiento masivo paralelo .

¿Qué es Hadoop Hive?

Hadoop Hive puede entenderse aproximadamente como un intento de lograr que el sistema de archivos distribuido de Hadoop y la estructura de MapReduce se comporte más como un almacén de datos tradicional al permitir que los analistas de datos ejecuten consultas similares a SQL sobre Hadoop. Las consultas, escritas en HiveQL , se traducen a trabajos de MapReduce escritos en Java y se ejecutan en el Sistema de archivos distribuido de Hadoop. En lugar de tener que aprender Java, en teoría, solo necesitaría hacer algunas ediciones en sus consultas SQL para traducirlas a HiveQL.

Si bien no hay duda de que Hadoop Hive hace que Hadoop sea más accesible para el analista de datos promedio, surge la pregunta:

Si su sistema es tan complejo que necesita un marco completo para traducir sus consultas a un lenguaje y arquitectura diferente, ¿quizás un sistema más simple sería más fácil?

Volveremos a esta idea en un momento, pero primero, hablemos de Redshift.

¿Qué es Redshift?

AWS Redshift es un almacén de datos en la nube que utiliza una arquitectura MPP (muy similar al sistema de archivos distribuido de Hadoop; recomendamos leer nuestra guía) y almacenamiento en columnas , lo que hace que las consultas analíticas sean muy rápidas. Además, está basado en SQL, lo que facilita su adopción por parte de los analistas de datos. A diferencia del sistema de archivos distribuido de Hadoop, Redshift propiamente dicha es una base de datos, por lo que solo admite datos estructurados. Sin embargo, AWS también le permite usar Redshift Spectrum, lo que permite realizar consultas fáciles de archivos no estructurados dentro de s3 desde Redshift.

Lee mas  ¿Qué Es La IA?

Creo que es seguro decir que el desarrollo de Redshift Spectrum fue un intento de Amazon de poseer el mercado de Hadoop. Como veremos a continuación, Redshift tiende a ser más rápido, más barato y más fácil de mantener que Hadoop, por lo que la única razón por la que uno habría elegido Hadoop sería debido a la capacidad de Hadoop para consultar datos no estructurados. Con Redshift Spectrum, esa razón queda anulada.

Replicación sin preocupaciones desde el origen hasta Redshift

Prueba FlyData gratisConfiguración rápida. No se requiere tarjeta de crédito.

Redshift vs.Hadoop: ¿Cuál gana?

Aquí en FlyData, hemos ayudado a decenas de empresas a resolver sus desafíos de big data. Basándonos en nuestras experiencias personales, las experiencias de los clientes y la investigación que hemos realizado, hemos determinado que, en casi todos los casos, Redshift es el camino a seguir . Vamos a dividirlo pieza por pieza.

Rendimiento

Las pruebas han demostrado que Redshift puede ser de 5 a 20 veces más rápido que Hadoop Hive en el mismo conjunto de datos.

Dado que Redshift es una base de datos en columnas , los datos deben estar estructurados, y esto significará consultas más rápidas sobre cualquier fuente de datos no estructurada. Además, dado que Redshift utiliza una arquitectura de procesamiento masivo paralelo , el nodo líder gestiona la distribución de datos entre los nodos seguidores para optimizar el rendimiento.

Una prueba conocida realizada por Airbnb mostró que Redshift fue cinco veces más rápido para completar una consulta de rango simple en una tabla con tres mil millones de filas. En otra prueba que Airbnb ejecutó utilizando una consulta compleja con dos combinaciones que se ejecutaron en un millón de filas, Hadoop Hive tardó 182 segundos en completar la consulta, mientras que Redshift solo tardó 8.

En nuestra propia prueba, ejecutamos una consulta de escaneo de tabla completa que unió 4 tablas para un total de 400 GB de datos. Terminó en un minuto en Redshift, pero tardó 10 minutos completos en completarse en Hadoop Hive. A medida que ampliamos los datos a 1,2 TB, vimos resultados similares, con la consulta que tomó 2 minutos en Redshift y más de 20 minutos en Hadoop Hive.

Lee mas  3 Problemas Masivos De Macrodatos Que Todos Deberían Conocer

Costo

Escribimos una publicación de blog completa sobre los precios de Redshift , que le recomendamos que consulte, pero si bien comparar dos sistemas completamente diferentes para todos los casos de uso es complicado, parece que en la mayoría de los casos, Redshift será la opción más barata. En su propia prueba, el equipo de ingeniería de datos de Airbnb concluyó que su configuración costaría aproximadamente $ 13,60 por hora en Redshift, pero más de $ 57 por hora en Hadoop. Nuestro propio análisis de precios de Redshift demuestra que si sigue los pasos correctos, puede probar y ejecutar Redshift a un precio relativamente bajo.

Facilidad de uso

Crear un clúster de Redshift es muy fácil y se puede hacer en minutos. Como servicio en la nube compatible con AWS, su base de datos de Redshift está completamente administrada por usted, es tolerante a fallas, admite copias de seguridad automatizadas y facilita restauraciones rápidas.

Por otro lado, incluso con un servicio en la nube alojado como AWS EMR, administrar un clúster de Hadoop puede ser su propio trabajo de tiempo completo. Si bien Hadoop puede admitir copias de seguridad automatizadas y restauraciones rápidas y todos los trabajos como Redshift, estos no vienen de forma predeterminada. Solo la experiencia necesaria para una implementación de Hadoop hará que cualquier actividad de almacenamiento de datos sea un ejercicio costoso y que requiere mucho tiempo de planificación, desarrollo, implementación y administración.

Escala

Tendrá que examinar su propio caso de uso para determinar qué tan importante es la escala masiva para sus necesidades. Si bien Redshift tiene un límite superior de 100 nodos y un máximo de 16 TB de almacenamiento por nodo, gracias a Redshift Spectrum, puede almacenar una cantidad casi ilimitada de datos en s3 de forma económica y consultarlos solo cuando sea necesario. Mientras tanto, prácticamente no hay límites para escalar Hadoop. En escalabilidad, diría que los dos sistemas están más o menos vinculados.

Leave a Comment