本文为《DB大咖说》第七期的精简梳理。
关系型数据的典型应用场景是 OLTP。然而,在众多应用场景中,不仅需要 OLTP 能力,还需要 OLAP 能力,这就有了 HTAP 的兴起。金地集团的核心系统——新一代预算管理系统充分利用 OceanBase 的 HTAP 等能力,仅用 1 年时间完成了从开发到投产上线,测算性能效率提升 90 倍,超预期达成全集团的预算管理。
《DB大咖说》第七期我们邀请到了金地集团信息事业部首席产品官陈自水来分享这一过程。陈自水是一位资深的产品技术专家,在房地产业耕耘多年,在软件开发和产品管理领域有近20年的实践经验。
近几年来,作为支柱产业的房地产行业从求规模转向求生存,一些房地产企业纷纷进行数字化转型,加码数字化技术,致力于用科技的力量来实现降本增效以防范经营风险。
作为一家初创于 1988 年、以房地产为主营业务的综合性上市公司,金地集团一直高度重视数字化技术,大力推动数字化技术与房地产业务的融合,提升企业自身竞争力。金地集团自研的新一代预算管理系统就是具体举措之一。基于 OceanBase 数据库研发的新一代预算管理系统,解决了上一代系统存在的性能不足、并发量限制等瓶颈,拉通了公司项目经营计划、公司年度经营的目标以及战略发展的规划,有力支撑了金地集团数字化运营的战略,保障了金地集团在规模利润、现金流等多个经营目标的达成。
一、下定决心开发新一代预算管理系统
在房地产行业,预算管理系统是公司最核心的生产系统之一。预算管理系统通过排布未来的销售计划,根据各个项目的销售计划,去测算公司未来的营收情况。对于公司防范经营风险、提高运营效率、提升盈利能力非常关键。
房地产项目的周期通常很长,短则三、五年,长则十年、二十年。在如此长的时间周期里,一个项目能不能挣钱?因为能挣钱才能继续拿地开发。此时,预算管理系统可以通过一套算法模型来进行预测,帮忙房地产企业做出正确的经营决策以避免风险。
预算管理系统中的计算链条很长,如金地集团的系统计算链条长达 300 多级,涉及环节很多,计算逻辑非常复杂,还涉及复杂的算法模型等,可以说是一套集成了数字化技术和行业 Know-how 的专业系统,门槛很高。预算管理系统的数据量很大,金地集团有 500 多个项目,每个项目类似一个工厂,都是一个盈利单位。
此前,金地集团先后有过两套预算管理系统。第一代是与国内一家 ERP 厂商合作开发的,随着金地业务的发展,这套系统越来越慢,一次预算测算要等很长时间才能出结果。后来,金地集团采购了国外某大厂商的产品,但由于公司成长很快,过了几年发现该数据库也无法满足自己的要求。“最大的一个问题是,它只能是单机运行,且并发量十分受限,系统很容易崩盘。明显不具备分布式的能力,满足不了我们的需求。”金地集团信息事业部首席产品官陈自水表示。
金地集团有 500 个项目,每个月、每个季度都会做各种经营测算,遇到了政策变化或者项目有大的变化也会随时登录这个系统进行测算。旧系统计算一次至少需要 6 分钟,一次只能提交两个任务,剩下的就只能排队等待,严重影响业务进程。
“每到高峰时间点就要排队,有时会有 100 多个在排队,如果都算完至少需要7天。时间窗口就这么多,甚至出现了需要依靠闹钟半夜提醒,登录系统进行测算的极端情形。”陈自水说。
同时,新旧系统之间兼容性弱,数据不能及时更新。当工作人员跑一个大量级的项目时,系统会经常宕机导致耽误测算进行。老预算管理系统中的数据库是一个多维数据库+底层关系型数据库,数据需要从关系型数据库导入,然后重新建 cube,既延误了时间,也增加了成本。
实际上,现在主流的预算管理系统也都是基于多维数据库,但多维数据可会带来数据空洞、数据爆炸以及模型受约束等问题,这也是金地集团最后选择自研预算管理系统的重要原因。由于市场上的预算管理系统都无法满足金地集团的需求,2021 年年底金地集团决定自己开发一套新的预算管理系统。
二、性能考量为首要,选择自研数据库OceanBase
数据库是预算管理系统中的重要组成部分,也是预算管理系统各种能力的核心支撑。该选择哪一个数据库作为新一代预算管理系统的底层数据库马上摆到了项目组面前。
显然,经历过前两套预算管理系统后,大家对于系统的性能不足都有了切肤之痛。因此,性能被列为首先要考虑的指标。
“过去的经历非常深刻。我们希望,新的数据库需要具有分布式的能力,能够按需扩展。当我们需要更大的计算能力和更高的并发需求时,它能够扩展、能匹配得上。”陈自水说。
同时,数据库对分析能力的支持也是金地集团非常看重的。经营分析系统本质上是以分析为主,同时,其计算逻辑业非常复杂。因此,金地希望所选用的数据库既具有事务处理能力,同时也有数据分析的能力。
“在编制预算时涉及逻辑运算,需要逻辑运算能力,在预算编制完成后,需要进行分析,需要聚集运算,简而言之,就是 OLAP 和 OLTP 都需要。而 OceanBase 既能支持 OLTP 也能支持 OLAP 的 HTAP 能力非常适合金地的需求。” 陈自水说。
另外,为了解决性能的问题,金地在分布式数据库上研发了矢量计算引擎,来对逻辑计算和聚集计算进行解耦,通过矢量计算来解决逻辑计算的事务性问题。
其实,在金地集团的规划中,这个数据库并不只是数据的存储,还在一定程度上起到数据中台的作用。金地集团内存在大量业务系统,是不同时期由不同的供应商开发的。不同系统之间缺乏联通,而预算管理系统涉及众多业务系统,需要将各个系统中的数据汇聚到该数据库中。因此,这个数据库需要具有强大的承载能力,能够高效率处理各种类型的数据,还能够方便与其他业务系统进行对接。
综合上述考虑因素,金地集团最后选择了 OceanBase。在金地集团看来,OceanBase 的分布式特性能满足预算管理系统在性能上的要求、HTAP 能力能以更高的效率和更低的成本满足混合负载的要求、对 MySQL/Oracle 等数据库的兼容能力为数据的汇聚提供了便利,可以做到大部分的业务少量修改后即可自动迁移,真正做到一库解决业务问题,同时降低数据迁移成本,也兼顾未来的技术演进。
三、新系统效果显著,“走出去”成为下一阶段目标
金地集团新一代预算管理系统从 2021 年 12 月份立项开始建设,到去年上半年基本完成了这个产品的底座,即完成了基础的功能,包括自研矢量计算引擎、公式依赖解析引擎、表单引擎等。后面又用了几个月来打磨模型,并于去年 10 月份开始在全国推广,前前后后也差不多用了一年的时间。
新的预算管理系统对比上一代效果显著。陈金水介绍:过去,预算管理系统实现一次测算需要 6 分钟左右。而如今借助 OceanBase 分布式等能力,金地集团工作人员完成一次测算大概只需要 4.1 秒。全集团测算从 25 小时缩短至 2 分钟,基本上已经达到了地产行业头部的水平,测算性能效率整体提升了 90 倍。
除此之外,金地集团应对系统的并发能力提升了 25 倍。比如,过去工作人员一次填报完一个项目,大概要测算 10-20 次,老系统大概得要跑 7 天。如今在基于 OceanBase 的新系统上,完成同样的测算,只需要 4 个小时。
“新的预算管理系统帮助我们构建起来‘四预一核’的数字化经营管理体系。” 陈自水说,所谓“四预”是指预测、预警、预判、预演。预测就是预知未来五年或者更久以后公司的经营情况;预警是指如果预测的结果跟实际执行出现偏差就报警;预判就是出现了偏差后帮助寻找原因;预演是找到原因以后试着去纠偏。“核”是指考核,就是依据经营目标达成情况输出考核数据,实现管理的闭环。
新一代预算管理系统的体验明显改善,也是使得金地集团相关人员更愿意利用这个系统来进行测算,从而为业务经营提供更多的支持,帮助企业更好控制风险,这也是对技术人员最好的奖赏。
陈自水表示,在产品的研发过程中,金地并没有把它当成一个项目来做,而是采用了产品化的思路。研发人员花了很多时间在进行模型的打磨,而且底座和模型是分开的。背后的原因在于金地集团有一个愿望,希望实现预算管理系统的产品化,能对外输出到其他企业,不止是房地产行业、甚至可以是金融行业、制造行业的企业。
“我们的底座是通用的,可以针对其他行业来建模,结合行业特点打造出面向该行业的一个定制产品,能应用到其他企业。如果能走出去,这无疑也是该产品价值的又一次体现。”陈自水说。
写在最后
《DB大咖说》是一档立足数据库领域,关注职业成长与前沿趋势,主要面向架构师、CTO/CIO、DBA、业务负责人、CEO 等推出的集「文音视频」于一体的原创栏目。我们初衷是围绕数据库领域的职业发展、趋势洞察、选型实践等话题,邀请领先企业的实干者、数据库领域的资深专家,从自身的职场积淀出发,结合所见所闻所思所感,输出一些对行业有价值的优质内容和职场方法论。