presto有哪些优缺点?

提问者:帅平 问题分类:大数据
presto有哪些优缺点?
2 个回答
吹南风
吹南风
presto的缺点有:
1、没有容错性:不支持单个query内部执行容错(query 中包含多个 Task,如果某个Task 失败了,会导致整个Query 失败,而不会进行把 task 在移动到其他工作节点处理重试)
2、不支持事务:不是数据库,不进行数据存储,不支持在线事务
3、内存限制: 基于内存计算,当内存空间不足时,不会将一部分结果保存到磁盘上,直接就查询失败,不适合大表的join操作。虽然能够处理 PB 级别的海量数据分析,但不是代表 Presto 把 PB 级别都放在内存中计算的。而是根据场景,如 count,avg 等聚合运算,是边读数据边计算,再清内存,再读数据再计算,这种耗的内存并不高。但是连表查询,就可能产生大量的临时数据,因此速度会变慢,反而 Hive此时会更擅长。
4、并行限制:多个task 并行在worker节点进行计算,当其中一台worker计算缓慢,会让整个query流程效率变慢
5、并发限制:因为全内存操作+内存限制,能同时处理的数据量有限,因而导致并发能力不足。高并发支持不够,coordinator 容易成为瓶颈。
6、维护性:数据关联组件多、维护成本高。
7、查询性能:相较于doris、starrocks等MPP数据库,查询性能一般,无法满足业务方希望能快速获取数据的需求。
8、缺少 Bitmap 数据类型,在标签计算方面存在一些不足。
发布于:1年前 (2023-07-20) IP属地:四川省
人潮似水看见我°
人潮似水看见我°
presto的优点有:
1、完全基于内存的并行计算
2、支持多种数据源接入,一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。
3、完全支持ANSI SQL标准,用户可以直接使用 ANSI SQL 进行数据查询和计算。
4、减少阶段间的等待时间,Mapreduce不支持DAG,maptask未完成,不能执行reduce,Presto采取管道式传输的方式,边清理内存,边计算。
发布于:1年前 (2023-07-20) IP属地:四川省
我来回答