Amazon RedShift是否可以将Hadoop替换为约1XTB数据?


12

围绕Hadoop及其生态系统进行了大量宣传。但是,实际上,在许多数据集在TB范围内的情况下,使用Amazon RedShift来查询大型数据集而不是花时间和精力来构建Hadoop集群是否更合理?

此外,在设置复杂性,成本和性能方面,Amazon Redshift与Hadoop有何比较?


您是指Hadoop还是指Redshift的特定版本,例如Impala?
肖恩·欧文

@SeanOwen在我的问题中,我指的是Apache Hadoop。尽管对Impala进行比较也很有趣。
trienism

Answers:


12

tl; dr:它们在许多方面都明显不同,我认为Redshift不会取代Hadoop。

-功能
除了在Redshift上运行SQL外,您不能运行其他任何程序。也许最重要的是,您不能在Redshift上运行任何类型的自定义函数。在Hadoop中,您可以使用多种语言(Java,Python,Ruby ..您为其命名)。例如,Hadoop中的NLP很容易,而在Redshift中则或多或少是不可能的。即,您可以在Hadoop中执行很多操作,但不能在Redshift上执行。这可能是最重要的区别。

-
在大多数情况下,在Redshift上执行性能配置文件查询要比在Hadoop上高效得多。但是,这种效率来自将数据加载到Redshift中时执行的索引编制(我在indexing这里使用的术语“ 非常宽松”)。因此,一次加载数据并执行多个查询会很棒,但是例如,如果您只想执行一个查询,则实际上可能会损失整体性能。

-Cost Profile
哪种解决方案在成本上胜出取决于情况(例如性能),但您可能需要大量查询才能使其比Hadoop便宜(更具体而言,是Amazon的Elastic Map Reduce)。例如,如果您正在执行OLAP,则Redshift很有可能会便宜一些。如果您每天执行批处理ETL,则Hadoop的价格可能会更便宜。

话虽如此,我们已经替换了Hive to Redshift中完成的部分ETL,这是非常不错的体验;主要是为了易于开发。与Hive相比,Redshift的查询引擎基于PostgreSQL,并且非常成熟。它的ACID特性使其更易于推理,并且更快的响应时间可以完成更多测试。这是一个很棒的工具,但是它不会取代Hadoop。

编辑:至于设置的复杂性,如果您使用AWS的EMR,我什至会说使用Hadoop更容易。他们的工具是如此成熟,以至于让您的Hadoop作业运行起来非常容易。围绕Redshift操作的工具和机制还不成熟。例如,Redshift无法处理trick流加载,因此您必须想出一些办法将其转换为批量加载,这可能会给ETL增加一些复杂性。


2
easier to develop because of Redshift's maturity与之矛盾,Redshift isn't that mature yet那么您的判决是什么?
M. Mimpen 2014年

@ M.Mimpen:编辑答案更加具体
恩诺盐路

5

Amazon Redshift的当前大小限制为128个节点或2 PB的压缩数据。压缩后里程可能会有所变化,可能约为6PB。您随时可以告诉我们是否需要更多。anurag @ aws(我运行Amazon Redshift和Amazon EMR)


3

就个人而言,我认为设置Hadoop集群并不那么困难,但是我知道入门时有时会很痛苦。

HDFS大小限制远远超过TB(或者您是说EB吗?)。如果我没记错的话,它的大小可以扩展到yobytes或其他我不知道这个词的度量。不管是什么,它都很大。

诸如Redshift之类的工具占有一席之地,但我始终担心供应商特定的解决方案。我主要担心的是“当我对他们的服务不满意时该怎么办?” -我可以去Google并将我的分析工作转移到他们的范例中,也可以去hadoop并将同样的工作转移到该系统中。无论哪种方式,我都必须学习一些新知识并做很多翻译工作。

话虽如此,能够上传数据集并快速开始工作真是太好了-尤其是在我的工作生命周期较短的情况下。亚马逊在回答数据安全问题方面做得很好。

如果您想避免hadoop,总会有替代方法。但是,一旦开始使用它,并没有那么困难。


3
我假设OP对TB的引用意味着“针对您可能使用Hadoop的一小部分数据”。如果您有多个PB或更多,则Redshift显然不适合。(我相信它仅限于一百个16TB节点。)
Tim Goodman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.