📜  Apache Presto-体系结构

📅  最后修改于: 2020-11-28 12:57:46             🧑  作者: Mango


Presto的体系结构几乎类似于经典的MPP(大规模并行处理)DBMS体系结构。下图说明了Presto的体系结构。

Presto建筑

上图由不同的组件组成。下表详细描述了每个组件。

S.No Component & Description
1.

Client

Client (Presto CLI) submits SQL statements to a coordinator to get the result.

2.

Coordinator

Coordinator is a master daemon. The coordinator initially parses the SQL queries then analyzes and plans for the query execution. Scheduler performs pipeline execution, assigns work to the closest node and monitors progress.

3.

Connector

Storage plugins are called as connectors. Hive, HBase, MySQL, Cassandra and many more act as a connector; otherwise you can also implement a custom one. The connector provides metadata and data for queries. The coordinator uses the connector to get metadata for building a query plan.

4.

Worker

The coordinator assigns task to worker nodes. The workers get actual data from the connector. Finally, the worker node delivers result to the client.

Presto-工作流程

Presto是在节点集群上运行的分布式系统。 Presto的分布式查询引擎针对交互式分析进行了优化,并支持标准的ANSI SQL,包括复杂的查询,聚合,联接和窗口函数。 Presto体系结构既简单又可扩展。 Presto客户端(CLI)将SQL语句提交给主守护程序协调器。

调度程序通过执行管道连接。调度程序将工作分配给最接近数据的节点并监视进度。协调器将任务分配给多个工作节点,最后工作节点将结果传递回客户端。客户端从输出过程中提取数据。可扩展性是关键设计。 Hive,HBase,MySQL等可插拔连接器为查询提供元数据和数据。 Presto具有“简单的存储抽象”设计,可以轻松地针对这些不同类型的数据源提供SQL查询功能。

执行模型

Presto支持带有用于支持SQL语义的运算符的自定义查询和执行引擎。除了改进调度之外,所有处理都在内存中,并在不同阶段之间跨网络流水线化。这样可以避免不必要的I / O延迟开销。