PrestoSQL, PrestoDB 和 Trino

目录

  • [1. PrestoSQL, PrestoDB 和 Trino](#1. PrestoSQL, PrestoDB 和 Trino)
    • [1.1. PrestoSQL 改名 Trino](#1.1. PrestoSQL 改名 Trino)

1. PrestoSQL, PrestoDB 和 Trino

Presto 社区分家后搞了 2 个项目, 分别为 PrestoDB 和 PrestoSQL, 同时他们都成立了自己的基金会。我们简单梳理下这 2 个分支的主要核心功能:

PrestoDB:

  • Connector: ElasticSearch 及 Druid
  • Master 和 Worker 通信协议支持二进制
  • Orc 及 Parquet 读写性能优化
  • Hive 写数据支持指定压缩格式
  • task 通信协议可以指定 thrift
  • spi pushdown
  • MapReduce-style shuffle, 支持部分 etl 任务及大查询
  • fix bug 及 improve performace

PrestoSQL:

  • Connector: ElasticSearch 和 MemSQL
  • spi pushdown
  • S3 优化读取
  • join 延时物化
  • 大量的 fix bug 及 improve performance

从以上功能实现可以看到, PrestoDB 更符合我对 Presto 未来的定位:

  • 支持大集群
  • 提高并发能力
  • 减少指定场景的查询耗时, 比如 ORC
  • 下推能力存储计算分离, 比如 agg 扔到存储层去做 (2 个分支都有)

除了以上功能外, PrestoDB 还有其他优点:

  • 核心功能会有技术文章输出
  • issue 里技术实现和细节比较全
  • 基金会里包含 Facebook、阿里巴巴、twitter 及 Uber, 有场景支持和实践, 目前 twitter 员工很活跃
  • 老的 PrestoDB 版本升级简单
  • PrestoDB 代码质量比 PrestoSQL 要好, PrestoSQL 有些地方代码改的有些混乱
  • wiki 和文章排版很舒服, PrestoSQL Blog 也没有任何技术输出

PrestoDB 缺点:

  • 主要是 Facebook 员工维护, Facebook 的文化迫使他们员工没有办法花时间在社区上
  • 社区活跃度不如 PrestoSQL
  • Release Notes 上的改动没有对应的 issue 链接

19 年我经常在 slack 上与 PrestoSQL 社区的人打交道, 别人问我选择版本时候, 我都是建议选择 PrestoSQL, 但是目前我有了不同的想法, 如果说只是使用 Presto, 2 个分支其实都无所谓, 如果说公司体量较大, 会有不少二次开发, 我认为 PrestoDB 做的事情和提供的能力更符合国内很多公司的需求, 比如让 Presto 即要支持 ad-hoc, 又要支持 etl(听说目前 Facebook 就在这么搞), 以及很多实时需求等等。

2020.5.20 补充:

我们决定升级到 PrestoSQL 最新版本了 (333), 原因是:

  • 社区活跃度
  • PrestoDB 主要主力还是 Facebook 维护, 不可控, 且有概率被 C++重写
  • PrestoDB 未来方向主要是 ETL 相关的, 我们有 Spark 兜底, ETL 功能靠 Spark、Hive 就好了

1.1. PrestoSQL 改名 Trino

今天, 知名开源项目 Presto 的三位发起人宣布, 将 PrestoSQL 项目的名字改为 Trino。

该项目原本是由 Facebook 运营的, 但 2019 年年初, Presto 团队的三位创始人离开了 Facebook。从此, Presto 项目被一分为二, 由 Facebook 维护 PrestoDB, Martin、Dain、David 三位 Presto 项目最早的发起人维护 PrestoSQL。

目前, PrestoSQL 项目在 GitHub 上的名称已经改为了 Trino, 其官方也在公告中提供了项目的新地址。

相关推荐
hamawari22 分钟前
SQL语法
数据库·sql·oracle
invicinble2 小时前
对于mysql层对sql层面的知识体系的理解和把握
数据库·sql·mysql
l1t3 小时前
DeepSeek辅助总结postgresql wiki提供的数独求解器
数据库·sql·postgresql
万行3 小时前
SQL进阶&索引篇
开发语言·数据库·人工智能·sql
山岚的运维笔记4 小时前
SQL Server笔记 -- 第13章:IF...ELSE
数据库·笔记·sql·microsoft·sqlserver
酉鬼女又兒5 小时前
SQL23 统计每个学校各难度的用户平均刷题数
数据库·sql·算法
写代码的【黑咖啡】5 小时前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
愤怒的苹果ext7 小时前
flink-sql-connector-elasticsearch8兼容Flink SQL同步到Elasticsearch8.18.8
sql·flink·es8
秦老师Q17 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
我真的是大笨蛋18 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化