近日,共享充电宝公司小电科技(以下简称“小电”)上线 OceanBase,其业务、交易系统已全面升级至 OB Cloud 云数据库,数据存储成本降低超 75%,复杂查询秒级响应、性能提升 10 余倍,运维效率显著提升,保障小电用户的每一笔「充电」都算数。
小电成立于2016年,是行业内领先的科技驱动型公司。基于强大的商业物联网技术及卓越的科技创新能力,目前其移动充电业务已覆盖全国 2700 多座县级以上城市,让超过 4.5 亿用户轻松智享品质生活。针对用户不同的消费场景,小电在大型交通枢纽、连锁餐饮品牌及娱乐休闲等消费场所布置大型柜机、小型柜机、移动式充电设备等多形态产品,布局打造覆盖全国的共享充电综合服务网络,让用户随时随地享受扫码充电的便捷服务。
一、小电的业务架构,为何考虑选型 OceanBase
小电业务的特殊性,决定了其既“2C”又“2B”,2C 的部分包括物联网管理平台和租赁平台;2B 的部分包括销售团队去签约和管理商户的平台、以及运维和设备管理的平台;此外还有由中台统一的研发管理、运维以及供应链平台,提供全站研发和运营维护的能力。
除了自身业务要求外,财务提供业财一体化的资金管控和调度,每产生一个订单后台资金账户都会做一些实时清算工作,所以财务系统同样非常重要,中间不允许有任何资金上的损失。
而这些平台之下,小电的数据层被划分为三层,由业务/交易数据层、聚合数据层(聚合数据库/大型数仓)、分析数据层组成了原始数据聚合架构,进一步支撑了小电上层平台的稳定运行及业务的稳定增长。
○ 业务/交易数据层:提供业务过程的交易类服务,按照微服务粒度划分数据库实例;
○ 聚合数据层:对业务数据层的数据进行聚合,为业务数据提供了数据备份与整合;同时可以为开发平台、供应链、财务提供整合数据库视角,加速取数。聚合数据层采用多种数据库异构于业务数据层;
○ 分析数据层:使用聚合数据层聚合、加工过的整洁数据进行分析,数据挖掘等。
目前,小电所有业务涉及到的的数据库实例共 96 套,借助自研的数据同步工具,通过 Binlog 采集数据出来后分为 4 个矩阵放到业务数据聚合库,再为研发数据分析和业务返查提供支持,不难发现,这是一项工作量非常大的事情。
○ 矩阵1:业务数据的备份库,提供业务数据备份;
○ 矩阵2:开发平台的查询库,为开发平台提供统一数据视角;
○ 矩阵3:业务系统反查库,为业务系统提供统一数据视角;
○ 矩阵4:数据站分析预处理库,在数据入大数据系统分析前进行数据预处理,并储存部分大数据分析结果,供服务调用。
二、业务发展中,面临数据聚合架构升级
小电的移动充电业务具备如下特点:
第一,24小时不间断提供服务。作为与民生切实相关的共享充电宝企业,小电必须7*24h不间断为用户提供服务。因为即使是在凌晨,也有非常多的用户在使用产品,且大部分属于归还场景。
第二,百万级设备同时在线,海量数据。百万级数量的设备,几乎每隔五分钟就有上百万量级的新数据,每一台设备上充电宝的状态、电量、健康情况都需要进行监测告警,比如有的充电宝出现电量异常,那么运维人员还需要进行及时的运维工作。
第三,业财一体化涉及面广。除了正常的业务运营之外,小电所有业财一体资产的管理、设备的管理、供应链采购管理,包括生产流程以及产线上测试都全部实行了数字化。所以整个公司所有业务都是完整数字化的实体,任何一个数据变动对后面影响都会非常大。虽然表面上只是一个租赁,但事实上它背后会触发一系列的业务条件,是非常复杂的数字化业务系统。
近年来,小电也在积极扩大业务边界,不仅仅做充电宝平台的运营,同时还开始涉猎产业上游,即整个充电宝和设备的生产,从产品研发到生产制造到运营一体化。与此同时,原数据聚合架构开始面临挑战:
○ 海量数据带来衍生问题:随着小电的业务发展,业务数据体量已经达几十 TB,原数据聚合架构下数据冗余量极大,存储成本不断增长,存储扩容带来风险变高。
○ 数据链路复杂,运维成本攀升:异构场景下数据链路复杂,跨库查询时间被拉长,严重拖慢运维进度,运维时间成本不断变长。当下有限的运维人员维护众多集群,工作愈发繁杂,也亟待提升运维效率。
○ 查询性能降低,影响用户体验:小电原采用分库分表的聚合表需要做复杂的 join 或者 in 子查询,响应时间越来越长,影响服务质量和用户租借体验。
三、从选型到落地
综上,小电开启新数据库的选型之路。选型期间,小电内部成立了一个平台架构团队,由 DBA 和内部系统负责人组成,对市面上主流分布式数据库一一做了评测,结合实际情况重点从运维效率、存储成本进行综合考量,最终在今年上半年决定选择 OceanBase。
迁移期间,小电基于 OceanBase 的数据迁移、同步服务进行数据同步作业,同时OceanBase Binlog Service 提供与 MySQL 兼容 Binlog 兼容原 MySQL 工具体系接入使用。此前的 4 个矩阵即变为:
○ 矩阵1:业务数据的备份库,通道库基于分布式数据库打造,具备高可靠性,备份库不再需要;
○ 矩阵2:开发平台的查询库,为开发平台提供统一数据视角;
○ 矩阵3:业务系统反查库,为业务系统提供统一数据视角;
○ 矩阵4:数据站分析预处理库,在数据入大数据系统分析前进行数据预处理,并储存部分大数据分析结果,供服务调用。
小电 CTO 芦宇峰在 2023 OceanBase 产品发布会上,介绍了小电将数据库升级至 OceanBase 后三点主要收益:
首先,规模化降本。在刚开始业务数据还没有做更多迁移时,小电先将 OceanBase 应用于异构数据(即做业务支撑的数据),借助 OceanBase 的 LSM-Tree 高级压缩技术,数据存储压缩至原来的 20%-25%,数据存储成本降低超 75%。
其次,多租户提升运维效率。OceanBase 的多租户能力极大提升资源利用率、管理效率和安全性。此前,小电将业务拉到业务数据聚合库之后,需要拆分成四个集群去提供业务的服务,但使用 OceanBase 之后,利用租户内资源隔离功能就可以很好地隔离集群,改变数据链路架构,将多个异构库合并,显著提升异构数据场景的运维效率及资源整合效率,降低运行成本。
最后,原生分布式能力。OceanBase 解决了分库分表聚合表响应时间长的难题,通过对分库分表的聚合表做复杂查询,可以达到秒级响应,此前在 MySQL 上运行需要十几秒,甚至分钟级别,查询性能提升 10 余倍。
据芦宇峰介绍:“接下来,小电将采用租户承载原业务数据库实例,通过全套使用 OceanBase 数据迁移及同步服务,助力小电完成所有业务数据聚合库升级,进一步提高资源整合效率,降低运行成本!”