网商银行数据库迭代记,OceanBase助力金融创新实践

简介: 2020年12月21日第十一届中国数据库技术大会(DTCC 2020)于北京如期举行,网商银行架构师,存储底盘负责人杨祥合先生,在 “OceanBase 企业级分布式数据库实践专场” 分享了《网商银行分布式数据库应用实践》的演讲,本文为演讲实录

2020年12月21日第十一届中国数据库技术大会(DTCC 2020)于北京如期举行,网商银行架构师,存储底盘负责人杨祥合先生,在 “OceanBase 企业级分布式数据库实践专场” 分享了《网商银行分布式数据库应用实践》的演讲,以下为演讲实录:

随着数据量爆发,业务日益复杂,现今 IT 环境中面对的场景复杂度和故障率也越来越高,甚至在国内出现了多起数据安全“黑天鹅”事件。以下分享将以网商银行的架构历史演进和对数据库的应用徐徐展开,以期给诸位带来启发。

网商银行架构史,斩获人行科技奖

网商银行是一家以普惠金融为使命的互联网银行,业务主要面向三农和小微企业。技术底盘架构在蚂蚁金融云和 OceanBase 上。作为 OceanBase 服务的第一家银行,网商银行对高并发、扩展性、数据一致性的需求一开始就存在。而在数据库选型的过程中,首先考虑的是高可用和高弹性,其次是低成本和自研。

我们先从存储架构和数据库版本两个方面来谈谈网商银行的发展史。

存储架构方面,从最初的两地三中心,到后来从 OceanBase 0.5版本升级到 OceanBase 1.0版本,实现了三地五中心的单元化。“三地五中心”,即在三座城市部署五个中心,一旦其中一到两个中心发生故障,甚至一个城市出现问题,业务都能够在 30 秒内自动恢复。

2019年,将 OceanBase 在高可用、扩展性用于混合云架构,在做多云架构时,面对不同业务目标的多朵云,可以一键将数据扩展到另一朵云上。2020年,开始落地云原生架构,配合全栈加密,从用户数据进入到服务的全过程,整个生命周期数据传输加密,落在磁盘上的数据都是密文。

在数据库方面,网商银行基于分库分表的数据库架构,从设计之初就设定单元化的目标。使用分库分表多集群,解决了库设计上的单点问题,数据库的升级、备份等在不同集群之间错峰进行,避免影响全局。

1.png

网商银行架构师,存储底盘负责人杨祥合

网商银行到底有怎样的技术实力?这在网商银行成立之初,就在行业中引起了热议。当时我们做了一个勇敢的决定,在生产系统中来一次断网演练。当完成了相关的报备后,我们就正式开始了这次断网演练,直接把生产系统中其中一个机房的流量全部断掉。让行业震惊的是,网商银行用了不到 1 分钟便实现了快速恢复,这背后其实充分体现的就是 OceanBase 的高可用、快速恢复的自治能力。

整个三地五中心异地多活的项目落地之后,我们把项目上报到人行,该项目最终获得了人行科技发展二等奖。实际的生产环境中,网商银行利用人行的窗口,定期做断网演练,这是发现自身问题的重要举措。

网商银行架构一览,从分库分表到批场景

OceanBase 不只是数据库,云原生架构之后,可实现链路加密,在 ServiceMesh 做加密,数据库做解密。目前,网商银行数据库集群规模 100 多套,数据量达到 PB 级。在线库和历史库架构中,历史库访问量较低。云原生微服务起来后,数据库、业务系统不断被拆分,需要下游的核心能力,包括建立一些基于 AI 能力的加持。

在分库分表方面,网商银行采用分区架构,在生产实践当中,有热点库、热点行、热点表等挑战,这些热点利用分区的能力,每一个分区独立到一台机器。

银行业务中的海量数据的处理方面,数据库设计是每批次并发处理 13~130 亿。具体逻辑为,每个批次查询 5000-100 万条,单表拆分片数 13 片到 2600 片,按照这个逻辑,网商银行使用了 999 分片,最大每批次可处理 130 亿账户。

批场景中,利用分库分表的基础上,使用表分区提高并发跑批能力。如银行工资代发、团体险等需使用表分区的能力,如企业人员导入,原本一个单表导入做成多个分区,把不同的数据打散不同的分区上提升性能。

业界有厂商宣称,库高可用是人为切主对业务无影响。我们认为应增加主库宕机 1 分钟内自动恢复,且数据保持一致的要求。网商银行数据库的标准是在此基础上,两个机房同时故障,也能够达到 RPO=0、RTO<1分钟。

金融业选型建议,从数据库到历史库

数据库选型,性能隐私双保险

一是主备模式不适合金融高并发场景。主库出问题需层层上报,强拉备库为主会丢数据。如果采用强同步模式,经测试性能会降 10 倍,这种性能下降是无法接受的。

据中国信通院发布云数据库标准选型建议,一致性协议应该成为金融数据库标配。高可用架构=快速恢复+最小影响面。快速恢复依赖一致性协议的加持。最小影响面分横纵两个纬度,横向拆分成多个集群、做分库分表和表内分片,纵向拆分成多个机房,让不同范围的用户编号进入到不同的机房,这样单机房/单个分库的故障影响面影响降到最小。

国家越来越重视用户隐私,用户安全的主题下,将全行数据加密提上日程。数据从金融网关进入网商那一刻起就变成密文,密文传输、密文存储;银行的备份和传统企业不一样,既要有同程备份又要有超远程的备份,中间有网络传输加密、透明加密,传输到超远程机房,再做一层存储透明加密。

历史库选型,让数据远离丢失风险

冷热分离为什么会带来数据丢失的风险?因为,在线数据库通过读取校验整个数据,CRC 验证 block 完整性,冷数据如果发生故障,没有读请求来验证数据块是否正常,从而难以发现坏块,极端情况甚至会导致多个副本永久丢失。

OceanBase 数据库有一个后台的进程,不间断扫描数据进行校验,以此发现问题,让数据库的备份真正的有效。如果几个月后才发现问题,为时晚矣,因为数据备份保存不了那么久。根据我们的历史库选型原则,一定要有后台校验,让数据远离丢失风险;此外,还要关注加密,保护用户隐私。

高性能探索实践,创新迭代扛大促

网商银行和 OceanBase 一路创新前行,不断探索向上。

线上性能摸底—链路压测

网商银行用的全链路压测方法进行容量摸底。通过压测代码上传到平台,将产出的流量打入金融网关,网关调用一层层业务服务。直接在生产系统进行压测,标通过标记区分是压测的业务,中间件把压测流量打到影子库中去;整体上,流量穿越所有的微服务链路,通过全链路压测进行容量摸底,确保链路上无单点流量瓶颈。

每年大促活动前,通过全链路压测进行容量摸底。

混合云弹性架构—大促弹出(20%)

假如网商银行一朵云上机器资源已用尽,能否并让流量跑到另一朵云上?通过混合云的弹性架构,数据库的一键扩展,应用上做单元化适配。今年大促最终弹出 20% 的流量到新云上,充分验证了 OceanBase 的快速的扩展能力。

OceanBase 致力于打造金融行业银行业的数据库,同时最令人骄傲的一点是 OceanBase 是中国人自己的数据库,希望行业同仁的交流能带来更多创新的尝试,带动国产数据库走向更广阔的发展。

相关文章
|
11月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
人工智能 前端开发 JavaScript
代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践
通义灵码本质上是一个AI agent,它已经进行了大量的优化。然而,为了更完美或有效地调用模型的潜在能力,我们在使用时仍需掌握一些技巧。通常,大多数人在使用通义灵码时会直接上手,这是 AI agent 的一个优势,即 zero shot 使用,无需任何上下文即可直接使用通义灵码的能力。
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
600 8
|
人工智能 运维 数据挖掘
瑶池数据库Data+AI驱动的全栈智能实践开放日回顾
阿里云瑶池数据库重磅推出“Data+AI能力家族”,包括DTS AI数据准备、Data Agent系列智能体及DMS MCP统一数据访问服务,重构数据与AI协同边界。通过智能化工具链,覆盖数据全生命周期,提升企业数据开发、分析、治理与运维效率,降低技术门槛,激活数据资产价值,助力企业迈向全栈智能新时代。
|
存储 关系型数据库 MySQL
【赵渝强老师】OceanBase数据库从零开始:MySQL模式
《OceanBase数据库从零开始:MySQL模式》是一门包含11章的课程,涵盖OceanBase分布式数据库的核心内容。从体系架构、安装部署到租户管理、用户安全,再到数据库对象操作、事务与锁机制,以及应用程序开发、备份恢复、数据迁移等方面进行详细讲解。此外,还涉及连接路由管理和监控诊断等高级主题,帮助学员全面掌握OceanBase数据库的使用与管理。
744 5
|
人工智能 运维 数据挖掘
瑶池数据库开放日:全新发布Data+AI能力家族,赋能企业全栈智能实践
近日,阿里云瑶池数据库生态工具产品重磅升级,推出“Data+AI能力家族”,并举办了为期3天的全栈智能实践开放日活动。发布会上首次公开了 “Data Agent for Analytics、Data Agent for Meta、DAS Agent”等瑶池数据库Data Agent系列能力,以工具智能化 × 智能化工具的双引擎重构数据与AI的协同边界,揭秘AI时代数据价值释放的全新路径。
|
SQL 存储 监控
obdiag:一款OceanBase 数据库诊断的利器
本次分享的主题是obdiag:一款 OceanBase 数据库诊断的利器,由蚂蚁集团 OceanBase 技术专家汤庆分享。主要分为四个部分: 1. OceanBase 概述 2. Obdiag 项目价值 3. Obdiag 设计与实现 4. Obdiag 未来规划
568 14
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
541 11

推荐镜像

更多