标签 HTAP 下的文章

摘要:
中国联通使用的传统集中式数据库面临高并发、扩展难、运维复杂等痛点,于是其与 OceanBase 构建“企业版核心承载 + 社区版自主创新” 双轨体系,现已全面覆盖联通 B 域(业务支撑)、O 域(运营支撑)、M 域(管理支撑)全场景。其中,OceanBase 企业版攻克运营商最核心的B域40% 生产系统,支撑全球最大规模 “全国大集中” 核心业务。

当超 4 亿用户的通信消费、5G 服务、政企业务全部汇聚于 “全国一套系统”,当传统数据库的性能瓶颈,遭遇数字时代的 “数据海啸”,自研数据库如何扛起全球最复杂的电信核心业务?

近日,中国联通软件研究院(简称 “联通软研院”)与 OceanBase 的四年深度合作交出了震撼行业的答卷:

双方打造的 “企业版核心承载 + 社区版自主创新” 双轨体系,已全面覆盖联通 B 域(业务支撑)、O 域(运营支撑)、M 域(管理支撑)全场景,累计部署节点超 1000个。其中,OceanBase 企业版攻克运营商最核心的 B 域 40% 生产系统,支撑全球最大规模 “全国大集中” 核心业务;基于OceanBase 社区版自研的 CUDB 数据库规模化上线数百套系统,更以 AI 向量数据库创新应用 ChatDBA,为运营商智能化转型提供了可复用的创新方案。

这场合作见证了自研数据库技术从 “入局” 到 “破局” 再到 “引领” 的华丽转身。

破局 “全国大集中”:超 4 亿用户核心系统的分布式升级革命

在电信行业 “省集中” 为主流的格局下,中国联通率先推行 “全国大集中” 战略,以一套 cBSS 系统承载 31 省全业务、全客户、全渠道服务,支撑超 4 亿用户的 CRM、计费、结算等核心场景 —— 这是全球电信行业单体承载用户最多、集中化程度最高的业务支撑系统,其技术升级难度堪称 “在飞行的飞机上换引擎”。

此前,该系统长期依赖传统集中式数据库,即便后续升级为 “中间件 + 数据库” 架构,仍面临高并发性能瓶颈、扩展性不足、运维复杂等致命痛点:月初缴费高峰时 “一省慢、全国卡”,5000 万用户基数就触达集中式数据库性能上限;31 省业务 “共性收敛与个性保留” 难以平衡;复杂存储过程与多数据库类型导致升级改造难如登天。

OceanBase 的分布式架构成为破解困局的关键。作为 “全国电信唯一大集中核心业务支撑系统国产升级” 案例,OceanBase 企业版通过三大核心能力实现突破:

一是 “两地三中心” 部署模式,以Paxos 协议分布式一致性机制,实现 RPO=0(数据零丢失)、RTO<30秒的金融级容灾,相比传统集中式数据库的主备架构,容灾建设成本降低 50% 以上,支撑核心业务全年 7×24小时无间断运行;

二是多租户弹性扩缩容技术,将全国上千个节点物理资源池化,按业务需求动态分配 CPU、内存、IO,彻底解决资源争抢问题,计费中心查询性能提升 60%,政企中台并发处理能力翻倍,资源利用率从不足 40% 跃升至 80% 以上,硬件成本降低 60%;

三是深度兼容特性,完美适配 MySQL 与 Oracle 语法,让复杂存储过程、冷僻 SQL 语句无需大幅改写,实现 ERP 系统零改造平滑升级,B 域核心系统整体升级改造成本降低 70%。

更具创新性的是,基于 OceanBase 多租户能力构建的 “一库多服” 架构:通过镜像库将 10 余个业务中心的高负载查询请求从生产库剥离,既保障 “全国一套账” 的统一管理,又能灵活响应各省 5G 用户增长分析、政企客户关联图谱等个性化需求,仅用 1 周就完成所有数据库升级同步,成为支撑业务运营的数据枢纽。

自主创新加码:CUDB 引领开源生态规模化落地

在核心业务升级的同时,联通软研院并未止步于 “使用者” 角色,而是向 “开发者”“创新者” 转型。

2021 年 OceanBase 开源后,联通软研院仅用 13 个月就完成社区版深度优化,打造出分布式 HTAP 数据库产品分布式 CUDB,成为基于 OceanBase 社区版的最大规模应用案例。截至 2025 年 6 月,分布式 CUDB 已承载数百个业务应用,部署节点超 200 个,管理原始数据量近 300TB,广泛覆盖 O 域、M 域各类场景。

为解决传统 MySQL 多版本分散、升级低效的痛点,自研 MySQL 与分布式 CUDB 双向数据迁移工具,实现 10 万条 / 秒的升级速度 —— 这是社区版 OMS 的 3 倍、同类产品 DataX 的 5 倍,已累计完成 25TB + 数据升级,兼容性与效率均处于行业领先水平。

同时,分布式 CUDB 全面接入联通云,实现 “一点开通、一点交付、一点监控、一点运维、一点操作” 的一站式服务,大幅提升云租户使用体验与运营效率。更值得关注的是,联通软研院在合作中累计向 OceanBase 开源社区贡献代码超万行,输出数据库事务日志精准恢复、云存储备份对接等核心能力,实现 “使用开源、贡献开源” 的良性循环,推动数据库生态协同进化。

AI + 数据库融合:ChatDBA 树立智能化转型新范式

2025 年,AI 成为数字化转型的核心驱动力,中国联通软研院聚焦 AI 向量数据库等前沿领域,基于 OceanBase 完成数据库智能专家 ChatDBA 的底层架构升级,破解了大模型落地的关键痛点。作为基于 RAG(检索增强生成)技术构建的 AI 应用,ChatDBA需整合海量数据库专业知识与运维经验,传统架构存在扩展性不足、运维复杂、资源利用率低等问题。

经过对主流向量数据库的全面测评,OceanBase 的一体化能力脱颖而出:其支持关系型数据、向量数据等多类型数据混合存储查询,可处理最高 16000 维稠密向量,在 768 维 100 万数据集下检索性能是主流向量数据库的 3-6 倍;分布式架构保障高并发与故障自动恢复,多租户技术实现资源隔离,搭配完善的管控与迁移工具,大幅降低运维成本。

依托这些优势,ChatDBA 仅用两周就完成适配改造,硬件资源成本直降 30%,运维人力成本同步降低,问题解决效率显著提升,成为运营商领域 “AI + 数据库” 深度融合的标杆范例。

从核心业务分布式升级的 “破冰”,到开源生态自主创新的 “深耕”,再到 AI 一体化架构的 “引领”,中国联通软研院与 OceanBase 的合作不仅实现了量化的降本增效,更构建了 “自主创新、安全稳定、智能高效” 的数字基建新范式。

联通软研院相关负责人表示,未来将持续扩大合作范围,深化向量数据库、多模数据融合等领域创新。OceanBase 也将以此次合作为基础,持续迭代升级,适配电信行业核心需求。

这场跨越四年的深度合作,不仅为中国联通 “数字服务使能者” 转型筑牢技术底座,更向全行业证明:自研数据库已具备支撑全球最复杂核心业务的能力。

这一点在 OceanBase 过去五年的实践中得以充分验证:自 2020 年商业化以来,OceanBase 已在运营商领域实现从“点上突破”到“面上开花”的转变,深度服务中国联通、中国移动、中国电信三大运营商,覆盖 B/O/M 全业务域。在今年 9 月举行的中国通信展上,凭借在通信行业扎根沉淀的实践优势和技术创新能力,OceanBase 联合运营商打造的五个标杆案例获得由中国通信企业协会评选的“一等案例”荣誉。这些成绩的背后,是 OceanBase 作为运营商“可信赖基石”地位的奠定。

当每一通电话、每一笔交易、每一次 AI 交互都运行在自主研发的数据库上,我们看到的不仅是技术自立自强的硬核实力,更是数字化的坚实底气 —— 自研数据库正在从幕后走向台前,重新定义数字时代的数据库核心标准。

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

摘要:
爱奇艺卡券业务原采用 “MySQL 分库分表 + ES 异步同步” 架构,面临 TP/AP 分离导致的架构复杂、AP 查询分钟级延迟、数据一致性隐患等问题。如今借助 OceanBase 的 HTAP 能力,将 AP、TP 业务融合到一个数据库,在架构简化、成本控制与效率提升方面均取得了突破。

爱奇艺是国内知名的在线视频平台,每年都会推出上百部优质长视频内容,其中不乏如 2023 年现象级爆款《狂飙》这样的佳作。近两年,随着短视频、微剧的兴起,平台年处理视频内容数量级从上百部直接跃升至上万部。

每一部内容从立项、拍摄、生产、制作到上线播出,均需经过复杂流程,并依赖上百个业务模块协同支持。卡券业务是出于整个业务生态里面的中台位置,对上提供中台能力,如为创新型业务会员、云影院提供商业化变现和用户转化营销工具。

过去,卡券业务系统将 AP(分析处理)与 TP(事务处理)业务分开处理,架构复杂,需要较高的维护成本;如今,借助 OceanBase 的 HTAP 能力,将 AP、TP 业务融合到一个数据库,在架构简化、成本控制与效率提升方面均取得了突破。

解构卡券业务的数据架构困境

卡券是爱奇艺核心的营销与促销工具,贯穿爱奇艺的会员购买、云影院观影等商业化变现全链路。其底层数据库的性能直接关乎用户体验与业务敏捷性。

例如,促销发券、会员领券等场景均需要业务系统提供高并发事务处理(TP)能力。而在运营侧,则需要实时统计和分析发券数量、会员领券等指标,以便评估活动效果、优化营销策略,这依赖于高效的数据分析(AP)能力。

过去,卡券业务系统采用的是“MySQL 分库分表+ES 异步同步”的复杂架构:分库分表的 MySQL 来承载 TP 业务,以应对高并发海量请求;Elasticsearch(ES)来完成统计分析等 AP 类业务。

“这个卡券业务的架构基本上能为业务需求提供足够的支撑。不过,我们并不满意,一直在寻找新的解决方案。”爱奇艺高级总监张冲表示。

其最重要的原因就在于系统架构过于复杂,虽能满足业务需求,但每一个节点都需要研发投入大量精力维护,顶峰的时候研发资源占比近 80%,严重挤占了业务创新资源。

具体而言,在 TP 业务方面,通过分库分表的 MySQL 集群支撑高并发交易,但实际日常资源利用率仅约 10%,资源冗余明显。在 AP 业务方面,ES 进行运营统计分析时的数据源自订阅多个 MySQL 实例的 binlog,经消息队列 RMQ 异步同步至 ES,链路冗长,存在分钟级延迟。并且 ES 的清理归档代价较高,Reindex 开销也比较大。

此外,数据的一致性与准确性面临挑战,在异步同步过程中,甚至出现过 UV(访客数量)超过页面点击的异常,统计准确率难以保障。

张冲坦言,对现有架构进行升级更深层的原因,源于对技术进步的持续追求。“我们希望技术上再往前走一走,要和互联网行业最先进的技术保持对齐。”

从“分库分表+ES”到“单库双擎”,爱奇艺 HTAP 架构升级实践

随着新技术趋势的出现,爱奇艺也开始寻找能够简化架构、支撑业务更好发展的新发展。数据库的升级是这次架构升级的关键。

对于新一代数据库,爱奇艺提出了明确的要求:

第一,必须是一款兼顾 TP、AP,具备 HTAP 能力的数据库产品,无需管 MQ,无需处理异构的数据,尽量减少对数据平台的依赖,以简化数据底座;

第二,总体成本可控,和现有架构相比成本不能上升,符合公司降本增效的目标;

第三,云中立,在遇到故障的时候可以实现云逃逸,且在不同的云上均可提供一致性的服务。

根据上述三个基本要求,经过对多款主流数据库产品的调研与测试,OB Cloud 一体化云数据库凭借其卓越的性能与高度契合的需求满足度,赢得了爱奇艺的青睐,并且在高并发、高可用、安全、数据治理、低成本等方面的技术积累,都被浓缩到 OB Cloud 一体化云数据库的产品中。

张冲表示:“OceanBase 不仅提供了真正的 HTAP 融合能力,其原生分布式架构还与我们的云原生战略高度契合。同时,OB Cloud 在百度云上开服也是一个重要契机,因为爱奇艺的系统平台就部署在百度云上。”

完成数据库选型之后,爱奇艺迅速开始了数据和架构升级的准备工作。

升级工作分为两个阶段:

AP 升级:将 ES 集群中的百亿文档升级至 OB Cloud 集群。通过双写、迁移历史数据、切读、停双写等步骤,不仅完成数据升级,还从业务层面进行了逻辑去冗余和简化。最终,资源成本下降 60%,运营查询类 SQL 基本在 1 秒内返回。

TP 升级:将 16 个物理机数据库从原生 MySQL 分库分表形态升级至 OB Cloud 集群。借助 OceanBase 的 OMS 同步工具,顺利完成海量数据同步与校验工作。最终,存储成本下降 80%,且系统具备弹性伸缩能力,无需为大促提前预备资源。

张冲表示,为了尽量减少对业务的干扰,保持业务稳定性,升级过程尽可能少地修改代码,他们采取了一些措施:

  1. 汇聚到 OceanBase 的分区表、分区键与原来的分片逻辑一致,使得业务系统零改造切换;
  2. 保持 AP 业务不变,仅修改数据源订阅,通过全兼容的 binlog 直接订阅到同租户的 AP 表。此时还是多份存储,但依靠高压缩比,整体存储成本没有上升;
  3. 将 TP 业务的表异步修改为行列混存,不影响业务稳定性,同时运营统计只需简单修改库和表名即可快速上线。通过多副本读写分离,最终实现了单库双擎、支撑实时在线业务与数据分析的简洁架构。

化繁为简,打造卡券业务的现代化数据库底座

经过升级改造后,卡券业务系统架构变得非常简洁,只有基本的业务服务和数据中台的数据交互,不再需要维护额外的数据流服务,也无需担心存储不足等问题,归档清理的周期也相应延长,研发人员得以更加聚焦于业务需求的开发。

张冲表示,卡券业务系统架构升级带来了如下好处:

首先,链路极大简化。 去除了 MySQL 到 ES 的异步同步链路,消除了 ES 集群的运维与成本;张冲特别感慨此次架构的升级带来的简化,他表示“简单到只有计算、只有存储,简单到有点像互联网刚开始发展的那个阶段。”

其次,分析效率提升。 常规 AP 查询可直接在 OB Cloud 中完成,时间也从原来的准实时变成了实时,所有统计 SQL 的响应时间(RT)均小于 1 秒,性能大幅提升。而 BI 类需求以前需要数据中台部门支持,属于跨部门协作,最快也需数天;现在本部门内部就能完成,时间缩短为 2-3 天;

第三,存储成本显著节省。 借助 OceanBase 的高压缩能力,相比 MySQL 的存储成本下降了 80%,并且它可以弹性伸缩,不再需要提前为大促预备过量资源。

“相对于之前的架构,现在的架构非常简洁。这要得益于 OceanBase 把高并发、高可用、安全、数据治理、低成本等各种技术积累都浓缩到了这个数据库产品中。”张冲这样评价。

小结

张冲表示,未来爱奇艺计划将 OceanBase 的实践推广至更多在线交易型业务,如订单支付、会员中心等,并逐步探索其在 KV 存储、向量检索等场景的应用。

面对 AI 浪潮,张冲也提出了对未来数据库的期待:“知识图谱、AI 工作流等复杂场景,需要更智能的底层数据支撑。希望 OceanBase 能在这些方向持续演进,成为企业智能化转型的数据基石。借助 OceanBase 技术的不断完善和应用场景的拓展,爱奇艺将在科技创新的道路上走得更远。”

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

作者:杨泽,宝付支付数据团队负责人

随着#数字化转型 升级进入关键期,数据库已从被动的存储仓库,转变为主动赋能业务的智能数据中枢。以现代金融行业为例,业务对数据库提出了更高要求:既要满足事务,又要实时分析,同时安全、高效、弹性、智能地处理多模数据,并支撑实时决策与业务创新。这意味着,符合要求的数据库需在TP、AP、KV、AI方向均具备出色的数据处理能力。

作为在银行、消费金融、零售、跨境等行业深耕多年的一站式综合支付解决方案商,宝付支付产品种类丰富,且深谙技术创新与业务稳健的关系,不断引进先进技术维护和保障公司业务稳步运行,全方位为商户资金安全和交易安全保驾护航。

近年来,宝付支付的原数据库方案已不能满足业务需求,故而寻求技术升级。本文分享宝付支付在KV场景使用OBKV替换HBase的技术实践。

出于架构痛点,寻求支持 TP+AP + KV + AI 的数据库

宝付支付所属集团——漫道集团采用基于MySQL的集中式架构,由于近年来业务高速增长(2023 年初交易量约 3000万笔/日,2024 年 12月 已突破 9000 万笔/日)带来的海量数据(TB级),系统压力陡增。

最直观的压力便是成本压力,每年存储采购预算高达数千万元。同时,为了保障部分业务系统的高可用性,需在 A/B 两个机房部署完全对等的 MySQL 双活架构集群(如各100 台服务器),导致硬件与运维成本成倍增长。

同时在双活架构下,业务层仅关注“订单不丢、实时写入”,但不关心数据最终落在哪个机房、哪个分库。这给数据团队带来巨大挑战:无法准确追踪数据源,难以构建统一的数据视图,ETL 与实时同步逻辑异常复杂。

在业务种类多样的情况下,长期使用MySQL还会导致架构越来越复杂,使运维压力极大。集团内部运行着十余套大数据集群和超过 1000 个 MySQL 实例,分别服务于支付、风控、征信、BI 等不同场景,对数据库有不同的需求。

  • 支付交易系统:要求高并发、低延迟的事务处理能力。
  • 风控系统:依赖实时数据分析与毫秒级决策。
  • 征信 用户画像业务:需要高性能 KV 存储与快速点查。

  • BI 系统:依赖大规模离线分析计算。

多套异构系统并行,导致开发、监控、备份、扩容等运维工作极其繁重。

除MySQL外,我们使用 #HBase 存储海量日志与宽表,其虽具备高吞吐写入能力,但在事务支持、复杂查询、实时分析、KV 混合负载等方面存在明显短板,已无法满足新一代业务需求。

基于上述挑战,我们开始评估新一代分布式数据库方案。文章开头提到现代金融行业的业务对数据库提出了多种要求。宝付支付作为金融行业的一员也不例外,根据对TP、AP、KV、AI方向的需求,我们首先想到了 #OceanBase,核心原因在于其原生支持 HTAP(混合事务/分析处理) + KV + AI 的一体化架构。

  • TP 能力:满足支付交易系统的高并发、强一致性要求。
  • AP 能力:支撑风控与 BI 的实时分析需求。
  • KV 接口:为征信等场景提供低延迟点查。
  • AI 能力:内置向量化引擎与 AI 原生能力,为后续智能风控、实时推荐等 AI 应用奠定基础。

为控制风险,我们采取“由边缘到核心”的渐进式改造路径:先在非关键系统验证 OceanBase 稳定性,逐步迁移风控、征信等中台系统;最终目标是将核心支付交易系统平滑切换至 OceanBase,用一套数据库承载全场景需求。

从边缘到核心:OBKV-HBase替换HBase

在启动 OceanBase 引入计划后,我们先在离线与分析业务进行试点,后将多个MySQL业务迁移至OceanBase。当OBKV功能较为完善时,又完成了从HBase到#OBKV-HBase的升级,实现了一套引擎支持多场景业务的目标。

HBase 难以应对业务复杂度与实时性要求

尽管 HBase 在海量数据存储场景中曾发挥重要作用,但随着业务复杂度提升与实时性要求增强,其在架构、运维及成本等方面的问题日益凸显。主要体现在以下六个方面。

  • 离线链路冗长:当前数据流转路径为从 MySQL 流转至 Hive,再导入 HBase,流程环节多,数据延迟显著,且 Hive 层的数据修正不够灵活。
  • 实时链路依赖过重:直接读写 HBase 严重依赖 Zookeeper 与 HDFS,中间件耦合度高,链路稳定性风险集中。
  • 运维问题:跨机房场景下,集群切换与数据同步操作繁琐,故障时难快速隔离或切换。
  • 成本控制:为满足高可用要求,需部署完整的 HBase 主备集群,硬件与存储资源近乎翻倍,成本太大。
  • 多机房网络问题:机网络切割的时候,专线网络异常的时候,对业务都有影响。
  • SQL 查询依赖 phoenix:原生不支持标准 SQL,需借助 Phoenix 等组件实现查询,引入额外维护负担,且使用体验与性能往往不及直接 SQL 友好。

使用OBKV替换HBase,为统一技术栈奠定基础

OBKV 是构建在 OceanBase 分布式存储引擎之上的NoSQL 产品系列,目前支持 OBKV-Table、OBKV-HBase、OBKV-Redis 三种产品形态,其原生继承了 OceanBase 的高性能、事务、分布式、多租户、高可靠的基础能力。此外,OceanBase 的工具体系(比如OCP、OMS、CDC等)也原生支持 OBKV,运维 OBKV 的各个产品形态和运维 OceanBase 的 SQL 集群完全一样。OBKV 可以帮助企业统一技术栈,在满足业务对多模 NoSQL 数据库诉求的同时,降低企业在数据库运维上的复杂度。

基于我们目前正在使用的OBKV- HBase,总结其与HBase 的使用区别如下。

  • 完全集成 OceanBase 分布式存储能力:OBKV 不仅有 OceanBase 强大的内核能力,也继承了 OceanBase 丰富的生态工具能力。
  • 极简运维:DBA 如果同时有 SQL 以及 NoSQL 数据库的诉求,可以只运维一个数据库。
  • 统一查询:可以用 OBKV 做简单快速的 DML,同时可以用 SQL 对同一份数据做并发的复杂查询。
  • 成本更低:HBase 独用资源,OceanBase 是复用现有资源。
  • 监控更方便:方便对应用现有运行环境添加监控。

OBKV-HBase 不仅解决了传统 HBase 在运维复杂、资源孤岛、工具缺失等方面的痛点,更通过与 OceanBase 深度融合,可以实现“一套引擎、多模服务、统一运维、资源共享”的现代化数据基础设施目标。

引入 OceanBase 的三个阶段,确保技术转型平稳可控

在数据库架构升级过程中,我们分三个阶段逐步引入 OceanBase,确保技术转型平稳可控。

第一阶段:初步探索与能力评估(2023 年)

2023 年底,团队开始接触 OceanBase 及其 OBKV-HBase 产品。当时 OBKV 文档尚不完善,关键功能缺失,尤其缺乏 bulkload(批量导入)能力,无法高效导入离线数据 ,初期判断暂不具备支撑核心业务的能力。因此,该阶段以技术调研为主,未投入生产使用。

第二阶段:归档与分析场景试点(2024 年)

2024 年,团队转向更匹配当前能力的场景,启动 OceanBase 在离线与分析业务的试点,将数据归档、BI 聚合宽表、AP 分析类业务迁移至 OceanBase。我们不仅验证了OceanBase在高吞吐写入、复杂查询、资源隔离等方面的稳定性与性能表现,还积累了集群部署、SQL 优化、运维监控等关键经验,为后续全面推广奠定基础。

第三阶段:逐步替换与扩展(2025 年起)

随着 OceanBase 功能持续完善(特别是 OBKV-HBase 的成熟),团队启动规模化替换计划。

  • 关系型业务:逐步将业务管理系统、商户管理系统、BI 系统等原 MySQL 应用迁移至 OceanBase SQL 模式;
  • NoSQL 业务:使用 OBKV-HBase 替代原有 HBase,例如将“绑卡/解卡操作日志”等高频 KV 场景迁移至 OBKV-HBase;
  • 实现 TP、AP、KV 多负载统一承载,推动技术栈收敛与运维简化。

五步平滑迁移:工具使用、方案设计与注意事项

在从 HBase 到 OBKV-HBase 的数据迁移过程中,我们在实践中总结出五个关键步骤。

Step1: 目标端准备

在正式启动从 HBase 到 OBKV-HBase 的数据迁移前,需在 OceanBase 端完成充分的环境与配置准备。

  • 硬件配置:为避免因磁盘性能不足导致集群不稳定,建议使用高性能磁盘,但建议初期不要过度分配资源,以便预留弹性空间,用于后续扩缩容及负载均衡调整。
  • 存储规划:单个 OBServer 节点的磁盘容量应大于单个日志流的数据量。若单表数据量极大,而节点磁盘不足,可能在扩容或副本迁移时触发空间不足错误。
  • 租户规划:建议为 OBKV 创建独立租户,隔离资源。
  • 建好分区表。

注意事项

  • 实测表明,自动 Range 分区优于手工预设 Hash 分区。自动分区支持分区裁剪,对范围扫描类查询性能更优;手工 Hash 分区在范围查询时需扫描所有分区,显著增加延迟与资源消耗。
  • 需正确创建 Table Group:HBase 表名对应 OBKV-HBase 的 tablegroup 名字。
  • 注意命名规范:HBase 列簇 family 在 OBKV-HBase 形式对应表 tablegroup$family。
  • 注意 K 大小写:使用 DBeaver 等工具导出建表语句时,关键字(如 K)可能被转为小写(如 k),导致语法错误。同时需显式设置最大版本数(Max Versions)和数据过期时间(TTL)(多个版本多行)。

Step2: 数据迁移

在完成目标端环境准备后,我们分阶段实施历史数据迁移与增量数据同步,确保业务平滑切换至 OBKV-HBase。

历史数据迁移

为高效迁移海量历史数据(单表达数十 TB),我们同时使用了 DataX 与 OMS ,但需特别注意两者在数据格式上的关键差异:

  • DataX 导入的数据 Q 值是带列簇,T 值是正数。
  • 用 OMS 导入的 Q 值是不带列簇,T 值是负数。
增量数据同步

为确保切换期间数据零丢失,我们采用 “OMS 增量同步 + 业务双写” 双保险机制:

  • HBase 开启复制,通过 OMS 增量同步。
  • 通过业务程序双写保证数据实时同步。
  • 逐步将流量从 HBase 切换到 OceanBase。

Step3: 数据校验

由于 OBKV-HBase 属于 NoSQL 场景,OMS 在当前版本中尚未提供 KV 类型数据的全量一致性校验功能,我们结合业务实际,设计了一套多维度、可落地的数据校验方案,确保迁移后数据准确无误。

1. 行数校验:精确统计表行数。

HBase 端:使用 HBase 的 RowCounter 工具统计原表行数。 命令: org.apache.hadoop.hbase.mapreduce.RowCounter 'table'

OceanBase 端:使用 count 统计,获取行数并与 HBase 结果比对。

2. 三方数据对比:借助 Doris 实现内容级校验。

由于 OMS 暂时不支持进行 KV 场景下的全量校验,我们引入 Doris 作为临时比对中间层:

  • 通过 DataX 将 HBase 数据同步至 OceanBase 和 Doris。
  • 对比 HBase、OceanBase、Doris 三方的数据一致性。

3. 对关键业务字段进行抽样对比。

Step4:数据访问支持

在完成数据迁移与校验后,业务系统需通过标准接口访问 OBKV-HBase。我们发现 OBKV-HBase 不仅兼容 HBase 协议,还扩展了多项高级查询与操作能力,显著提升了开发效率与系统灵活性。

查询操作(Select)
  • Filter:支持定义基于 AND 及 OR 构建的复杂的过滤条件,下压给 OBKV 服务端来做过滤。
  • Limit:限制返回满足条件数据的条数。
  • IN 等语法糖:IN 本质上是一种 Filter,提供对应接口方便业务编码。
  • 简单聚合能力:提供 Sum/Min/Max/Avg/Count的聚合语义接口,下压给 OBKV 服务端来做简单聚合。
  • OrderBy:只支持基于主键以及索引序。
  • 迭代器访问方式:提供类似迭代器的流式 Query 接口,适用于大批量结果集的流式获取以及处理场景,比如翻页场景。
数据操作
  • Insert:支持单行/多行数据插入。
  • Update:支持单行/多行数据更新,支持带 Filter 的条件更新。
  • Delete:提供基于主键做数据的删除,支持单行/多行数据删除。
  • Upset(insertOrUpdate):此接口的语义是,如果有对应记录存在,执行 Update 操作,如果不存在,执行 Insert 操作,此接口也支持单行/多行操作。

Step5:业务压测

为确保 OBKV-HBase 能够满足高并发生产环境要求,我们使用真实业务压测 OBKV 性能,达到 42w QPS,延迟仅为 1ms 左右,超出预期。

压测方法:

  • 业务直接连接 OBServer 压测 OBKV 性能。
  • 对比前期通过 ODP 压测的性能差异。
  • 详细测试数据

我们部署 10 个 Pod 模拟业务客户端,分别通过 OCP 统一调度和通过 ODP 的方式进行多轮压测任务。如下分别是 OceanBase 数据库、OCP 模式、ODP 模式压测的数据记录。

OceanBase 数据库压测数据如下图所示

OCP 模式压测数据如下图所示

ODP 模式压测数据如下图所示

需要说明的是,前期通过 ODP 压测,性能不佳,QPS 不到 2k,具体原因分析见后续问题总结。经过优化,直连 OBServer 压测 OBKV,QPS 达到 42W,延迟 1ms 左右,完全满足业务需求。

直连 OBServer 的测试结果让我们对 OceanBase 的性能有了充分的信心,为后续业务的正式切换奠定了基础。

OBKV上线经验与问题总结:运维配置、数据校验

在 OBKV-HBase 的测试与上线过程中,我们积累了一系列关于监控集成、硬件配置、租户隔离及 CDC 同步等方面的实践经验,总结如下,供大家参考。

运维配置相关

1.监控配置

为避免重复建设监控平台,我们将 OBKV 相关指标接入公司统一的自研监控系统:

  • ODP 的 Prometheus 参数可直接使用默认配置,无需额外调整;
  • 如需修改 ODP 监控参数,可通过 sys 租户登录集群,执行以下命令:
show proxyconfig like "%prometheus%"以及alter proxyconfig set xxx = xxx;
2.硬件配置
  • 建议使用高性能磁盘,以保障高吞吐写入需求。
  • 初期资源不要划太多,避免将单台服务器的全部 CPU/内存资源划给租户,以便预留弹性空间用于后续扩缩容及负载均衡。
  • 单个节点的磁盘要大于日志流的大小,当单表很大时且未合理分区,其对应的日志流可能超过单节点磁盘容量,同时在集群扩容(如从 3-3-3 架构扩展至 6-6-6 )时,副本迁移会因日志流到节点磁盘迁移失败而失败。
3.租户配置

建议为 OBKV 创建独立租户,避免与 TP/AP 类 SQL 业务共享资源。

4.CDC 配置

在使用 OMS 或 CDC 进行数据同步时,需特别注意 HBase 动态列模型与 CDC 日志格式的兼容性问题。HBase 表的列是动态的(不同 Row 可含不同列),而 OceanBase 的 clog(提交日志)在记录变更时有两种模式。

  • 全列模式(full):记录整行所有列的值。
  • 非全列模式:仅记录被更新的字段。

若源端写入为非全列,而目标端 CDC 期望全列日志,可能导致同步解析失败或数据不一致。

解决方法是启用 CDC 的脏数据跳过开关skip_dirty_data=1,允许跳过全列校验,修改后重启实例生效:ALTER BINLOG INSTANCE y6op8d9rk1 SET EXTRA_OBCDC_CFG ='skip_dirty_data=1'

5.前缀检索用 setRowPrefixFilter

在早期调研阶段,我们比较担忧 OBKV-HBase 是否支持基于 RowKey 前缀的高效查询。经过深入查阅文档与测试验证,确认 OBKV-HBase 完全兼容 HBase 1.2+ 的原生 API,其中包括关键的前缀检索功能。可通过 Scan.setRowPrefixFilter(byte[] prefix) 方法实现高效的前缀扫描(Prefix Scan),具体如下图所示。

该接口会自动构造起始键(startRow)和终止键(stopRow),仅扫描匹配指定前缀的 RowKey 范围,避免全表扫描,显著提升查询效率。

数据校验问题

在从 HBase 迁移至 OBKV-HBase 的过程中,我们在数据校验过程中也遇到了3个关键问题。

问题1:上下游数据条数校对问题

问题描述

使用 DataX 和 OMS 两种工具分别迁移同一张 HBase 表后,OBKV 中的数据行数均少于 HBase 源端,初步校验无法对齐。

原因分析

HBase 的数据模型特性导致 count 结果存在歧义。

  • Region 分裂重叠:分裂过程中可能短暂产生重复 RowKey。
  • 未提交数据/写入失败残留:部分写入未完成但日志已落盘。
  • 多版本(Multi-Version):同一 RowKey 多次写入生成多个时间戳版本,默认全部保留。
  • TTL(Time-To-Live)未生效:过期数据尚未被清理,仍计入统计。

在上述场景下,HBase 的 RowCounter 统计的是所有版本 + 所有可见记录,而 OBKV 默认仅保留最新版本(若未显式配置),导致数量差异。

解决办法

  • 统一迁移工具:避免混合使用 DataX 与 OMS,防止因时间戳、列格式处理逻辑不同引入偏差。
  • 放弃基于快照(Snapshot)或 HFile 的 BulkLoad 方式,改用 queryType=scan 的流式读取,确保仅同步当前可见、已提交的最新版本数据。
  • 开发专门的数据校验工具,对比源端和目标端的数据。

结果验证

通过调整迁移工具和校验方法,最终实现了 HBase 和 OBKV 数据的完全一致。

注意事项

  • 建表语句大小写敏感:通过 DBeaver 等工具导出的建表语句中,K 关键字可能为小写(如 k = 'value'),需手动修正为大写,否则解析失败。
  • 注意设置最大版本号和过期属性(多个版本多行)。

问题 2: 20002 错误码

问题描述

  • 客户端等待服务端一直没有回包,超时报错 20002 ,默认超时设置为 1.5 秒。
  • 每次应用重启后,第一笔查询耗时比较高,后面查询耗时基本正常。

原因分析

根本原因是 scan.setCaching 参数配置不合理。

  • scan.setCaching 参数用于限制每次 RPC 请求返回数据的行数。在 nextO 迭代的过程中,底层通过多次 RPC 来拉取剩余数据。
  • 不设置 scan.setCaching 参数时,默认一次 RPC 拉完一整个分区的数据,在等数据返回的过程中卡住,导致 RT 较高。

解决办法

将 scan.setCaching 参数的值设置为 100,控制每次 RPC 请求返回的最大行数。scan.setCaching(100);设置后,第一次查询耗时降到了 300ms 左右,后续查询性能也得到显著提升。

问题 3:代理压测性能不佳

问题描述

通过 ODP 压测 OBKV-HBase,发现性能瓶颈明显,QPS 不到 2k。

原因分析

根本原因是ODP 元数据缓存机制与数据库大小写敏感配置不匹配。

  • OceanBase 集群启用了 表名大小写敏感模式(lower_case_table_names = 0)。
  • 而 ODP 默认行为在处理元数据请求时,未正确识别大小写敏感上下文,导致其无法有效缓存表结构信息。

每次查询均触发完整的元数据解析流程(包括向 sys 租户查询表定义),无法命中本地缓存。高频元数据查询成为性能瓶颈,严重拖累整体吞吐能力。

优化方案

  • 通过设置 ODP 参数开启 ODP 表名小写兼容模式,在 sys 租户下执行:alter proxyconfig set pc_enable_lower_case_table_names=True
  • 再次压测结果:QPS 稳定在 1.2w 左右,性能提升 6 倍

“一库多模、统一平台”,将大规模引入OceanBase

通过近两年对 OceanBase 及其 OBKV-HBase 能力的深入实践,宝付支付成功完成了从传统 HBase 架构向新一代分布式数据库平台的平滑演进,取得了显著的技术与业务成效。

  • 实现降本:HBase 独用资源转为 OceanBase 复用资源,不仅释放了数台服务器资源,还实现了 NoSQL 与 SQL 负载的统一承载,使硬件投入与运维成本大幅降低。
  • 提升效率:QPS 提升到 42W,延迟降低到 1ms 左右,完全满足高并发支付场景的严苛 SLA 要求。
  • 增强可用性:告别 MySQL 主从 + 异地备库等复杂架构,统一为 OceanBase 多副本强一致架构。系统具备自动故障切换(RTO < 8s)、数据零丢失(RPO = 0)能力,整体健壮性显著提升。
  • 统一监控:方便对应用现有运行环境添加监控,大幅提升可观测性和监控易用性。

不仅如此,对于集团架构而言,也具有重大意义和价值。

其一,完成数据库架构全面升级。从 HBase 到 OceanBase,从“多套异构数据库”走向“一库多模、统一平台”,我们实现了数据库架构的全面升级,技术栈大幅收敛。

其二,夯实业务创新底座。高性能、高可用的数据服务为实时风控、智能 BI 等新场景的业务创新提供了更强大的数据支撑能力。

其三,奠定智能数据架构基础。为未来 AI 原生计算、HTAP 融合分析、跨地域多活等演进方向预留充分扩展空间。

其四,沉淀宝贵实践经验。形成涵盖迁移方案、数据校验、性能调优、故障排查的完整方法论,可复用于后续系统改造。

本次 OBKV-HBase 成功落地,离不开 OceanBase 团队在过去两年中提供的专业、及时、深度的技术支持,特别是老纪及其研发、技术支持团队。无论是早期功能定制、性能瓶颈攻关,还是生产上线保障,OceanBase 团队始终与我们并肩作战,为项目顺利推进提供了坚实保障。在此,谨代表宝付支付技术团队,向 OceanBase 团队在迁移过程中提供的技术支持致以诚挚感谢!

另外,基于当前 OceanBase 在宝付支付的成功落地经验,我们已将 OceanBase 纳入集团未来数据架构的核心,聚焦 AI 项目赋能、汇聚库建设、多活架构尝试、零售支付场景四大业务方向大规模引入。

1. Al 项目赋能:实现一体化SQL+AI。

为响应公司对智能化转型的战略要求,我们将 AI 能力深度集成至数据库引擎层,推动从“被动查询”向“主动智能服务”升级。

  • 原生支持 AI 混合计算:利用 OceanBase 内置的向量化执行引擎与 AI 函数能力,实现“SQL + AI”的混合计算。
  • 探索智能化查询优化和数据处理。
  • 提升数据分析和決策支持能力。

2. 汇聚库建设:实现一体化TP+AP。

当前集团存在 1000+ MySQL 实例及多套异构数据系统,导致跨库分析、实时统计、经营报表等场景面临巨大挑战,OceanBase 的 HTAP 一体化架构为此提供了根本性解决方案。我们将逐步把核心业务库、汇聚库、宽表等迁移至 OceanBase 并扩大线上使用规模,使用一套集群同时承载 TP 写入与 AP 分析,构建统一的数据平台,简化数据链路,提升数据治理和数据服务能力。

3.多活架构尝试,实现系统稳定。

苦于MySQL双活架构带来的问题,我们将尝试业务多活要求,满足高可用业务需求。依托 OceanBase 原生分布式多副本与 Paxos 协议能力,构建轻量级、高可用、跨机房、跨地域的多活架构,提升系统容灾能力和业务连续性。

4.零售支付场景深化。

随着内部零售支付业务越来越多,我们将在其他零售支付业务场景推广使用 OceanBase。并持续优化 OceanBase 压测记录,完善性能基线。我们计划基于真实业务负载开展常态化压测,建立 QPS、延迟、资源消耗等关键指标的基准模型。

此外,探索更多 OceanBase 在支付行业的应用场景,充分发挥 OceanBase 的 HTAP 与多模能力。

数据库的升级不仅是技术的迭代,更是业务持续创新与稳健运行的基石。

欢迎关注,将为您持续更新与#数据库、#AI、#开发、#降本增效 相关的技术内容。