Database design 普雷斯托vs黑斑羚:架构、性能、功能

Database design 普雷斯托vs黑斑羚:架构、性能、功能,database-design,olap,impala,presto,distributed-database,Database Design,Olap,Impala,Presto,Distributed Database,您能否在2019年强调两者在架构和功能上的主要差异?这种差异是如何影响绩效的 出于某种原因,被标记为基于意见 额外问题:为什么亚马逊决定用普雷斯托作为雅典娜的引擎?它比黑斑羚好吗 UPD f PrestoDB和Impala是一样的,为什么它们在硬件要求上如此不同?虽然。虽然技术架构、性能和功能可能是一个非常详细的主题,但我能想到的一些关键亮点(基于这两个引擎在过去这么多年的发展历程): Presto总是在Facebook、Netflix、Airbnb、Pinterest和Lyft等数据驱动型公司

您能否在2019年强调两者在架构和功能上的主要差异?这种差异是如何影响绩效的

出于某种原因,被标记为基于意见

额外问题:为什么亚马逊决定用普雷斯托作为雅典娜的引擎?它比黑斑羚好吗

UPD
f PrestoDB和Impala是一样的,为什么它们在硬件要求上如此不同?虽然。

虽然技术架构、性能和功能可能是一个非常详细的主题,但我能想到的一些关键亮点(基于这两个引擎在过去这么多年的发展历程):

  • Presto总是在Facebook、Netflix、Airbnb、Pinterest和Lyft等数据驱动型公司的规模(PB规模)上接受测试,但Impala可能没有这种大规模部署(当然他们会有一些,但这些故事在公众中并不广为人知)
  • 由于上述因素,普雷斯托始终拥有一个非常多样化和快速发展的社区,帮助构建了这个强大的引擎
  • Presto与ANSI SQL法规遵从性非常接近,这有助于传统数据社区采用它

  • -Ashish Dubey(Qubole)

    Presto和Impala是非常相似的技术,具有非常相似的架构。如果你使用互联网上提供的基准测试,那么你可能会得到所有依赖于作者的可能性

    现在,支持某些技术的社区数量最多,普雷斯托在这方面有一定优势。e、 g.Teradata、Qubole、Starbust、AWS雅典娜等


    需要强调的是:Presto在解决不同的用例方面非常多样化——支持Hive、S3/Blob/gs、许多RDBMS、NoSQL DBs等源代码、从多个源获取数据的单查询、需要较少调优的简单体系结构等等。

    我最近才遇到这一点,但我想澄清一个误解

    ApacheImpala的最低内存要求并不是一个硬性的最低要求——所有功能都可以使用4-8GB的内存(我每天都使用这个)。事实上,我猜想,至少在过去几年中,Impala更能容忍较低的内存级别,因为它具有更成熟的内存管理和溢出到磁盘的实现

    128GB的建议是基于我们的经验,即对于工作负载要求很高的大量使用的生产集群,您需要什么—人们在规划部署时犯的最严重错误之一是试图压缩内存需求。这可能有点保守,但我们真的不想推荐资源不足、导致糟糕体验的产品

    就架构差异而言,Cloudera的Impala开发团队一直专注于构建一款为1000多家客户服务的产品,而不是构建自己使用的软件。我学到的是,在特定部署中,构建可扩展到1000个客户的产品实际上比构建可扩展到1000个节点的产品更难

    这意味着每一项功能都必须构建得足够健壮,足以应对我们所有客户的测试——如果有任何问题,它总是会回到我们身边。我们喜欢说,我们的客户将“愤怒地使用它”——也就是说,他们将把一切推向极限

    我们还重点关注对企业客户至关重要的安全特性—身份验证、列级授权、审核等

    我不想过多地讨论基准测试,但我要说的是,使用MPP体系结构和LLVM之类的技术总是给Impala带来了性能优势,我认为我们在任何苹果对苹果的比较中都表现出色,特别是在并发工作负载方面。我确实听说过从基于Presto的技术到Impala的迁移,以一定的频率带来了显著的性能改进


    Impala在基准测试中的一个缺点是,我们更多地关注CPU效率和水平扩展,而不是垂直扩展(即使用节点上的所有CPU进行单个查询)。对于许多生产工作负载来说,这是正确的要求,但在某些基准测试中是一个缺点。在过去的8-9个月里,我们一直在解决这个问题,我们还将发布一些多线程改进,在即将发布的Impala 4.0中,这些改进将在标准基准上使查询延迟提高2-4倍。

    感谢您提供的信息!我想补充一点,几乎所有地方的Impala速度都更快(2-3倍,尤其是在多表联接上),而Presto则更通用(更多连接器,Impala只支持HDFS、HBase和Kudu)。但再一次,我从建筑的角度不知道为什么。另外,Presto更稳定,而Impala的查询失败率更高(同样,也不知道为什么)。请看一下我问题的UPD部分。我想补充一点,Impala支持的不仅仅是蜂巢式的连接。如果Presto和Impala是非常相似的技术,为什么它们的最低RAM要求相差近10倍?请看一下我的网站的UPD部分question@VB_这两种技术都是内存密集型的,并且没有硬性规定为Impala定义128 GB RAM,因为这完全取决于数据的大小和查询的类型。需要注意的一点是,Impala长期以来一直支持溢出到磁盘选项(因此较低的内存也可以工作,但性能较差),而Presto最近开始开发该功能,这可能需要一些时间才能成熟。128不是用于堆。。。如果你进一步阅读黑斑羚文档,它说堆只有8个