突破单一资源限制:OceanBase混闪机型部署验证及生产实战应用探索 | 优秀征文分享

科技   2025-01-06 15:49   北京  
“让技术被看见 | OceanBase 布道师计划”是由OceanBase主办,ITPUB协办,面向广大开发者的年度征文活动。全年 4 轮,以季度为周期进行优秀文章评比,每年 1 届,以年为单位进行最佳布道师评选。目前,首轮技术征文获奖文章已评选出炉本篇内容为「OceanBase 布道师计划」优秀文章之一,作者 邱永刚 !

活动仍在进行中,欢迎感兴趣的小伙伴点击「阅读原文」进入活动官网,了解活动详情或进一步投稿。🥳
评委有话说:
OceanBase 开源生态总监、OceanBase 开源社区负责人封仲淹这篇文章从用户非常关心的一个问题着手, 如何降本增效, 如何充分利用历史硬件, 使用混闪磁盘(ssd + 机械盘) 来降低成本, 并通过大量的测试来验证其可行性, 有很强的说服能力以及非常贴合用户比较关心的问题。

———–     以下为投稿正文     ———–

目前生产环境OceanBase数据库集群部署一般要求磁盘类型为SSD存储,OceanBase的存储高压缩比,大大节省了磁盘存储空间,但面对海量历史归档库等场景,仍存在存储不够用、计算资源浪费等问题。本文探讨了混闪机型(事务日志盘采用纯SSD,数据盘采用机械硬盘)的可行性,通过详尽的验证过程,得出不同规格、不同场景下混闪机型相对纯闪机型的性能损耗及稳定性表现。同时结合生产环境的实际应用案例,为海量数据场景下部署OceanBase提供了参考。在满足业务稳定性、性能要求的前提下,使用混闪机型进行部署,可大大降低硬件资源使用量、解决纯闪机型资源不足、存量资源无法使用等问题。
01
背景

OceanBase数据库的存储引擎基于LSM-Tree架构,基线数据存磁盘,增量数据直接写内存。当内存的增量数据达到一定阀值时,会触发增量数据落盘(转储),同时每天晚上的空闲时刻,系统也会自动进行全局动静数据的归并,生成基线数据(合并)。通过这种准内存的增量数据处理,可以大大提升增量数据增删改的性能。另外,由于基线数据是只读的,可以采用比较激进的压缩算法,在不损失查询性能的条件下,可以做到很高的压缩比。为了保证数据的持久性,在增量数据写内存的同时会将redo_log落盘并同步给从副本,满足多数派成功落盘的情况下事务才是成功的,同时转储合并也会有集中的磁盘IO操作,为了保证数据库的高性能,OceanBase官方会要求使用SSD存储来部署集群。

根据我们的理解,使用SSD存储主要是为了提高性能,有一些应用对性能要求并不高,所以我们之前也部署了一些机械盘的集群。在运行一段时间之后,陆续出现了一些clog不同步、集群不稳定,甚至于集群瘫痪的问题,为此我们也及时进行了固态盘的替换,但我们也一直没有停止对机械盘部署的探索。在看到OceanBase官网发表的《数据库历史库,成本与性能不可以兼得吗?https://open.oceanbase.com/blog/12198675456)文章后,我们了解到使用机械盘来部署OceanBase也是可行的,于是我们也及时与文章作者进行了沟通,了解到了详细的使用场景与部署方式,得知对数据实时性要求较高的事务日志使用固态盘部署,数据盘使用机械盘部署的方案是可行的,于是,我们对这种混闪机型部署方式进行了验证。以下是详细验证过程。

验证说明:

本次测试验证主要针对全闪机型与混闪机型进行对比

全闪机型:磁盘全部为SSD

混闪机型:事务日志盘为SSD(本次测试为NVME),数据盘为HDD

数据库版本:4.2.1.1

测试验证资源

全闪机型:

麒麟ARM*3:国产化产品(ARM):CPU32core*2/内存512G/硬盘SATASSD960G*12

混闪机型:

麒麟ARM*3:国产化产品(ARM):CPU32core*2/内存512G/硬盘NVME1.8T*2+SATAHDD8T*12

验证场景1:批量入库


8c16G16c32G32c64G64c128G
全闪5490385870178158221443
混闪3862261772121918164340

结论:批量入库场景下,性能随规格线性增长,32c64G规格后,性能增长趋缓,混闪机型比全闪机型性能下降约29%。

验证场景2:普通入库


8c16G16c32G32c64G64c128G
全闪24490480798744091702
混闪20513407685651156352

结论:普通入库场景下,性能随规格线性增长,32c64G规格后,性能增长趋缓,混闪机型比全闪机型性能下降约26%。

验证场景3:普通只读


8c16G16c32G32c64G64c128G
全闪57283106498173308198595
混闪5301096702166397188010

结论:普通只读场景下,性能随规格线性增长,32c64G规格后,性能增长趋缓,混闪机型比全闪机型性能下降约6%。

验证场景4:普通读写


8c16G16c32G32c64G64c128G
全闪读3602969911131861148802
全闪写1801349565937440
混闪读3410261301111449125255
混闪写1705306555726262

结论:普通读写场景下,性能随规格线性增长,32c64G规格后,性能增长趋缓,混闪机型比全闪机型性能下降约12%。

验证场景5:TP综合测试tpcc


8c16G16c32G32c64G64c128G
全闪3512782656137854158995
混闪2804267327118766157774

结论:综合事务TPCC测试,混闪机型比全闪机型性能下降约14%。

验证场景6:稳定性测试

使用sysbench进行压力测试,设置并发度为300,在普通读写场景下,数据库可以稳定运行72小时。

验证结论:

通过对不同规格下各场景测试,混闪机型在入库场景下比全闪机型性能下降约28%,只读场景性能下降约6%,综合读写性能下降约13%。

在稳定性方面,通过72小时sysbench高并发持续读写,数据库稳定运行无异常。但当前测试无法模拟实际生产环境复杂场景,OceanBase库在真实生产环境复杂场景下可能更易出现转储合并异常问题,影响集群稳定。

混闪机型用高性能的NVME或SSD来存储需实时落盘的事务日志,用HDD来存储数据量较大的业务数据,适用于对性能要求不高、业务相对简单、数据量较大的历史库、日志库、备份库等场景。

通过测试验证,混闪机型相比纯闪机型,会有20%左右的性能下降,稳定性方面也没有发现有直接的影响,这个结果极大的鼓舞了我们,因为我们有大量历史库、日志库场景,数据量庞大,但在线业务较少,对性能、计算资源要求不高。为此,我们即时进行了混闪机型替代,针对日志库场景,有业务一天的日志量在近20亿条,增量数据考虑多副本在4T左右,存储1个月数据需要纯闪机型机器30台。进行混闪机型替代后,只需要3台机器即可满足需求,一下子节省机器27台,仅这一个场景便节省硬件投资近300万元。另一方面,存量资源池存在大量机械盘主机,这样这些存量资源得以利用,避免了出现大量资源浪费的情况。

02

总结

经过对混闪机型(即事务日志盘采用纯固态硬盘SSD,数据盘采用机械硬盘HDD)在性能与稳定性方面的严格测试与验证,结果显示,相较于纯闪机型,混闪机型在性能上约有20%的降幅,但在OceanBase4.x版本上能够保持持续且稳定的运行。混闪机型特别适合于那些对性能要求不苛刻、业务逻辑相对简单但数据量庞大的应用场景,诸如历史库、日志库、备份库等。通过实际生产环境的验证,其可行性得到了充分证实。

鉴于普通机型机械硬盘相较于固态硬盘在存储容量上通常高出一个数量级,混闪机型在这些特定场景下能够显著降低约90%的硬件成本。这一优势不仅大幅削减了硬件投入,还显著提升了资源利用率。以电信运营商的日志库为例,电信业务涉及大量且多元化的用户接入,除BOSS核心系统外,还会有手机营业厅、网上营业厅、各级子系统以及代理商等,通过服务调用日志分析,可以为业务运营提供宝贵的决策支持。采用混闪存储方案,在减少硬件成本的同时,还能提供更长时间的数据存储,进而为运营决策提供更加精准的数据支撑。

此外,混闪机型的引入打破了纯闪机型在OceanBase数据库部署上的单一限制。在当前信创替代加速、IT技术日新月异的背景下,大大缩短了IT设备的更新换代周期,许多被替换下来的设备,其使用寿命往往远未达到6-8年的报废周期,弃之可惜。而这些设备虽然计算能力可能不是最优,但拥有高容量的机械硬盘。通过混闪部署OceanBase的方式,这些旧设备的利用价值得到了显著提升。同时,对于一些大公司而言,其设备采购往往涵盖多种机型,混闪机型的部署方式不仅拓宽了OceanBase在部署场景上的适用范围,还为多样化的应用场景提供了更加灵活、经济且高效的解决方案。


- END -


IT168与ITPUB技术社区强强联手,收集数百款主流数据库产品,重磅推出“数据库全景图”,旨在打造一款集知识普及、产品对比、选型参考于一体的综合性资源平台。“数据库全景图(11月版)”可扫描上方左侧二维码回复关键词获取,识别右侧二维码直达“数据库全景图”链接(右上角浏览器打开获取更好体验)。

ITPUB
ITPUB官方账户,分享社区技术干货内容,了解社区最新动态,参与社区精彩活动。
 最新文章