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

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

转载于:https://juejin.im/post/5cff56ba6fb9a07ee4635995

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

  1. 网商银行×SOFAStack:首家云上银行的微服务架构实践与演进

    本文整理自 2019 云计算开源产业大会网商银行高级技术专家蒋易民的演讲.本文将带读者深入了解网商银行微服务架构的应用实践. 网商银行架构现状概览 网商银行依托于蚂蚁金服自主研发的金融级分布式数据库 ...

  2. 全球第四大航空南方航空与阿里云合作,成首家云上航空公司

    航空业被称为"浸泡"在数据中的行业,民航也是最早拥抱云计算的行业."云+端"的服务模式为航企创新提供有利条件:利用云计算对海量数据的分析和处理,挖掘旅客群体的个 ...

  3. “泥腿子”办银行 浙江省首家农村资金互助社成立

    "泥腿子"办银行 浙江省首家农村资金互助社成立 新华网浙江频道( 2009-11-19 10:50:20 ) 来源: 台州日报 编辑: 君君 "泥腿子"当起&q ...

  4. 壹佰利—通联信用作为吉林省首家获得人民银行颁发的企业征信备案牌照,开始为全省人民服务!

    吉林省通联信用服务有限公司(下称:通联信用)作为吉林省首家获得人民银行颁发的企业征信备案牌照.建立了包括信用信息的大数据中心.客户服务中心.信用产品研发中心三个中心:采用基于互联网的数据采集.数据交换 ...

  5. 互联网晚报 | 1月5日 星期三 | 雷军公布小米百万美金技术大奖;国内航线燃油附加费取消征收;北京冬奥成首个“云上奥运”...

    今日看点 ✦ 荣耀首款折叠屏手机Magic V定档1月10日,首发维信诺折叠方案 ✦ 雷军为小米百万美金技术大奖颁奖,铁蛋机器人团队获最高奖项 ✦ 为近10亿笔订单提供交易保障,"有赞担保& ...

  6. 中国首家云存储联合创新实验室落户武汉光谷

    2017年11月1日,中国首家云存储联合创新实验室落户武汉光谷,这是由全球开源软件先锋SUSE与国际知名的信息通信网络产品与解决方案提供商烽火通信科技股份有限公司(以下简称"烽火通信&quo ...

  7. 首个云上量子加密通讯服务实现

    3月29日,在云栖大会·深圳峰会上,阿里云公布了云上量子加密通讯案例. 网商银行采用量子技术在专有云上完成了量子加密通讯试点. 阿里云也成为全世界第一家可以提供量子加密信息传送服务的云计算公司,也是最 ...

  8. 【云栖大会】阿里云成为全国首家云等保试点示范平台

    10月14日,阿里云通过公安部组织的云计算等级保护新标准试点示范工作,成为全国首家通过国家级权威测评的云计算服务商.其中公共云平台.电子政务云平台.大数据平台.云运营系统.云运维等五大系统通过等级保护 ...

  9. 人工智能召唤“神龙”,阿里云发布首个云上异构超算集群...

    人工智能正在召唤"神龙".3月21日,阿里云发布业内首个公共云异构超算集群--基于弹性裸金属服务器神龙X-Dragon的SCC-GN6,集群性能接近线性增长,将深度学习训练时间缩短 ...

最新文章

  1. 牛!月入2w,95后送外卖的程序员,送餐途中改bug
  2. 分布式id 实现方式
  3. python 实现判断一个列表中的一个或多个元素是否存在于一个字符串中。
  4. 世界杯千万级直播高稳定的挑战和实践
  5. 让Android软键盘默认进入英文键盘
  6. favicon.ico是什么?
  7. office2010出现“此错误通常是由宏安全性设置造成的”的解决办法
  8. 卷积滤波 英文_图像处理必备英文词汇
  9. NUC1742 Subsequence【前缀和+二分搜索+尺取法】
  10. python创建学生类和教师类_python基础知识 ——类
  11. (十四)洞悉linux下的Netfilteriptables:开发一个match模块【实战】
  12. 计算机网络信息安全参考文献,最新网络信息安全参考文献 网络信息安全参考文献有哪些...
  13. 线性回归(一):一元线性回归(附python实现)
  14. 机械设备行业经销商管理系统细致化经销商管理,让渠道管理更可控
  15. 数学建模作图准备(Python-Matplotlib)Matplotlib
  16. nginx配置CSP策略和Nonce随机数方案
  17. Git学习笔记(基础操作+分支操作+PR)
  18. Redis 哨兵模式安装方法
  19. Scikit-learn中的Lasso/LassoCV以及R^2可决系数的分析与讨论
  20. 直角坐标系和极坐标系

热门文章

  1. C语言实现输入一行字符,分别统计其中的英文字母、空格、数字和其它字符
  2. java科技论文20000字_科学素养论文范文 科学素养方面有关论文参考文献范文2万字...
  3. 交易猫源码跳转APP 独立后台管理
  4. Numerical Computation
  5. win7计算机策略可以重置,Win7系统中将组策略恢复到最初原始状态的方法详解
  6. windchill创建定时队列执行
  7. 黑猴子的家:python 字典操作
  8. CSP-《有趣的数》-感悟
  9. 在cmd下用cd命令进不了D盘的问题
  10. H264基本概念(入门)