联华集团: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大咖说》(十)
OceanBase《DB大咖说》第 10 期,我们邀请到了联华集团的CTO楼杰,来分享他如何思考 IT 业务价值,以及联华华商数据库的升级实践。 楼杰从大学毕业后就进入了联华工作,并一直扎根在近 20 年的,从一名底层的技术员成长为…...

计算机系统基础实训五—CacheLab实验
实验目的与要求 1、让学生更好地应用程序性能的优化方法; 2、让学生更好地理解存储器层次结构在程序运行过程中所起的重要作用; 3、让学生更好地理解高速缓存对程序性能的影响; 实验原理与内容 本实验将帮助您了解缓存对C程序性能的影响…...
PHP框架之CodeIgniter框架
CodeIgniter框架详细说明 CodeIgniter是一个简单而强大的PHP框架,专为快速开发Web应用程序而设计。它遵循MVC(模型-视图-控制器)设计模式,为开发者提供了丰富的功能和灵活性,同时保持代码的轻量级和易于管理。CodeIgn…...

714. 买卖股票的最佳时机含手续费
714. 买卖股票的最佳时机含手续费 原题链接:完成情况:解题思路:ExplanationSummary 参考代码:_714买卖股票的最佳时机含手续费 错误经验吸取 原题链接: 714. 买卖股票的最佳时机含手续费 https://leetcode.cn/probl…...

Linux系统查看程序内存及CPU占用
文章目录 1.free命令2.top命令3.PS命令3.1 查看内存占用前10位:3.2 查看CPU占用前10位 参考文档 1.free命令 可以通过free命令查看物理内存占用情况 #单位KB free #单位MB free -m #单位GB free -h 2.top命令 输入top命令,会输出定时刷新的程序PID、内…...

数据结构7---图
一、定义 对于图的定义,我们需要明确几个注意的地方:一线性表中我们把数据元素叫元素,树中叫结点,在途中数据元素我们则称之为顶点(Vertex)。 对于图的定义,我们需要明确几个注意的地方: 线性表中我们把数据元素叫元素…...

Excel 如何复制单元格而不换行
1. 打开excle, sheet1右键单击>查看代码>插入>模块 输入代码 Sub CopyText() Updated by NirmalDim xAutoWrapper As ObjectSet xAutoWrapper New DataObject or GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")xAutoWrapper.SetText ActiveC…...

前端 CSS 经典:mix-blend-mode 属性
前言:这是一个混合属性,作用是将两个颜色混合生成一个新颜色。可以将视频和文字相融合,产生动态文字效果。 效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" />&l…...
OpenCV--滤波器(一)
低通滤波器 代码和笔记 代码和笔记 import cv2 import numpy as np""" 滤波器--用于图像处理的重要工具,它们可以根据图像中像素的邻域信息来修改像素值,以实现去噪、模糊、锐化、边缘检测等效果。低通滤波器(Low-pass Filte…...

MK的前端精华笔记
文章目录 MK的前端精华笔记第一阶段:前端基础入门1、(1)、(2)、 2、3、4、5、6、7、 第二阶段:组件化与移动WebAPP开发1、(1)、(2)、 2、3、4、5、6、7、 第三…...
低代码平台框架:开源选型、实践与应用深度解析
文章目录 1.1 低代码平台的重要性与应用背景2.1 表单建模2.2 流程设计2.3 报表(打印)可视化2.4 代码生成器2.5 系统管理2.6 前端UI开源选型3.1 如何选择合适的开源框架3.2 市场上的主要开源低代码平台对比3.3 开源项目的技术栈与优缺点分析 5.1 成功案例…...

深度学习500问——Chapter12:网络搭建及训练(3)
文章目录 12.3.5 Caffe有哪些接口 12.4 网络搭建有什么原则 12.4.1 新手原则 12.4.2 深度优先原则 12.4.3 卷积核size一般为奇数 12.4.4 卷积核不是越大越好 12.5 有哪些经典的网络模型值得我们去学习的 12.6 网络训练有哪些技巧 12.6.1 合适的数据集 12.6.2 合适的预…...

Android使用DevRing框架搭建数据库实体类以及使用
一、引用DevRing依赖 //导入DevRing依赖implementation com.ljy.ring:devring:1.1.8创建数据库表的依赖implementation org.greenrobot:greendao:3.2.2 // add libraryimplementation org.greenrobot:greendao-generator:3.0.0 二、修改工程目录下的.idea->gradle.xml文件&…...
高效BUG管理:定级、分类和处理流程
高效BUG管理:定级、状态跟踪与处理全流程 前言一、BUG的定义二、BUG的定级三、BUG的状态四、BUG的处理流程1. BUG报告2. BUG确认3. BUG修复4. BUG验证5. BUG关闭 五、常见问题与解决方案六、总结 前言 在测试工作中,BUG的定级和分类是一个重要环节&…...

服务器数据恢复—raid5热备盘同步失败导致阵列崩溃如何恢复数据?
服务器存储数据恢复环境&故障: 某品牌DS5300存储,包含一个存储机头和多个磁盘柜,组建了多组RAID5磁盘阵列。 某个磁盘柜中的一组RAID5阵列由15块数据盘和1块热备硬盘组建。该磁盘柜中的某块硬盘离线,热备盘自动替换并开始同步…...

Ubuntu iso 镜像下载 步骤截图说明
Ubuntu镜像下载,在这个网址: Enterprise Open Source and Linux | Ubuntu 步骤如下图所示: 1、登入网址 2、点击Get Ubuntu 3、点击Download Ubuntu Desktop 后续点击Downloadload 24.04 LTS直接下载就行 如果需要下载其它版本…...

git拉取gitee项目到本地
git安装等不做赘述。 根据需要选择不同操作 1.只是单纯拉取个项目,没有后续的追踪等操作 不需要使用git init初始化本地文件夹 新建一个文件夹用于存储项目,右键选择 git bash here 会出现命令行窗口 如果像我一样,只是拉取个项目作业&…...
力扣42.接雨水
力扣42.接雨水 前后缀数组 对于每个一个位置 求其前面最高高度pre_max[i] max(pre_max[i-1] , h[i])和后面最高高度suf_max[i] max(suf_max[i1] , h[i])当前i处的水容量 为min(pre_max[i] , suf_max[i]) - h[i] class Solution {public:int trap(vector<int>& …...
国产数据库与MYSQL兼容性?开发应该怎么选择?
国产数据库主要包括以下几种: TiDB:由 PingCAP 公司研发设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用等特性。 华为GaussDB…...
Spring框架中Bean的生命周期
Bean的生命周期通常指的是从创建到初始化,经过一系列的流程,最终销毁的过程。只不过,在Spring框架中,Bean的生命周期是由Spring IOC容器来管理的。在Spring中,我们定义Bean时,也可以自己指定初始化和销毁的…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...