探案录 | 数据库膨胀?性能下降?别怕,金仓数据库KES来拯救!

文摘   科技   2024-11-26 15:43   北京  


在贝克街221B号那座充满维多利亚时代风情的小屋里,福尔摩斯•K与华生•K坐在杂乱无章的办公室里,手中紧握着一封来自一家国际知名金融公司的求助信。这封信的每一个字都透露出深深的忧虑和急迫,技术总监在信中详细描述了一个令他们束手无策的问题:


在金融业务系统中,跑批类业务往往伴随着大量的复杂长查询和数据修改,如同繁忙的流水线一样,不断产生新的数据版本,同时也留下了大量的旧版本数据。传统的数据清理方案,只能清除最古老、最不起眼的尘埃,对于那些因持续长查询而生成的无数旧版本,却束手无策。这些旧版本就如同冗余的库存,占据着宝贵的存储空间,导致数据库膨胀和性能下降。


近在眼前的解决方案:跨事务清理优化


福尔摩斯•K放下手中的烟斗,他那双锐利如鹰的眼睛中闪烁着对挑战的热情。他深知,这起“金融数据膨胀案”不仅涉及了复杂的数据结构和事务处理机制,更隐藏着一个深层次的数据库优化问题。于是,他决定亲自出手,揭开这个谜团。



福尔摩斯•K迅速进入了侦探模式,他首先运用了自己擅长的“观察与记录”技巧,对膨胀问题进行分析。他发现,在长事务执行期间,数据会被频繁地更新,产生大量对所有事务都不可见的过期版本数据。然而,由于长事务维持了数据库的视界不变,这些过期版本数据无法被安全地清理掉,从而导致了数据膨胀的问题。


在确定了问题的关键所在后,福尔摩斯•K运用了他那著名的“演绎法”来推导解决方案。他从已知的事实出发,结合对膨胀问题的深入分析,提出了一个大胆的假设:如果能够找到一种方法,能够判断哪些数据版本是过期的且不再被任何事务可见,那么就可以安全地清理掉这些数据版本,从而解决数据膨胀的问题。


幸运的是,金仓数据库KingbaseES为他提供了这个可能。


KingbaseES实现了基于提交序列号(简称CSN)的快照,用于数据版本的可见性判断。就像魔法世界中的时间转换器一样,能够让人们看到每个数据版本的过去和未来。在共享内存中维护系统中全部活跃快照的CSN,就可以利用其清理数据库视界内的过期版本:当某个过期版本生命周期全部落入任意相邻两个快照csn组成的区间里时,则此元组不被任何事务可见,可以安全清理。通过这种跨事务细粒度的清理,就可以避免长事务场景下垃圾清理的延迟。


基于CSN快照清理方案


模拟测试与验证:性能与效率的双重提升



为了验证这个方案的有效性,两人与金仓工程师们一起进行了模拟测试。他们模拟典型的金融业务跑批场景,对比了开启跨事务清理方案和传统清理方案的效果。


测试结果显示,跨事务清理功能较传统清理方案膨胀率明显降低,性能显著提升,并且系统运行时间越长结果对比越明显。


No.1

精准识别  膨胀退散  



从上述图中,可以看到长事务存在的跑批场景下,传统清理方案的膨胀率不断上升,最终持续增长到了215%左右;而跨事务精准清理方案膨胀率经过5分钟时间基本稳定下来,磁盘膨胀率稳定在26.8%,元组膨胀维持在11.6%。


华生•K发现:跨事务精准清理方案下,磁盘与元组膨胀得到有效控制,膨胀率仅为传统清理方案的1/10


No.2

极速响应  效率倍增


传统清理方案


跨事务清理方案


在响应时间方面,传统清理方案响应时间不断增长,最终增长到600毫秒上下。反观跨事务精准清理方案,查询的响应时间基本维持在2-3毫秒,响应时间飙升到了极致。




福尔摩斯•K通过比对传统清理方案,发现跨事务精准清理方案查询的响应速度快200-300倍



No.3

高效清理  TPS飙升  



从更新的每秒事务数(tps)方面对比看,传统清理方案情况下每秒事务数随时间持续降低,半个小时后降到280tps左右;跨事务精准清理情况下每秒事务数在1500-2100tps之间波动,平均在1750tps左右,是传统清理方案的近6倍!



案件告破

传统清理方案策略保守,清理范围有限,导致数据膨胀问题不断加剧,进而引发数据库性能的持续下降。相比之下,金仓数据库“跨事务清理方案”通过更精确的判断可见性,显著扩大了清理范围,从而有效控制了数据膨胀,数据库整体性能状态得到了良好的维持。




福尔摩斯•K与华生•K以卓越的洞察力和分析能力,成为侦探界的传奇。同样地,金仓数据库KingbaseES以其独特的技术和创新精神,在数据库领域树立了新的标杆。它的跨事务清理优化方案不仅解决了数据库膨胀与性能下降的问题,更为数据库的未来发展提供了有力支持。


我们相信,在技术与创新的推动下,金仓数据库将继续引领数据库技术的发展潮流,为各行各业提供更加高效、稳定、智能的数据库解决方案。

供稿:数据库产品研发中心
编辑:木子
审核:日尧

金仓数据库
电科金仓成立于1999年,系中国电子科技集团有限公司成员企业。电科金仓传承中国人民大学在数据库领域40余年技术积淀,企业级数据库产品KES广泛应用于金融、电信、能源、医疗、交通等行业的核心系统,致力于成为世界卓越的数据库产品与服务提供商。
 最新文章