作为云计算的下一个迭代,Serverless 可以使开发者更专注于构建产品中的应用,而无需考虑底层堆栈问题。伴随着近年来相关技术成熟度的增加,市场对 Serverless 的接受程度也变得越来越高。可以说时至今日,Serverless 已迈入了向成熟稳定方向发展的高速轨道。
作为一款火山引擎推出的云原生数据仓库,ByteHouse 基于开源 ClickHouse 构建,并在字节跳动内外部场景的检验下,对 OLAP 引擎能力、性能、运维、架构进一步升级。除此之外,ByteHouse 也在 Serverless 方向探索,基于 cloud-native 云原生的理念构建了全新一代的数据仓库,架构上进行了三层解耦,期望在 Serverless 的加持下,提供更稳定、可靠、可信的分析服务,让开发人员时间精力从基础设施运维优化上解放,更聚焦在核心业务功能中。
然而,在 OLAP 领域的 Serverless 技术实现上,仍然存在一些技术难点。
OLAP 数据分析涉及到存储、网络、操作系统、数据库、AI 等 IT 领域几乎全栈的技术点,需要厂商做持续的、高成本的研发投入。而且这些投入短期内难见市场回报,一旦中途停顿则意味着前期的投入全都“打水漂”。
其次,虽然已经有几款商用的 Serverless 架构的数据仓库,但是其提供的算力规模很难支撑中大型规模的数据仓库或者分析平台的需求。也就是说,Serverless 架构的数据仓库还需要在算力上做进一步的提升。
Serverless 的规模化应用还面临服务标准化的问题。没有标准化的规范会导致用户被平台锁定,无法实现应用的平移、无缝搬迁。因此,为了推动 Serverless 的规模化应用,需要有与之配套的标准和规范体系。
为了更好解决以上难点,火山引擎ByteHouse逐步向 Serverless 架构演进,并针对存储层、中间层以及云服务层进行三层架构解耦。
ByteHouse向 Serverless演进的技术架构
在存储层的设计中,ByteHouse实现了Serverless化、弹性伸缩、容量无限扩展。为提升存算分离架构下的性能问题,ByteHouse针对HDFS语义优化,让带宽仅增加10%的情况下,延迟减少3倍,并在网络通信上, 采用连接复用、RDMA、传输压缩等技术,大幅缓解了网络放大问题。
在中间层,ByteHouse通过按读写进行隔离、按应用类别进行隔离等方式实现负载隔离,在满足用户基本需求的情况下,实现架构逐步向Serverless演进。
在上层的cloud services 云服务层,ByteHouse提供集中化的catalog 元数据服务、集群管理服务等,让元数据从计算层解耦,实现了无状态化,获得秒级的弹性伸缩和启停能力。
Serverless 在 OLAP 领域的应用依然面临一些挑战,但随着技术的不断演进和迭代,标准化的规范体系的建立和完善,ByteHouse将持续探索和应用Serverless架构优势,为行业和用户提供更优质的数据分析服务。(作者:杨博帆)