Trino是?种?持使? SQL 访问任意数据源的 开源的分布式SQL 查询引擎,其能够提供更加灵活与?效的查询服务。为不同的异构数据源提供统?的sql访问,并?持联邦查询和并?查询。
应?场景
Trino是定位在数据仓库和数据分析业务的分布式SQL引擎,适合以下应?场景:
? 统?SQL访问各类数据源
? 执?sql转换与ETL
? Ad-Hoc查询
? 海量结构化数据或半结构化数据分析
? 海量多维数据聚合或报表分析
trino集群由?个coordinator和多个worker节点组成,client可以使?Trino CLI或者JDBC驱动程序连接到Coordinator,coordiantor通过协调worker与数据源进??作。
数据模型即数据的组织形式。Trino使?Catalog、Schema和Table三层结构来管理数据。
Trino通过各种Connector来接?多种外部数据源。Trino提供了?套标准的SPI接?,用户可以使?这套接口开发自己的Connector,以便访问?定义的数据源。?个Catalog通常会绑定?种类型的Connector,在Catalog的Properties?件中设置。Trino内置了多种Connector。下图展示了Trino SPI如何包含用于协调器使?的元数据、数据统计和数据位置以及?作器使?的数据流的单独接?。
(1)总体流程
coordinator接受来?最终用户、CLI软件(使?ODBC或JDBC驱动程序或其他客?机库)的SQL语句。然后,coordinator触发worker从数据源获取所有数据,创建结果数据集,并使其对客户机可?。
(2)流程分析