联华集团: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

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优