基本架构
硬件架构
软件架构
Client
通过jdbc/odbc方式接入的服务,用于发送查询请求以及接受查询结果。
Coordinator
Presto集群的主节点,接受查询请求、解析SQL生成查询执行计划,任务的调度以及worker节点的管理工作。
Worker
执行任务的节点。
Airlift
一个轻量级的REST服务的框架,框架集成了Jetty以及Netty等。
Discovery Service
一般和Coordinator同节点,是Airlift提供的一个服务发现机制,worker启动之后会向该服务发送信息,通过该服务Coordinator可以知道目前Presto集群的worker情况。
Connector
Presto中所有查询的数据都是通过connector提供的。即使你的数据源中没有任何基础数据表,但是只要你的数据源实现了Presto中要求的API(presto-spi),就可以从自定义的数据源中进行查询。
数据模型
Catalog
数据源实例,可以通过使用特定的Connector来访问Catalog中指定的数据源。
Schema
库,即类似于Hive中的Database。
Table
表,即类似于Hive中的table,通过catalog.schema.table可以确定要查询的唯一表。