你“剁手”的时候,支付宝在干嘛?( 二 )


第三 , 持续稳定运行无异常 。 OceanBase曾在2019年参加TPC-C测试(TPC-C是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准 。 是商业数据库想要证明自身实力的一个硬性门槛) , 以6088万(60,880,800)的在线事务处理性能创造了世界纪录 , 一年后以7.07亿(707,351,007)的成绩再创记录 。 这看起来只是一串数字 , 但该数据背后 , 意味着仅一张表格的数据支持量就超过了20万亿 , 同时还要保持数据的一致性 。 另外 , TPC-C 要求被测数据库能够以平稳的性能至少持续运行8小时 , 其中性能采集时段(不少于2小时)内的性能累积波动不得超过2% , OceanBase的成绩是持续运行8小时 , 抖动小于0.5% 。 这为“双十一”等极端应用场景提供了稳定保障 , 得以让用户在面对机器故障、磁盘故障、网络故障时还能毫无感知 , 愉快地“买买买” 。
关键能力二:弹性扩缩容
高并发场景不仅需要极致的容量 , 还需要具备弹性扩缩容的能力 。 对于容量 , 分布式数据库天然支持无限扩展服务器 , 这是OceanBase在业务中的优势 。 在“双十一”期间 , 他们会快速增加服务器 , 30分钟实现近5000台机器 , 并做性能优化和降本增效 , 锻炼容量能力 , 提升单机性能 。 据OceanBase CEO杨冰透露 , 每一年OceanBase都会设立一个项目 , 根据上一年“双十一”的需求来专门提升性能和优化成本 , 比如相比去年 , 今年读写提升了61% , 而成本只有MySQL的三分之一左右 。
对于数据库本身的弹性扩展能力 , 杨冰谈到支付宝的“百万级副本的能力” , 即每秒最高峰值为一百万笔支付 , 这在数据库系统中 , 可能接近亿级QPS(Queries-per-second , 查询率) , “双十一”期间 , 每秒都会产生数万笔支付 , 对此 , OceanBase通过两层弹性技术来支撑 , 第一层是中间件的分库分表 , 第二层是OceanBase的分区表格 。 先通过分库分表将数据分成一百份 , 再通过分区表格将这一百份分别拆分出一百份 , 共拆分出一万份 , 使得每一份都至少能在一台机器上 , 以此做自动的弹性 。
通常 , 有分库分表就足够了 , OceanBase为什么要再做一层?分库分表的好处在于对数据库依赖比较低 , 但问题是基于分成的一百份 , 想再拆分为一千份、一万份时很难 , 所以每用一次就需要上百人拆库 , 做技术攻坚 。 这才有了OceanBase的分区表 , 自动扩容 , 不再需要担心容量的问题 , 且对整个业务几乎没有影响 。
此外 , 弹性能力还指在云上快速扩容缩容的技术 。 如今 , 普通机房的机器已经不能满足大促活动的数据处理了 , 尤其是“双十一”当天的容量比平常高出几十倍 , 这时 , 需要借助云计算的能力 , 把业务数据、服务快速地部署到云上 。 “双十一”结束后再迅速撤下来 , 因为在云上多待一小时就多花一小时的钱 。 这个过程就是快速弹上和弹下 。 了解数据库的人知道 , 这可是件麻烦事 。 上万台服务器拷贝上云 , 需要并行执行 , 过程中涉及近50万次变更操作 , 包括跑数据 , 加数据、准备切换等 , 所有变更操作由系统执行 , 且不能对业务有任何影响 。
关键能力三:智能运维与实时交易分析
“双十一”期间会遇到很多问题 , 比如11月11号凌晨交易峰值之下可能造成服务器卡顿、故障等 , 那么如何才能保证数亿用户持续流畅的支付体验呢?上文提到 , 为了保证容量与弹性 , OceanBase的服务器非常多 , CPU达数百万级 , 怎么确保全部稳定运行?以及11月11号当天近50万次的服务器变更操作 , 如何更有效地执行?这就涉及到效能的问题 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。