本节介绍 Presto 中的基本概念,以便更好到理解 Presto 到工作机制。

数据模型

数据模型即数据的组织形式。Presto 使用 Catalog、Schema 和 Table 这3层结构来管理数据。
  • Catalog

    一个 Catalog 可以包含多个 Schema,物理上指向一个外部数据源,可以通过 Connector 访问改数据源。一次查询可以访问一个或多个 Catalog。

  • Schema

    相当于一个数据库示例,一个 Schema 包含多张数据表。

  • Table

    数据表,与一般意义上的数据库表相同。

Catalog、Schema 和 Table 之间的关系如下图所示:
Catalog,Schema ,Table 关系图

Connector

Presto 通过各种 Connector 来接入多种外部数据源。Presto 提供了一套标准的 SPI接口,用户可以使用这套接口,开发自己的 Connector,以便访问自定义的数据源。

一个 Catalog 一般会绑定一种类型的 Connector(在 Catalog 的 Properties 文件中设置)。Presto 内置了多种 Connector 实现。