O Amazon RedShift substitui o Hadoop por ~ 1XTB de dados?

12

Há muito hype ao redor do Hadoop e seu ecossistema. No entanto, na prática, onde muitos conjuntos de dados estão no intervalo de terabytes, não é mais razoável usar o Amazon RedShift para consultar grandes conjuntos de dados, em vez de gastar tempo e esforço construindo um cluster Hadoop?

Além disso, como o Amazon Redshift se compara ao Hadoop no que diz respeito à complexidade, custo e desempenho da instalação?

trienismo
fonte
Você quer dizer Hadoop ou uma contraparte específica do Redshift, como Impala?
Sean Owen
@SeanOwen na minha pergunta, eu estava me referindo ao Apache Hadoop. Embora fosse interessante fazer a comparação do Impala também.
trienism

Respostas:

12

tl; dr: Eles diferem acentuadamente em muitos aspectos e não acho que o Redshift substitua o Hadoop.

-Função
Você não pode executar nada além de SQL no Redshift. Talvez o mais importante seja que você não pode executar nenhum tipo de função personalizada no Redshift. No Hadoop, você pode, usando várias linguagens (Java, Python, Ruby ... o nome dele). Por exemplo, a PNL no Hadoop é fácil, enquanto é mais ou menos impossível no Redshift. Ou seja, há muitas coisas que você pode fazer no Hadoop, mas não no Redshift. Esta é provavelmente a diferença mais importante.


A execução de consultas de perfil de desempenho no Redshift é, na maioria dos casos, significativamente mais eficiente do que no Hadoop. No entanto, essa eficiência vem da indexação feita quando os dados são carregados no Redshift (estou usando o termo indexingmuito flexível aqui). Portanto, é ótimo se você carregar seus dados uma vez e executar várias consultas, mas se desejar executar apenas uma consulta, por exemplo, poderá realmente perder o desempenho geral.

Perfil de custo
Qual solução ganha em custo depende da situação (como o desempenho), mas você provavelmente precisará de muitas consultas para torná-la mais barata que o Hadoop (mais especificamente o Elastic Map Reduce da Amazon). Por exemplo, se você estiver usando OLAP, é muito provável que o Redshift saia mais barato. Se você fizer ETLs de lote diariamente, é mais provável que o Hadoop saia mais barato.

Dito isto, substituímos parte do nosso ETL que foi feito no Hive to Redshift, e foi uma ótima experiência; principalmente pela facilidade de desenvolvimento. O Query Engine do Redshift é baseado no PostgreSQL e é muito maduro, comparado ao Hive. Suas características ACID facilitam o raciocínio e o tempo de resposta mais rápido permite que mais testes sejam realizados. É uma ótima ferramenta, mas não substitui o Hadoop.

EDIT : Quanto à complexidade da instalação, diria até que é mais fácil com o Hadoop se você usar o EMR da AWS. Suas ferramentas são tão maduras que é ridiculamente fácil ter seu trabalho no Hadoop em execução. As ferramentas e mecanismos que cercam a operação do Redshift ainda não estão maduros. Por exemplo, o Redshift não pode lidar com carregamento lento e, portanto, você precisa criar algo que o transforme em um carregamento em lote, o que pode adicionar alguma complexidade ao seu ETL.

Enno Shioji
fonte
2
easier to develop because of Redshift's maturitycontradiz com Redshift isn't that mature yetqual é o seu veredicto?
M. Mimpen
@ M.Mimpen: resposta editada para ser mais específico
Enno Shioji
5

O limite de tamanho atual do Amazon Redshift é de 128 nós ou 2 PBs de dados compactados. Pode ser cerca de 6PB descompactado, embora a milhagem varie para compactação. Você sempre pode nos informar se precisar de mais. anurag @ aws (eu executo o Amazon Redshift e o Amazon EMR)

Anurag Gupta
fonte
3

Pessoalmente, não acho tão difícil configurar um cluster hadoop, mas sei que às vezes é doloroso quando você está começando.

As limitações de tamanho do HDFS excedem bem um TB (ou você quis dizer exabyte?). Se não me engano, ele escala para yottabytes ou alguma outra medida que eu nem conheço. Seja o que for, é realmente grande.

Ferramentas como Redshift têm seu lugar, mas eu sempre me preocupo com soluções específicas de fornecedores. Minha principal preocupação é sempre "o que faço quando estou insatisfeito com o serviço deles?" - Eu posso ir ao google e mudar meu trabalho de análise para o paradigma deles ou eu posso ir para o hadoop e mudar o mesmo trabalho para esse sistema. De qualquer forma, vou ter que aprender algo novo e trabalhar muito na tradução de coisas.

Dito isto, é bom poder enviar um conjunto de dados e começar a trabalhar rapidamente - especialmente se o que estou fazendo tiver um ciclo de vida curto. A Amazon fez um bom trabalho ao responder ao problema de segurança de dados.

Se você quiser evitar o hadoop, sempre haverá uma alternativa. Mas não é tão difícil trabalhar assim que você começa a trabalhar.

Steve Kallestad
fonte
3
Suponho que a referência do OP às TBs significa "para dados no final pequeno do que você pode usar o Hadoop". Se você tiver vários petabytes ou mais, o Redshift claramente não é adequado. (Eu acredito que ele é limitado a cem 16TB nós.)
Tim Goodman