宁德时代新能源科技股份有限公司(简称宁德时代),自2011年成立以来,已迅速成长为全球顶尖的新能源创新科技企业,专注于为全球新能源领域提供卓越的解决方案与服务。公司总部坐落于福建省宁德市,并在全球范围内设立了六个研发中心及十三个电池生产基地,彰显其强大的全球布局。
宁德时代的主营范畴涵盖了动力电池、储能电池以及电池回收利用产品的研发、制造与销售。公司凭借在动力与储能电池领域的深厚积累,掌握了从材料、电芯、电池系统到电池回收再利用的全产业链核心技术及制造能力。
近年来,随着业务的迅猛扩张,宁德时代的数据库规模实现了十几倍的增长。面对如此庞大的业务体量,传统的运维模式显得力不从心。为此,宁德时代在经过深入调研后,决定引入OceanBase数据库及其高效的自动化运维体系。
本文为宁德时代投稿,介绍了宁德时代选型 OceanBase 数据库的过程及收益。
一、实例指数级增长,MySOL 遭遇瓶颈
随着微服务框架的使用,小应用越来越多,数据库实例数量呈指数级增长,日常运维压力大,也遇到了很多问题。
1、MySQL 主从延时。
业务系统中的一些大事务,经常导致 MySQL 的同步出错或延时很高,在这种情况下,容灾基本上是无效的,甚至会导致系统停服。
2、MySQL 难以扩展。
在业务高速发展时期,数据库的QPS、TPS、容量等不断增加,然而单台服务器的配置有限,不可能无限满足业务。当资源达到瓶颈时也考虑分库分表的方案,但对于业务侧来说,改造成本较高;对 DBA 来说,运维成本增加。并且分库分表的方案也无法完全应对合表做报表分析的场景,对业务有损。
3、MySQL DDL变更困难。
当业务需要发版,做表结构改造时,MySQL 5.7 支持的 online DDL 类型有限,借用其他开源工具则耗时较久。
4、MySQL 运维管控难。
面对数据库实例数量几十倍的增长,运维人力严重不足,且难以招到匹配的人才,只能从自动化运维方向入手,将尽可能多的运维操作都标准化、自动化,比如交付、扩容、切换、权限校验、审计、SQL审核等。
即便如此,在某些场景下,MySQL 也不能满足预期,比如数据库监控问题。当某个业务系统使用数据库有抖动等问题时,找不到历史监控数据,无法定位根因。
另外,MySQL 没有原生慢 SQL 监控,只能从数据库实例中逐一收集,再逐条分析语句,如果应用达到成百上千个,收集任务需要非常大的工作量。
二、选型分布式数据库OceanBase
基于上述 MySQL 的痛点,宁德时代开始寻找新的数据库解决方案。最终选择 OceanBase,主要是因为其以下几个方面的能力。
第一,高度兼容 MySQL。宁德时代现在使用的微服务架构,几乎都搭建在 MySQL 之上,在替换数据库过程中,希望尽量减少应用改造工作量,并且能支持以往在 MySQL 的用法,满足业务需求,否则数据库的迁移工作难以进行。OceanBase 兼容 MySQL 大部分语法,便于顺利迁移。
第二,高性能、高扩展性。MySQL 在宁德时代的业务系统中主要支撑 TP 在线业务,很多业务系统对于数据库的响应时间较为敏感,一个接口整体时延要求可能都在毫秒级别。因此,在改造过程中,如果有接口与原先的 MySQL 相比波动超过几十、上百毫秒,基本都要做优化。
从实际的测试结果来看,OceanBase 满足业务的性能要求。另外,当单台机器资源达到瓶颈后,可以利用 OceanBase 的分布式能力,直接加机器扩展集群,资源上限从此不再是问题。
第三,高可用能力强。OceanBase 基于 Paxos 协议的三副本高可用,满足了少数副本故障情况下 RTO<8s,RPO=0。业务侧无需担心主从延迟后,网络抖动误切换导致丢数据的问题,数据库可用性提升了一个级别。
第四,多租户及资源隔离。在人力与数据库实例数量不匹配的情况下,最好每个业务在 OceanBase 中单独一个租户,通过一个集群设置几十、上百租户的方法,将业务使用的数据库集群数量降下来,从而减少 DBA 的运维工作量。通过这种方式,原来成百上千的 MySQL 实例,直接被压缩成几十个 OceanBase 集群。
第五,运维简单。OceanBase 有丰富的周边生态工具,比如OCP、ODC、OMS、OMA等。
通过OCP管理 OceanBase 业务集群,不再需要手动做自动化运维开发,OCP 满足了日常的运维需求。最常用的功能有集群运行过程中的性能监控、SQL 诊断能力;集群如果出现故障,也有配套的监控告警,备份恢复、集群部署删除等也全部支持。
而 OMS 满足从 MySQL 到 OceanBase 的数据迁移,一站式的迁移方案,还有反向增量的回滚方案,在应用迁移过程中省心省力。值得一提的是,宁德时代也打通了各个工具的单点登录、权限控制能力,满足内部的安全管控要求。
三、应用迁移节省 30% 计算存储资源
从 2024 年 3 月到 11 月,宁德时代将 MySQL 数据库大量迁移到 OceanBase 集群,计算存储资源节省 30% 左右。
在 OceanBase 丰富的工具体系的配合下,解决方案变得非常周全:OMA 负责迁移前的兼容性评估和性能压测;OMS 负责数据的迁移和故障无损回退;OCP 负责迁移后系统的监控和性能优化建议;ODC 管控数据权限,阻止了非授权变更和敏感数据的泄露。
四、未来持续探索降低运维成本
到目前为止,宁德时代使用 OceanBase 近一年,打开了某些系统的高并发和大数据量导致的性能瓶颈,为业务发展提供了强力支撑。
此外,DBA 的运维效率也得以提升,大量 MySQL 迁移到 OceanBase 后,运维侧表示“没那么忙了”。开发和项目组每天都可以收到慢 SQL 的清单,系统的性能和用户体验也在不断上升。相信后续完成 100% 应用迁移至OceanBase后,运维侧、开发侧能够获得更多便利性和技术成效,从而更好地助力业务。
2024 年 10 月 23 日,OceanBase 发布了面向 TP 场景的长期支持版本 OceanBase 4.2.5 和面向 AP 场景的 GA 版本 OceanBase 4.3.3,在KV、向量等方面的功能不断增强。宁德时代将在 2025 年的新业务场景中探索 OceanBase 新版本的能力,满足持久化存储需求,以及统一架构降低运维成本。




