速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

网商银行×OceanBase:首家云上银行的分布式数据库应用实践

  • 2019-08-26
  • 本文字数:3043 字

    阅读完需:约 10 分钟

网商银行×OceanBase:首家云上银行的分布式数据库应用实践

本文整理自 2019 年大数据产业峰会网商银行技术专家杨祥合(花名:宫博)的演讲。本文将带读者深入了解网商银行在金融级分布式数据库 OceanBase 上的应用实践。


网商银行的数据库需求

随着移动互联、云计算、大数据等信息技术的蓬勃发展,互联网金融应运而生,促使银行业向互联网模式逐步转型。


网商银行致力于为小微企业、三农用户、大众消费者、中小金融机构提供普惠金融服务,从成立之初,就提出了低成本、高可用、高弹性的要求。另外,银行作为强监管行业,上级监管部门在不同场合都提出了自主可控的要求。为了满足合规和业务发展需要,网商银行采用了自主可控的金融级分布式数据库 OceanBase 作为核心数据库,并基于它构建了国内首家云上的互联网银行。



在这 4 年来,网商银行在分布式数据库的场景验证、迁移保障、新的运维体系和高可用架构等方面有了一定的积累和沉淀,今天与大家一起交流一下。

金融级分布式数据库简介

金融级分布式数据库 OceanBase,在设计和实现过程中,结合了传统关系型数据库与分布式系统领域的经典技术,具备高性能、高可用、可扩展等特性,解决了容量和容灾问题。OceanBase 采用多租户技术实现资源隔离,避免了互相影响。同时 OceanBase 具有较高的兼容性,在提升易用性同时,极大地降低了业务迁移成本。


数据库逻辑架构

下面来介绍一下 OceanBase 的产品架构,OceanBase 采用了 Share-Nothing 架构,提供了多地多副本的集群。


右侧是 OceanBase 部署示意图。OceanBase 集群至少要部署三副本,并使用 paxos 协议保持数据一致性。并具备如下的能力和优势:


(1)保证强一致性,在主备库之间,数据始终保持一致;


(2)提供水平扩展能力;


(3)提供机房/城市级容灾、异地多活、故障自动恢复能力。



下面来回顾一下网商银行在数据库架构方面的发展史。


网商银行从建设之初,采用 5 库 10 表的设计。升级到 OceanBase 1.0 后,逻辑架构进行了水平数据拆分,从 5 库 10 表到 100 库 100 表,支持全行业务系统运行在 100 个逻辑单元,最大可支持物理部署在多地的 100 个数据中心进行并行数据处理,用于满足指数级的金融业务增长需求。



创新一直是分布式数据库架构发展的源动力,并且始终贯穿在网商银行的技术实践过程中。数据库迁移拆分、秒级弹性数据源等,正是创新技术的体现。


在从 OceanBase 0.5 升级到 OceanBase 1.0 的过程中,物理架构也从两地三中心发展到目前的三地五中心,并逐步形成了一套完整的一站式数据迁移解决方案——OceanBase 迁移服务(OceanBase Migration Service,简称 OMS)。


OMS 是数据库拆分、迁移的利器,适用于在数据库版本升级、等表拆分和 1 拆多等场景中。无论数据库是同种类型,还是异构,实现了弹性拆分,同时也将影响面控制在最细粒度,可分钟级完成。



秒级弹性数据源是针对流水型业务提供了数据源的高可用和弹性能力,使用数据路由策略,将多组物理库配置成 1 个数据源。多组物理库之间互为故障切换(FailOver);可任意切换当前服务的数据库,而不会对业务产生任何影响,切换后在秒级别所在应用立即生效,从而大大拓展了数据库的能力,构建了数据源级别的高可用。



总结来说,OceanBase 迁移服务及拆分方案,实现了灵活的数据拆分和合并,以最小的影响,在分钟级完成切换。秒级弹性数据源,可在多套数据库下同时提供服务和自动切换的能力,并且实现了数据源级的自动故障切换(Auto FailOver)。

物理架构演进

物理架构方面,网商银行从原来的两地三中心,发展到三地五中心部署架构。容灾能力上,从容忍单机房挂掉,到城市级宕机。网商银行实现了业务应用上异地多活的能力。这背后是分布式数据库能力的增强,是对高可用的要求,本质上也是对客户体验的极致要求。


为了数据源的高可用,分布式数据库从架构角度,来进行分集群的设计,来降低特殊情况下的影响;伴随业务发展,数据中心的集群需要分摊到更多城市,实现单元化,来降低单集群的容损率。



高可用架构是对用户体验的极致追求。网商银行基于 OceanBase 构建了异地多活,每个城市都有全量数据,通过不同数据库的读写点交叉,由多个城市来共同承担用户的流量访问。


在数据库逻辑架构示意图中,应用每次写入数据到主库的同时,会由主库将事务日志强同步到其他的备库,且至少要写成功 2 个备库。



下面来举例说明数据库异地多活部署的逻辑架构。通过三地五中心的逻辑架构部署,实现 RPO = 0,RTO 小于 30 秒,单个数据中心或者当个地域故障都能保证数据库高可用并且不丢失数据。



下面是数据库逻辑架构下的库级别主从分布的样例。从逻辑架构上可以看出,每个机房都包含全量数据,多个数据库集群同时提供服务,用这种方式降低了单点故障对客户的影响。采用交叉部署的方式,同时提升了机器的资源利用率。


下图中是在单 IDC 故障、城市故障之下,逻辑架构中表的主节点(读写点)自动切换到可用节点上,整个过程 30 秒内完成,即业务 30 秒内可自动恢复。



纵观整个业务,在线数据库的关键不在于存储,而在于计算,伴随数据量增大,尽管计算能力够用,但仍需更多的存储空间。为了存储增加而扩大机器数量会导致成本过高,而历史库方案可解决成本过高问题。


历史库降成本有两种方案:


(1)降低在线库机器成本:把数据分成冷数据和热数据,将冷数据放到 sata 上,热数据放到 SSD 上;


(2)通过终态数据进历史库,这样历史库是只读的,降低历史库的全量备份的存储成本,从而节约大量资金。



从全生命周期的视角,数据库架构的发展是从全面共享到租户共享,再到集群专享的路线;因此,数据库架构需要高弹性,在资源少的时候共享,资源多的时候独享。



为了提升分布式数据库的弹性能力,我们引入了虚拟化的技术。


当硬件资源多的时候,通过简单的调度,即可分摊到更多硬件上来,从而降低单集群容损率,将业务影响降到最低; 架构弹性意味着按需投入,成本节约。



作为中国第一家核心系统基于云计算架构的商业银行,网商银行在实践中开启了新型银行的商业模式,即便没有一个网点,截止至 2018 年 6 月,网商银行及其前身阿里小贷已经累计为超过 1000 万家小微企业及个体经营者提供了贷款支持。


选择 OceanBase 三地五中心部署架构、分布式架构 SOFAStack 等,网商银行实现了业务应用上异地多活的能力,极大提升了全行的系统吞吐量。同时,借助 OceanBase 提供的多租户特性,在集群上按照业务重要程度与流量配比分配资源策略,在资源的共享与隔离上取得了最佳的平衡,极大的减少了 IT 基础设施的采购成本。



网商银行选择 OceanBase 三地五中心部署架构,满足全行多应用系统的管理与使用需求,让应用系统多活架构设计上变的异常简单。这些基础服务实现平台与应用的深度融合,不仅大幅提升研发效率,同时经过组合后还可支持快速重构银行业务价值链,将金融服务全面融入社会各类应用场景中。


除了经过内部多年的产品打磨和不同业务场景的千锤百炼,目前,OceanBase 也已经在多家金融机构落地应用,包括人保健康险、常熟农商行、苏州银行、广东农信等数十家商业银行和保险机构。

展望

在金融 IT 基础设施中,分布式数据库在容灾、高可用、高弹性方面不断发展,具备越来越强的产品能力。展望未来,网商银行期望在一体化数据网下,用创新的能力,通过业务、应用、架构、数据、资源等多种视角,来实现数据库的智能调度,来满足金融业务的战略目标和业务连续性。


当前,金融业正走在分布式数据库转型的路上,期望与行业同仁一起积极探索、开拓创新,努力拓展分布式数据库的应用边界。


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/NdLLSQ_WHqG-fMa4x5rYhg


2019-08-26 10:442037
用户头像

发布了 150 篇内容, 共 34.8 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

Downie4最常用的几种下载方法,全能网页视频下载工具Downie使用教程

理理

downie 4 Mac 视频下载工具

LilyView for mac(无边框轻量级图片浏览器)

理理

LilyView Mac版 苹果图片浏览软件 LilyView下载

中文版IBM SPSS Statistics(spss数据统计与分析软件)

理理

数据分析 spss数据统计 IBM SPSS Statistics中文 IBM SPSS Statistics破解 IBM SPSS Statistics下载

高效前端代码编辑器:Sublime Text 4 Dev for Macv4.0(4148) 中文版

真大的脸盆

Mac 代码编辑器 Mac 软件 前端代码编辑

Spring为什么需要三级缓存来解决循环依赖

做梦都在改BUG

Java spring 循环依赖

干掉微服务,换下Dubbo,Spring CloudAlibaba王者降临

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

2023年MQTT协议的7个技术趋势|描绘物联网的未来

EMQ映云科技

物联网 IoT mqtt 信息技术 企业号 4 月 PK 榜

我们与AI共生的未来 | 社区征文

TiAmo

人工智能 AI 三周年征文

PCB为什么常用50Ω阻抗?6大原因

华秋PCB

科普 电路 阻抗 PCB PCB设计

Mac磁盘清理DaisyDisk4中文版评测:一种优雅而有趣的释放存储空间的方式

理理

磁盘清理 DaisyDisk Mac版下载 DaisyDisk中文版 如何清理Mac磁盘

windows制作apple苹果证书-appuploader​

雪奈椰子

Spring 之依赖注入底层原理

做梦都在改BUG

Java spring 依赖注入

【一行代码秒上云】Serverless六步构建全栈网站

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 4 月 PK 榜

MobTech MobLink|裂变拓新,助力运营

MobTech袤博科技

Adobe全新AI工具引关注,生成式人工智能Firefly助力创作更高效、更有创意

Geek_2d6073

2023年最新iOS打包发布流程汇总

雪奈椰子

阿里云 EMAS & 魔笔:3月产品动态

移动研发平台EMAS

阿里云 DevOps 测试 低代码开发 移动端开发

数据智能服务商奇点云完成近亿元C2轮融资

奇点云

数据中台 融资 奇点云

微信支撑10亿用户背后核心技术:亿级流量Java并发与网络编程实战

做梦都在改BUG

Java 网络编程 高并发 亿级流量

如何在移动应用开发中,用小程序实践灰度发布策略

FinFish

灰度发布 APP开发 小程序容器 小程序技术

运维堡垒机定义以及作用简单讲解-行云管家

行云管家

堡垒机 运维堡垒机

应用火山引擎DataTester“避坑”,抖音实现用A/B实验快速试错

字节跳动数据平台

大数据 抖音 实验 A/B测试 企业号 4 月 PK 榜

ARM版CentOS Linux系统镜像文件(苹果M1专用)

理理

Linux系统 苹果电脑 pd18虚拟机 Mac双系统安装

基于HashData湖仓一体解决方案的探索与实践

酷克数据HashData

【云享专刊】开源遇上华为云,OCP架构变身“云原生框架”

华为云开发者联盟

开源 云原生 华为云 华为云开发者联盟 企业号 4 月 PK 榜

在 Rainbond 上使用在线知识库系统zyplayer-doc

北京好雨科技有限公司

云原生 #Kubernetes# rainbond 企业号 4 月 PK 榜

惟实励新,精进臻善!MIAOYUN人人是讲师(第二季)焕新重启

MIAOYUN

学习 企业文化 人才培养 企业培训 学习成长

DSW-Gallery使用体验+生成吸引人眼球的新闻标题

六月的雨在InfoQ

模型训练 机器学习PAI DSW-Gallery EasyNLP

打造 API 接口的堡垒

Apifox

API API 安全 API 接口

青海等保测评机构有几家?分别是哪几家?

行云管家

等保 等级测评 青海

跟ChatGPT聊天、需求润色优化,禅道OpenAI 插件发布!

禅道项目管理

项目管理 openai ChatGPT

网商银行×OceanBase:首家云上银行的分布式数据库应用实践_数据库_Geek_cb7643_InfoQ精选文章