四层解耦的Serverless | 元数据和事务系统的技术难题和关键设计

 引言

自Snowflake架构诞生之后,该公司最高市值接近1000亿美金,Snowflake提出的计算、存储和元数据三层分离架构也引领了国内众多厂商的架构设计,我们能够看到:

Hashdata的3层架构:

南大通用GBase:

doris 2.x版本的架构,并且已经开源:

该架构核心设计思想大体如下:

  1. 把有状态的模块,例如元数据,事务管理,锁管理等,Snowflake甚至把执行计划缓存,query cache缓存都放到元数据层,计算和存储都变成无状态的服务,方便对计算和存储做弹性;

  2. 作为有状态的服务不太好实现serverless,为了降低大规模场景下元数据层的成本,都把元数据层做成多租户共享的服务。

在众多厂商尚未明确阐述元数据层独立后所面临的挑战和技术细节的情况下,Relyt AI-ready Data Cloud作为一个采用四层解耦架构(元数据、计算、缓存和存储)的云原生数据仓库,通过多年的技术沉淀和广泛的客户实践,积累了丰富的经验。本期,我们邀请了质变科技AI-ready数据云团队布道师、云原生领域资深人士元飞为大家分享话题《计算、存储和元数据三层分离架构下,元数据和事务系统的挑战和关键技术》。

在上述背景下,应该如何应对元数据层独立后的技术挑战?

  1. 保持与PostgreSQL生态系统产品的一致体验:我们致力于让客户能够像使用单机版PostgreSQL一样便捷地使用云原生数据仓库。虽然开源产品的用户对事务能力的要求不高,但闭源产品通常提供标准的ACID事务能力,这已成为闭源产品提升用户体验的关键竞争力之一。

  2. 远端存储与本地存储性能差异的解决方案:我们着力解决远端存储与本地存储之间的性能差距,旨在让用户的DDL操作和读写过程能够达到与使用本地数据库相同的延迟。特别是在TPC-H等场景下,我们实现了高吞吐量和低延迟的性能优化。

  3. 元数据管理的挑战:传统大数据的元数据管理相对简单,因为它们主要面向不可变的大文件。我们探讨了元数据层如何应对实时数据仓库中的实时小批量写入,以及高频的update/delete操作,还有高QPS的点查Servering场景。

  4. 面向未来的演进:我们探讨了如何向湖仓一体架构演进,实现数据的开放共享,并面向AI实现AI-Ready的挑战。

元数据层作为数据仓库的核心组成部分,我们将从Relyt AI-ready Data Cloud的实践经验出发,深入分析其中的关键设计和技术难题。

 架构设计

  • 元数据服务层包括两层:无状态服务层 & 可扩展分布式存储层。

  • 无状态服务层:负责表、列、文件和统计信息的抽象,支持MVCC能力,能够提供一致的元数据视图,将KV结构封装为表API,方便多个DPS或应用服务的访问,DPS指代Relyt中一组计算资源,与Snowflake的virtual warehouse是一个概念;

  • 可扩展的分布式存储层:基于 FoundationDB (简称FDB)作为持久化存储,提供安全、可靠、可扩展的基础存储服务能力。

这样设计的好处在于:

  • 全局一致,多DPS统一元数据,update/delete跨DPS实时可见

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值