我想知道是否有人使用过AWS Redshift和Snowflake以及使用哪个更好的情况。我使用过Redshift,但最近有人建议Snowflake作为一个很好的选择。我的用例基本上是零售营销数据,将由少数分析师使用,这些分析师不是非常精通SQL,并且最有可能拥有报告工具
答案 0 :(得分:12)
Redshift是一个很好的产品,但很难想象它比Snowflake更好的用例。以下是Snowflake更好的原因:
我只能想到Redshift获胜的两个案例。一个是地理可用性,因为Redshift在比Snowflake更多的位置可用,这可以改变数据传输和语句提交时间。另一种是提交一批多个陈述的能力。 Snowflake一次只能接受一个语句,如果它们包含许多语句,这可能会减慢批量,特别是如果你在服务器的另一个大陆上。
在Ajilius我们的开发人员每天都使用Redshift,Snowflake和Azure SQL数据仓库;我们在所有三个平台上都有客户。即使有这样的选择,每个开发人员都喜欢将Snowflake作为他们的首选云。
答案 1 :(得分:1)
我同时评估了Redshift(带有S3的Redshfit频谱)和SnowFlake。
在我看来,snowFlake比Redshift更好。 SnowFlake与Relational / NOSQL数据很好地集成在一起。不需要前期索引或分区键。无需担心使用哪种方式访问一天,它的效果就很棒。
Redshift非常有限,并且不支持json。很难理解分区。您必须要做很多工作才能完成某些工作。不支持json。您可以使用redshift specturm作为创可贴来访问S3。预先分配好运。在S3存储桶中创建分区后,就可以完成操作,除非您再次将所有数据重新处理为新结构,否则就无法更改。您将最终花时间解决这些问题,而不是着手解决实际的业务问题。
这就像比较智能手机与莫尔斯电码机器。 Redshift就像莫尔斯电码那样的实现方式,而不是现代发展
答案 2 :(得分:1)
由于以下原因,我们最近从Redshift切换到Snowflake:
在我们的data blog上可以找到更深入的文章。
答案 3 :(得分:0)
我评估了Redshift和Snowflake,还评估了Athena和Spectrum。在我们有大量联接的情况下,后两者不是入门者,因为它们会耗尽内存。对于Redshift,出于以下几个原因,我实际上可以获得更好的性价比:
在大多数情况下,使用Redshift可以获得更好的性能,但是需要具备丰富的MPP知识才能正确设置物理模式。专业知识和复杂性的成本抵消了部分产品成本。
Redshift将JSON存储在VARCHAR列中。在大型表中查询JSON元素的子集时,这可能会导致问题(OOM),其中VARCHAR列的大小太大。在我们的案例中,我们必须将VARCHAR定义为非常大,以容纳一些包含非常大的JSON文档的记录。
雪花功能很棒,包括:
我要警告Snowflake的一件事是,可能会想聘请技术水平较低的开发人员/ DBA来运行该系统。可以使用庞大的计算群集来解决不良模式设计中的性能问题,但这可能不是最理想的选择。无论如何,Snowflake中的功能都很棒。