联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十)

本文主要是介绍联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OceanBase《DB大咖说》第 10 期,我们邀请到了联华集团的CTO楼杰,来分享他如何思考 IT 业务价值,以及联华华商数据库的升级实践。

楼杰从大学毕业后就进入了联华工作,并一直扎根在近 20 年的,从一名底层的技术员成长为 CTO,全面负责联华信息系统的运营和规划工作。长期从事在零售领域,使得楼杰不光是一名 IT 技术专家,更是一名业务专家。成为为 CTO 以后,楼杰的视角也更多地开始站在业务层面,他与他的团队历时 5 年,推出了业财一体化,并真正开始服务业务经营。在联华华商的数据库面临升级时,他除了关注系统性能、成本等以外,更愿意从业务来思考,并为业务赋能。


杭州联华华商集团(以下简称联华集团)是一家由联华超市股份有限公司控股、杭州市商贸旅游集团有限公司和宁波联合集团股份有限公司参股的有限责任公司,大名鼎鼎的联华连锁超市就归属该公司。

联华集团总部位于杭州市,在浙江全省 11 个地级市拥有网点 568 家,全年营业收入近 140 亿元,已连续 22 年位居浙江省内连锁超市行业第一,拥有购物中心、大卖场、综合超市、标准超市、精品超市、便利店、校园店、品类店等零售业态。

对于拥有如此之多业态、年营业额达 140 亿元的联华集团,构建一个高效、可靠的业务系统至关重要。为了支持公司业务规模的高速成长和经营业态的不断丰富,集团业务系统一直在不断进化:业务系统从私有部署走向云端,架构从集中走向分布,数据库也从集中式走向分布式中间件+集中式数据库,最后走向了全分布式数据库,为联华的数智化转型提供了有力的支持。

一、频繁扩容,运维不堪重负

在公司业务系统持续演进的过程中,联华集团先后采用了多种数据库。早期以 IBM 的 Informix 数据库为主,期间也用过 Oracle、SQL Server 等。2017 年,集团业务上云后,数据库开始逐渐转向 MySQL、RDS 等,同时,采用了大数据平台和数据仓库等进行经营分析。

联华集团 CTO 楼杰见证了整个过程。楼杰介绍,Informix 是联华规模化使用的第一代数据库,支持联华从 2002 年 3 个亿的销售规模成长到 2008-2010 年的 100 亿规模。但当业务规模达到 100 亿以后,继续使用 Informix 明显开始感到吃力。为了分解数据库的压力,联华集团对业务功能进行了拆分,商品管理、会员管理、仓配系统、门店进销存功能等先后从原来的系统中独立出来。

拆分后的系统稳定运行到了 2015 年,系统再次面临升级。根据公司业务转型的要求,需要进行线上线下一体化。线上线下一体化意味着所有促销活动、商品价格无论是线上还是线下其解析规则必须一致,也就是要采用同一套引擎。

然而,线上负载和线下有很大不同,线上业务有明显的波峰波谷特性,为了应对高峰流量,联华在数据层引入分布式技术,DRDS 就是这个时间引入的。联华最先在卡交易系统采用了 DRDS,后来会员系统、营销系统、商品系统等也先后进行了分布式架构的转换。

这种架构进入 2021 年后,伴随着集团业务规模的增长,业务系统感受到更大的扩容压力:每次遇到大促等促销活动就需要扩容,扩容频繁导致成本攀升,同时也给运维人员带来很大负担。

以卡交易系统为例,每到大促的时候,线上、线下的业务并发量同时上来,需要对 DRDS 节点进行扩容,还要对其他节点进行扩容,大促结束再缩回来。这套流程下来很麻烦,运维压力很大。

为了提高系统可伸缩性,减少运维压力,联华集团引入了 K8s 的容器技术,同时,决定在数据层引入分布式数据库,数据库选型由此提上日程。

二、顺利升级,成本不变性能升级

新数据库需要支持多读、多写能力,要具有高度扩缩容能力,能应对海量数据的管理。另外,还要有多租户能力,因为将来数据库会逐渐统一,收敛到 OceanBase 等少数几个数据库。”楼杰说。

在市场上能满足联华集团的数据库并不多,经过前期的测试和综合评估,集团很快就选定了 OceanBase。2021 年初,联华开始数据库的迁移工作,先是卡系统业务,接下来是业财业务和线上 App。楼杰介绍,上线的这几个系统原来采用是DRDS+MySQL,而 OceanBase 对 MySQL 的兼容性非常好,语法上差异很小。

“此外,OceanBase 的保障团队非常给力,为我们提供了很多帮助,双方合作用了两个通宵就把卡交易系统顺利升级到 OceanBase。”他说。

OceanBase 数据库的上线给内部运维带来很大方便的同时,用户的使用体验也有了很大改善。

首先,实现了资源整合,不再有扩缩容的压力。借助 OceanBase 大集群、多租户的隔离模式,将原来多套规格、多种异构数据库进行了资源整合,统一迁移到了 OceanBase,达到资源集约的目的。现在,通过租户的模式,还可以随时进行动态扩缩容,满足业务弹性扩缩容的需求。“联华在三年内基本不用考虑扩缩容问题。”楼杰说。

其次,在保持成本不增加的前提下,性能提升 1-2 倍。原来业财系统的报表要 3-10 分钟才能出来,现在 1 分钟内就会出来,体验明显改善。同时,存储容量直接减少了一半以上。

“我们考虑到后续会有业务不断迁移过来,还有线上业务波峰非常明显,所以并没有刻意压缩成本。投入基本和以前基本差不多,但性能提升明显。”楼杰解释。

三、业财一体化,为精细化管理赋能

当然,联华进行数据库的迁移不只是为了降低成本和降低运维压力,更重要的是还提供了更多可能,来帮助联华的业务部门和管理层实现精细化管理,比如推进业财一体化,旨在为业务经营提供更多决策支持

此前由于数据库读写性能的限制,集团只能把各个门店每天的交易数据汇总后进行上传,上线 OceanBase 后,门店的每一笔交易实现了实时记录上传,400 多家门店实时提交,写的数据量增加了 1000 倍,给业务人员和管理层充分了解各个门店经营状况带来很大方便。这也是联华当初在选型时高度重视数据库的多读多写能力的重要原因之一。

楼杰介绍,现在联华可以清楚地算出门店每一笔交易其成本构成如何,是否赢利以及盈利细节等。以前,只能笼统地知道门店是赔还是赚,现在可以清楚知道每笔交易的赔或者赚。

精细化管理对公司业务经营非常重要,也是IT部门价值之所在。我们从 2017 年就开始大力推动业财一体化,目的也在于此。”楼杰说。

他解释,企业一般都有自己的财务报告也有业务报告。财务报告应国家管理要求,比较标准,它的粒度、维度、视角和业务部门都有很多不同,比如统计口径不同等,财务报告和业务报告两者不能很好匹配,非常不利于对企业经营状况的全面了解。业财一体化就是要改变这种状况,这就需要IT部门来做数据的整合和匹配工作。

“以前,管业务的人不懂财务,管财务的人不懂业务。如果两边数据能打通,业务和财务的人都可以非常清楚地看出实际经营状况,包括具体哪里的问题。这样可以更好地控制经营风险,更准确地进行销售预测。”楼杰说。

在过去的 5 年,联华在“业财一体化”上先后经历了管理在线化、管理数字化、管理一体化阶段,如今已经进入了业财融合阶段,给公司管理层进行业务分析、准确把握经营状况、进行管理决策带来了非常大的方便,也让IT部门成为营收驱动力,帮助IT部门从成本中心逐渐转向价值中心和利润中心。

为了进一步提升数据分析能力,楼杰透露,目前,联华正在评估 OceanBase 4.3 的 HTAP 能力。以前联华采用了其他数据仓库来进行数据分析,这个数据仓库部署在一个离线的数据中心,如果能用 OceanBase 的 AP 能力,这样不仅可以节省成本,还能实现实时分析,对于联华集团的经营和决策也会带来更多的方便。

这篇关于联华集团:IT团队如何实现从成本中心提升至价值中心|OceanBase 《DB大咖说》(十)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074863

相关文章

MySQL 多表连接操作方法(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)

《MySQL多表连接操作方法(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLOUTERJOIN)》多表连接是一种将两个或多个表中的数据组合在一起的SQL操作,通过连接,... 目录一、 什么是多表连接?二、 mysql 支持的连接类型三、 多表连接的语法四、实战示例 数据准备五、连接的性

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll