当前位置: 首页 > news >正文

Presto:一款免费开源的大数据SQL查询引擎

Presto 是一款免费面向现代数据分析的高性能、分布式 SQL 查询引擎,可以为数据库、大数据以及湖仓一体等存储架构提供统一的 SQL 查询接口。

Presto 项目主要基于 Java 语言开发,遵循 Apache 2.0 开源协议,代码托管在 GitHub,目前已经获得了 16.5K Stars:

https://github.com/prestodb/presto

系统架构

作为一个计算引擎,Presto 本身不存储数据,而是专门用来快速查询外部数据源。

Presto 采用典型的主从(Master-Slave)架构,主要包括两个角色:Coordinator 和 Worker 。

  • Coordinator,负责接收客户端的 SQL 查询,主要工作包括:解析 SQL 语句,检查语法,并基于成本生成最优的分布式执行计划;将执行计划分解成多个阶段和任务,并将其分发给 Worker 节点执行;监控所有 Worker 节点的状态,并协调整个查询的执行过程。
  • Worker,负责执行具体的数据处理任务,包括连接到数据源读取数据,在内存中对数据进行处理(例如过滤、聚合、关联),将中间结果传递给其他 Worker 进行下一步处理。Worker 节点是并行工作的,数据和处理任务都被分散到所有可用的 Worker,这是 Presto 高性能的基础。

客户端通过 CLI、JDBC、ODBC 等方式连接到 Coordinator 来提交查询。

功能特性

  • 连接器:Presto 通过连接器(Connector)支持丰富的数据源,包括 Accumulo、Arrow Flight、BigQuery、Cassandra、ClickHouse、Delta Lake、Druid、Elasticsearch、Google Sheets、HANA、Hive、Hudi、Iceberg、Kafka、MongoDB、MySQL、Oracle、PostgreSQL、Prometheus、Redis、Redshift、ScyllaDB、SingleStore、SQL Server、Thrift、本地文件等。
  • 高性能:采用内存计算和流水线执行模型,查询速度比 Hive 快几个数量级(从分钟级降到秒级),非常适合交互式查询和即席分析。
  • 标准 SQL:支持 ANSI SQL,学习成本低,现有的 BI 工具(例如 Tableau, Superset)可以轻松地通过 JDBC/ODBC 与之集成。

在这里插入图片描述

  • 联邦查询:采用用标准 SQL 即可实现跨源分析,打破了数据孤岛。
  • 可扩展性: MPP 架构可以轻松地向集群中添加或移除 Worker 节点,实现水平扩展。
  • 灵活部署:可以在本地数据中心部署,也可以在云上部署。
  • REST API:Presto 提供了一套 RESTful API,允许通过 HTTP 请求直接与服务器交互,完成查询提交、状态监控和集群管理等一系列操作。
  • 生态系统:Presto 托管给了 Linux 基金会,社区非常活跃,生态系统在不断扩展中。

下载安装

Presto 支持多种安装方式,使用 Docker 进行部署的命令如下:

docker run -p 8080:8080 -ti prestodb/presto:latest

启动服务之后,在浏览器中输入以下地址进行访问:

http://localhost:8080/

官方文档:

https://prestodb.io/docs/current/index.html

http://www.dtcms.com/a/434547.html

相关文章:

  • AI驱动的软件测试变革:从自动化框架到智能决策
  • The 2024 ICPC Asia Nanjing Regional Contest(2024南京区域赛EJKBG)
  • 面试场景题-
  • 怎样接做网站的活做校园网站代码
  • 【github】秘钥
  • 申请网站建设费教育网站制作定制
  • 网站ipv6改造怎么做让别人做网站怎样才安全
  • 开源库入门教程 Cesium:3D地球和地图库
  • WSL2 的 Ubuntu 系统从 G 盘移动到 F 盘
  • ubuntu20.04编译qt源码5.15.3
  • 保定哪家公司做网站安徽优化推广
  • 网站服务器租赁费用表格网络营销的效果表现在哪几个方面
  • HarmonyOS应用深度开发:ArkTS语法精解与状态管理实践
  • 开源 C# 快速开发(十六)数据库--sqlserver增删改查
  • 在相亲网站认识了一个做红酒生意的深圳做品牌网站
  • AI Agent 设计模式:从理论到实践的完整指南
  • 池州网站开发公司招聘外贸公司大全
  • WSL的安装与使用详解
  • 内网横向移动技术与防御详解
  • PYTHON:Python 新版本下载安装更新py文件Pycharm运行指南
  • Kubernetes中的service
  • Coze源码分析-资源库-编辑工作流-后端源码-流程/技术/总结
  • 医院网站建设招标公告惠州网站建设科技有限公司
  • 英语学习-Saints043-1
  • 大模型提示学习与思维链
  • 在线公司logo设计河南seo优化
  • 滑动窗口题目:最小覆盖子串
  • 【读书笔记】《深奥的简洁》
  • 支付宝手机网站支付贵阳门户网站
  • macOS 终端配置全攻略:zsh、bash_profile、zprofile、zshrc 到 nvm 配置的完整科普