📅  最后修改于: 2020-11-28 12:57:46             🧑  作者: Mango
Presto的体系结构几乎类似于经典的MPP(大规模并行处理)DBMS体系结构。下图说明了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的分布式查询引擎针对交互式分析进行了优化,并支持标准的ANSI SQL,包括复杂的查询,聚合,联接和窗口函数。 Presto体系结构既简单又可扩展。 Presto客户端(CLI)将SQL语句提交给主守护程序协调器。
调度程序通过执行管道连接。调度程序将工作分配给最接近数据的节点并监视进度。协调器将任务分配给多个工作节点,最后工作节点将结果传递回客户端。客户端从输出过程中提取数据。可扩展性是关键设计。 Hive,HBase,MySQL等可插拔连接器为查询提供元数据和数据。 Presto具有“简单的存储抽象”设计,可以轻松地针对这些不同类型的数据源提供SQL查询功能。
Presto支持带有用于支持SQL语义的运算符的自定义查询和执行引擎。除了改进调度之外,所有处理都在内存中,并在不同阶段之间跨网络流水线化。这样可以避免不必要的I / O延迟开销。