一、体系结构
presto是facebook开源的查询分析引擎,在国内是京东用的比较溜和成熟。presto数据处理能力到达PB级别,支持查询数据源有hive、kafka、cassandra、redis、mongodb、sql server等,在工作应用当中,我们发现presto的查询性能比hive要高40%以上。presto的结构式master+slaver模式,具体组成如下:
主要组成部分是:
一个 coordinator+一个discovery server +多个worker。通常discovery server是内嵌在coodinator组件当中。三者的作用分布如下:
1、coodinator:用于解析查询sql,生成执行计划,并分发给worker执行。
2、discovery server:worker上线后,向discovery server注册。coodinator分发任务前,需要向discovery server获取可以正常工作worker列表。
3、worker:具体执行任务的工作节点。
二、presto的特点
低延时、基于内存的计算、本地化计算、GC控制。
三、执行查询过程
prosto查询过程,改天有空详细聊。