指如疾风,势如闪电-StarRocks Fast Schema Evolution in V3.3.0

前言

使用 StarRocks 存算分离功能的同学可能之前常常被 DDL (常见的如增加列等)所困扰,主要在于 DDL 的执行时间过长并可能由此引发的一系列问题(如超时失败等),用户可能有时候不得不采用其他方式来替代(如按照新的 Schema 来重建表并重新导入数据)。

幸运的是,在 3.3.0 版本中即将推出的 Fast Schema Evolution 能力让这一困扰我们许久的问题彻底变为历史。

Fast Schema Evolution 是现代大数据处理系统中至关重要的功能。它能够在无需重写整个数据集的情况下高效地修改表结构,显著提升数据管理的灵活性和敏捷性。在即将发布的 3.3.0 版本中,我们将为存算分离版本引入全新设计实现的 Fast Schema Evolution 能力,帮用户极大地提升了DDL的效率。

Fast Schema Evolution 的关键在于无需重写历史数据,而是只需要向对象存储中写入少量Tablet 元数据即可完成 DDL,这带来了显著的性能提升,尤其是针对处理包含大量历史数据的表时。
本文章将会通过真实测试来展示全新设计的 Fast Schema Evolution 的性能表现。

测试环境

硬件规格

测试中使用1 FE + 4 CN 配置,FE实例规格如下:

b43d192c51dbd94ce943fad5d9d5c169.jpeg
CN 实例规格如下:

f922ebbee35af760a4d01c4b89787c0a.jpeg

软件版本

测试中分别使用 3.3.0-rc02 和 3.2.7 版本进行对比测试。

数据集

使用 TPC-DS 1TB 标准数据集,针对 store_sales 表进行加列(add column)操作并对比两个版本耗时。压缩后存储数据量如下:

a9d180503690d1362f69812c49587020.jpeg

原始表结构如下:

2f30ac79170d2735b07f157abfd3b3a9.jpeg

测试结果

Fast Schema Evolution vs Old Schema Evolution

以下结果展示了 Fast Schema Evolution 和 老版本的性能对比:

199d22990d83d3312f69377eb144fc51.jpeg

可以看到,在只有 130 GB 数据规模情况下,加列的延迟降低了 85 倍(8s VS 680s)。如果数据量进一步提升,提升的幅度会更加显著。

不同 Tablet 时 DDL 性能对比

StarRocks 存算分离的 Fast Schema Evolution 在实现时是只为每个 Tablet 写入元数据信息,其耗时与 Tablet 数量息息相关,本着严谨的原则补充测试了不同 Tablet 规模下的加列性能。
这里调整了部分默认参数值:

# 控制 FE 后台调度执行 DDL Task 周期,默认为10s 

admin set frontend config("alter_scheduler_interval_millisecond"="1000");


# 控制 CN 执行 ddl 任务的并行度,默认为 4 

update information_schema.be_configs set value = 4 where name = "max_update_tablet_meta_threads";

00cfec855c05152a69f9b88faf3481e6.jpeg

不同并行度时 DDL 性能对比

StarRocks 存算分离的 Fast Schema Evolution 在实现时是只为每个 Tablet 写入元数据信息,其耗时与 Tablet 数量息息相关,本着严谨的原则补充测试了不同 Tablet 下的加列性能,通过调整如下参数来调整工作线程数量:

update information_schema.be_configs set value = x where name = "max_update_tablet_meta_threads";

另外测试中也调大了 publish 工作线程池数量:

update information_schema.be_configs set value = 512 where name = "transaction_publish_version_worker_count";

8c977bcaf9215013118039f8e64e94da.jpeg

总结

Fast Schema Evolution 能力的发布,也意味着 StarRocks 存算分离也基本补齐了成为未来湖仓分析新范式的一块巨大短板,必定给用户体验带来极大的提升,感兴趣的朋友也欢迎尝试该能力并提宝贵的建议。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值