分享嘉宾 : 白超(大窑) OceanBase 解决方案架构师、前蚂蚁团体数据库团队 DBA 专家
整顿 : 墨天轮社区
导 读
大家好,我是白超(花名:大窑),在过来的几年中,作为蚂蚁团体数据库 SRE 团队成员,经验了历年的双 11 大促,深度参加了交易领取、数字金融、国内站点等多个业务的数据库存储架构降级工作。明天分享的内容蕴含两个方面,一是介绍 OceanBase 的技术架构特点,另一方面也想从蚂蚁团体本身业务演进倒退的角度来谈谈,为什么 OceanBase 是互联网行业海量数据并发业务需要的必然选择。
互联网行业数据库面临的挑战
以后互联网行业对于数据库提出了很多挑战,随着业务状态的倒退演进,数据增长速度越来越快。不论是公有部署,还是云数据库,也都同样面临着规模越来越大,实例数越来越多的状况。
首先从效率上,因为 DBA 须要运维的实例数更多了。不同的业务线,不同的利用,面临不同问题的时候,DBA 的幸福感是很低的,工夫是碎片化的。对于业务来说,感知就是数据库自身的容量防御能力有余,应急时效也难以保障,比方电商大促、直播、秒杀等场景上,很多时候撑持能力是不够的。
其次在老本上,数据增长的速度是十分快的。尤其从疫情产生以来,很多场景线上化的趋势更加显著。包含线上领取,线上购物等场景越来越多。从而引发的订单数量,以及用于实时剖析的场景数据增速显著放慢。在此场景下,体现到数据库资源上会发现机器需要增多,与之对应的存储需要增大,但 CPU 利用并不充沛。尤其遇到节日促销或相似双 11,618 等并发场景备战时,是须要提前做扩容,往往须要提前很长时间就开始筹备机器资源。
第三,传统的单机数据库,比方 Oracle 或者互联网行业罕用的 MySQL 都有一些痛点,是不得不面对的。比方数据量太大时,很多时候就要抉择拆库,在这个过程中又要引入中间件,自身减少了肯定的复杂度会侵入业务,对于 DBA 又增加了一些新的挑战。比方随业务倒退表变得很大,须要做一些 DDL 表构造的变更。在传统数据库的场景下,这些变更都会存在较大的危险,甚至有阻塞业务的可能。
再比如说缓存穿透,高连接数达到数据库极限;主备切换看似胜利了, 其实只是集群层面胜利,DNS 或者虚构 IP 等并没有切换胜利;容灾场景下的脑裂,丢数据问题等这些都是在过来应用传统数据库时面临的常见问题。
图 1 互联网行业下数据库的挑战
蚂蚁数据库架构的三代降级史
随着互联网行业的倒退,对数据库提出了越来越高的要求——除了“提效率”与“降老本”,还有“解痛点”。传统数据库在解决业务需要时遇到了很多的问题,这些问题在蚂蚁也都经验过,首先我来简略讲讲蚂蚁团体数据库的演进过程。
第一代数据架构是构建在 IOE 的根底之上——IBM 的小型机、Oracle 的商业数据库,还有 EMC 的共享存储。随之带来的运维老本十分高,同时稳定性的挑战也十分大的。随着业务的疾速倒退,这套架构曾经齐全没有方法适应业务倒退的增速。
以过后的支付宝为例,因为它自身金融交易的属性,领有十分大规模的 Oracle RAC 集群,然而这种架构自身的扩容是有下限的,当扩容肯定规模的状况时,数据库性能的边际效应曾经非常明显了,无奈再晋升数据库的容量,这些都是业务增长状况下必须要面对的问题。
因而从支付宝业务倒退的角度登程,为了解决这些问题,蚂蚁数据库整体架构演进到第二阶段:中间件 + 拆分 + 单元化。
随之诞生的是第二代架构,第二代架构的主体依然是传统单机数据库——也就是 Oracle 和局部 MySQL,加上蚂蚁自研的分布式中间件,某种程度上解决了业务的程度和垂直的扩大能力。但即便如此依然有不少难题亟待解决,例如:机房级故障的疾速复原和强一致性保障、跨库跨分片事务、全局一致性、主动负载平衡以及简单 SQL 的执行能力。
业务井喷式的倒退对底层的数据库提出了更高的要求,这些要求包含更高的稳定性,疾速恢复能力和极致的弹性能力等,为了解决这些问题,咱们须要的是一套全新的计划和架构,也就最终演进到了 以 OceanBase 为外围的第三代数据存储底盘。
图 2 蚂蚁数据库的三代演进
OceanBase 集群架构
ceanBase 是不基于任何开源产品,齐全自研的原生分布式关系数据库。上面我将进一步介绍 OceanBase 是如何在高速增长业务中,在一个个实在的业务需要下不断创新和打磨的,首先咱们来看 OceanBas 的集群架构。
OceanBase 是一个存储无共享的架构,如下图例子所示,这个 OceanBase 集群中有 6 台 OBServer 被分成了 3 个 Zone,在理论部署中可能这三个 Zone 会存在于三个机房,其中 Zone1、Zone2、Zone3 的数据是齐全对等的,这样设计的可能实现当任意一个机房不可用时,呈现断电或者网络“孤岛”景象时,也不会影响 OB 整体对业务利用的服务。因而第一个特点是 OceanBase 集群架构中所有的节点都是对等的,每个节点有独立的管控、SQL、事务以及存储引擎,整个零碎没有任何单点。
OceanBase 中的数据以分布式的形式进行存储,这样为数据库的线性扩展性提供了实践根底,主动实现拜访路由、策略驱动负载平衡。同时 OceanBase 的集群架构还具备高可用和强统一的个性,通过 multi-Paxos 分布式协定的工程实现,确保数据(日志)长久化在多数派节点胜利,少数派故障时可能做到数据不失落,故障转移主动实现。
图 3 OceanBase 集群架构
OceanBase 如何撑持海量并发的互联网业务?
1、OceanBase 的个性与劣势
OceanBase 的第一个个性是多租户 + 存储压缩,可能大幅提高资源利用率,降低成本。
大集群将长尾利用的多实例 MySQL/Oracle 对立进行治理,无效进步资源密度,打消存储碎片。同时多租户的个性实现数据库内核级虚拟化,满足数据安全隔离的同时,提供基于业务画像的可伸缩计算资源、同时通过 Leader 打散实现混部。
图 4 OceanBase 个性:多租户 + 存储压缩
OceanBase 数据库应用 基于 LSM-Tree 的存储引擎,可能无效地对数据进行压缩,并且不影响性能,能够升高用户的存储老本。
在撑持支付宝某业务从 Oracle 迁徙到 OceanBase 中,实现了数据库 占用存储区空间由 100TB 缩小到 33TB。
图 5 OceanBase 基于 LSM Tree 的存储
此外,OceanBase 可能原生的实现程度有限扩大与迁徙平衡流控。
在程度扩大过程中仅需 OCP 发动操作,内核负责数据迁徙和外部强校验,当平衡实现后新的节点主动开始提供服务。同时 OceanBase 的数据平衡迁徙速度远高于传统数据库逻辑迁徙的速度。
图 6 OceanBase 个性:程度有限扩大 + 迁徙平衡流控
在下面的内核个性撑持下,OceanBase 得以实现疾速的弹性扩缩容。如下图所示,当须要扩容时,可能疾速地将数据程度负载平衡至下方的新增加三个节点,由此实现集群翻倍的读写能量,过程中对利用通明,区别于传统数据库单点写的架构,OceanBase 能够实现全副本的 leader 打散,这也为超高并发写入的业务提供了根底。
图 7 OceanBase 个性:疾速弹性扩容
不仅如此,OceanBase 在多正本上实现的读写拆散的能力,大大晋升了数据库读扩大能力的同时,AP 类的报表剖析不影响在线业务。
图 8 OceanBase 实现读写拆散
OceanBase 的稳定性高可用个性,帮忙业务实现强统一主动容灾、宕机主动复原。当业务从传统数据库迁徙至 OceanBase 后,数据库相干故障频率均匀降落 80%,同时遇到异样抖动和基础设施故障,真正实现“先复原、后诊断”。
图 9 OceanBase 个性:稳定性 & 高可用
2、一站式治理平台 OCP 实现智能化运维
接下来想谈一谈 ob 在智能化运维的一些能力。OCP 是 OceanBase 提供的面向 DBA 的一站式治理平台,让分布式的数据库治理变轻松,实现衰弱巡检、全集群日志在线剖析、监控下钻剖析以及智能运维体系 SQL 诊断。
其中重点值得强调的是基于 OB 内核对在线 SQL 的管控能力,联合 OCP 的智能诊断性能,DBA 能够在问题产生期间疾速定位问题 SQL,并执行一系列并发限流、熔断、执行打算绑定等操作,大大提高数据库应急的效率。
图 10 OCP 助力效劳晋升
OceanBase 互联网行业利用案例
1、案例一:Gcash 电子钱包全站迁徙
Gcash 电子钱包全站迁徙到 OceanBase,实现存储空间降落 70%,故障业务不中断、老本升高 30% 的可观成果,同时在云控制台的加持下,DBA 运维效率大幅晋升。
图 11 案例:Gcash 电子钱包全站迁徙
2、案例二:某交通出行行业 HTAP 架构
在某交通出行行业 HTAP 架构的案例中,迁徙至 OceanBase 帮忙性能容量晋升 3 倍,帮忙客户解决了随着业务倒退着断拆库的苦恼,大幅晋升存储可扩展性等痛点。
图 12 案例:某交通出行行业 HTAP 架构
3、案例三:菜鸟发货工作台简单业务实时查问
在菜鸟发货工作台的利用案例中,依靠 OceanBase 的 HTAP 个性,助力客户晋升海量存储下的写入和更新性能 ;同时依靠 OceanBase 分布式并行执行引擎,通过简略的扩容操作即可 近似线性晋升简单剖析查问的性能。
图 13 案例:菜鸟发货工作台简单业务实时查问
作为原生分布式数据库的开拓者,OceanBase 致力于从根本上解决海量数据管理的外围问题。将来,OceanBase 将一直冲破关键技术瓶颈,一直发明数据管理技术的新将来。
下图是 OceanBase 在泛互行业的最佳实际汇总。很多面向理论业务的优良个性例如自适应限流、大查问队列、疾速自愈等等,因为工夫关系,不在明天一一开展,大家有趣味欢送在咱们的官网社区展开讨论。
图 14 案例:OceanBase 在泛互行业的最佳实际汇总
我明天的分享就到这里,谢谢大家!
更多精彩内容,欢送大家观看现场视频回放与会议材料
视频回放:https://www.modb.pro/video/6329
会议材料:https://www.modb.pro/doc/60566
- 查看原文:https://www.modb.pro/db/400424
- 查看【国产数据库沙龙】互联网行业利用专场文章、视频回放资源:https://www.modb.pro/topic/399271
欲了解更多能够进入👉墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、流动直播、在线课程、文档阅览、资源下载、常识分享及在线运维为一体的对立平台,继续促成数据畛域的常识流传和技术创新。
关注官网公众号:墨天轮、墨天轮平台、墨天轮成长营、数据库国产化、数据库资讯