Trino是一个分布式SQL查询引擎,主要用于以下场景:
它用为替代Hadoop/Hive,作为更快、更高效的查询引擎;也支持ETL处理,进行数据转换和加工
例如跨数据源来查询:
-- 示例:跨数据源的业务报表
SELECT
o.customer_id,
c.customer_name,
SUM(o.amount) as total_revenue
FROM mysql.sales.orders o
JOIN postgres.crm.customers c ON o.customer_id = c.id
WHERE o.order_date >= '2024-01-01'
GROUP BY o.customer_id, c.customer_name;
Presto最初是由Facebook(现Meta)的工程师团队在2012年开始开发的,主要目标是解决他们在处理大规模数据时面临的挑战。当时Facebook需要一个能够:
• 处理PB级数据的查询引擎 • 提供比Hive更快的交互式查询体验 • 支持标准SQL • 能够查询多种不同的数据源
2013年11月,Facebook正式开源了Presto
2018年1月,Presto的原始创建者们离开Facebook,成立了Starburst Data公司,继续推动Presto
2019年,Presto社区出现了重大分歧。主要原因包括:
2020年12月,为了避免商标纠纷并确立独立身份,PrestoSQL正式更名为trino。 更名为Trino后,项目获得了新的发展动力,Trino社区迅速扩大,贡献者数量显著增加。
trino在技术方面的创新:
• 改进了查询优化器、增强了内存管理
• 添加了更多连接器、提高了查询性能、增强了安全特性
生态系统的扩展:
• 与Kubernetes的深度集成
• 与数据湖技术(如Delta Lake、Iceberg、Hudi)的集成
• 改进的云存储支持