-
杨传辉(⽇日照)[email protected]
2016-12
OceanBase蚂蚁双⼗十⼀一背后的关系数据库
-
Agenda
2 OceanBase在蚂蚁OceanBase在蚂蚁的发展历程
OceanBase 1.0:⾯面向未来的云数据库⾼高可⽤用、强⼀一致、低成本的云数据库
3
1 传统数据库遇到双⼗十⼀一双⼗十⼀一对传统关系数据库的挑战
-
双⼗十⼀一
-
可扩展性 & 成本
⾼高档服务器器 ⾼高端存储
⾼高深莫测的数据库软件
$$
-
强⼀一致&⾼高可⽤用
主库
共享存储(主)
IDC-1
备库
共享存储(备)
IDC-2
传统数据库的⾼高可⽤用强依赖共享存储
共享存储⽆无法容忍单IDC故障
-
⾼高并发
1
2
3
数据库连接数⼀一个数据库连接 => ⼀一个后台进程/线程
数据库热点秒杀、减库存
⼤大查询阻塞⼩小查询定时任务、⽤用户写错SQL优化器器⽣生成错误的执⾏行行计划
-
Agenda
传统数据库遇到双⼗十⼀一双⼗十⼀一对传统关系数据库的挑战
1
2 OceanBase在蚂蚁蚂蚁核⼼心业务上OceanBase
OceanBase 1.0:⾯面向未来的云数据库⾼高可⽤用、强⼀一致、低成本的云数据库
3
-
OceanBase发展历程
第⼀一个
⽤用户
⽀支持SQL ⾦金金融级DB⾦金金融级云数据
库
2010:0.1~0.3版本
2013:0.4版本
2014:0.5版本
2016:1.x版本
账务
-
蚂蚁核⼼心业务架构
-
交易易O2O:⾼高可⽤用
主库
存储(主)
备库
存储(备)
传统关系数据库:主备库
OB(主) OB(备)
OB(备)
OceanBase:分布式投票
☑Paxos协议强同步☑单IDC故障RPO为0☑故障影响时间⼩小于35s
☑最⼤大保护模式☑最⼤大性能模式☑最⼤大可⽤用模式
-
交易易O2O:质量量⻛风险
⻛风险监控
随时回滚 ⾼高可⽤用
灰度迁移
99.99%
数据质量量
性能容量量
稳定性
-
交易易O2O:数据迁移
交易易APP
Oracle OB
5%流量量
95%流量量
交易易1 交易易2 交易易3
timeline
流⽔水型业务
零历史数据迁移⽅方案灰度引流
原则:稳扎稳打逐步引流 ⽩白名单 0.01% -> 1% -> 10% …… 留留好后路路,随时回滚
-
交易易O2O:2014.11.11
双⼗十⼀一准备
全链路路性能压测 数据⼀一致性实时监控 完善的异常预案
Oracle
• 成本⾼高
• 机房故障
OceanBase
• RT平稳
• 吞吐量量⾼高2~3倍
成本较低淡定地迎接双⼗十⼀一
-
蚂蚁核⼼心全⾯面开花
分布式数据访问层
交易易 ⽀支付 账务
灵活的扩展性
30秒内⽆无损切换
⾼高性能、低成本
兼容MySQL语法
内置多租户管理理
OceanBase
-
Agenda
传统数据库遇到双⼗十⼀一双⼗十⼀一对传统关系数据库的挑战
1
2 OceanBase在蚂蚁OceanBase在蚂蚁的发展历程
OceanBase 1.0:⾯面向未来的云数据库⾼高可⽤用、强⼀一致、低成本的云数据库
3
-
可扩展的分布式架构
⽆无需分库分表
⾃自动负载均衡
⾃自动容错处理理
分布式事务处理理
PC服务器器分布式,⽆无共享,多副本
-
⾼高可⽤用
单⼀一数据库视图
分布式选举采⽤用Paxos协议实现的
分布式选举和多库多活技术
⾃自动⼯工作负载均衡
分布式调度与管控
运⾏行行在Linux系统上的ObServer
-
⾼高效存储引擎
准内存数据库
SSD友好
OLTP/AP混合查询
-
性能
insert select oltp
TPS/QPS 181,869 751,808 206,437
平均RT 2.75ms 0.66ms 43.59ms
95%分位RT 4.20ms 1.22ms 57.17ms
Sysbench ⼀一主两备,仅主库提供服务 Intel(R) Xeon(R) E5-2682 [email protected]×64(HT) Memory:512GB RAM Disk:LSI RAID5 连接数:500
测试时间:2016年年11⽉月
-
多租户
DBaaS架构
租户调度
SQL-VM资源隔离
-
MySQL兼容
应⽤用
应⽤用⽆无缝迁移
迁移⾃自动化
基于代价的优化器器
-
双⼗十⼀一并发优化
数据库提前解锁 避免⼤大查询阻塞瞬间海海量量连接数
-
未来发展
规模化运营内部业务
对外提供公有云服务
-
⼩小结
1
2
3
传统数据库遇到双⼗十⼀一可扩展性捉襟⻅见肘成本⾼高昂、可⽤用性有待提升
OceanBase在蚂蚁交易易O2O 核⼼心业务全部上OceanBase
OceanBase 1.0可扩展、⾼高可⽤用、低成本兼容MySQL的云数据库
-
杨传辉(⽇日照)[email protected]
2016-12
Thanks!
mailto:[email protected]