概述
今年的淘宝双11交易额达到的惊人的571亿,在这些光鲜数据的背后,其实也是对淘宝数据库的极大考验。更值得一提的是,今年双11支付宝的支付峰值突破了每分钟285万笔,创下了新的纪录。如此高并发负载的交易量,让我们对幕后支撑的数据库技术OceanBase心生好奇。究竟OceanBase有哪些强大之处呢?
相信大家看完这篇文章就明白了。
2014中国大数据技术大会第二日下午大数据生态系统论坛上,阿里巴巴资深技术专家蒋志勇为大家详细介绍了OceanBase,演讲主题为《OceanBase,支撑支付宝交易的分布式数据库系统》。

蒋志勇表示,OceanBase是一个分布式关系数据库,也是第一个用于金融核心系统的非商业数据库。对比传统商业解决方案,它提供了很多互联网公司急需的特性:基于PC服务器,可在线水平扩展;无共享存储;性价比高于商业数据库。
蒋志勇还对比了 互联网领域和传统业务中数据库不同特性的需求:
事务(ACID):互联网 = 传统业务;
可用性:互联网 = 传统业务性能:
互联网 >>传统业务;
性价比:互联网 >>传统业务;
扩展性:互联网 >>传统业务。
为了保证数据的完整性,在使用灰度升级之外,阿里还会对数据进行校验:磁盘读写,每条记录带64位checksum;网络传输,每个网络包带64位checksum;每个文件多副本(3~6),每个文件都有64位checksum;修改增量多副本,带64位累积checksum;Redo log,每条都带checksum及对应于UpdateServer内存的checksum;每个表每个列都带64位checksum。
关于支付宝核心数据库 OceanBase的一些信息:
1、OceanBase是阿里巴巴自主研发支持海量数据的高性能分布式数据库系统。
2、比传统的关系数据库,谈及OceanBase的最大亮点,当属可自动扩展的特点,它不仅仅可以扩展到一个数据中心,乃至同城,在未来,OceanBase能成为跨地域多数据中心的全球数据库。当然,OceanBase还有一些特性,比如强一致性,能够自动容忍一台服务器甚至是整个数据中心故障,而不会丢失一条记录。值得强调的是,支付宝交易之所以会选择OceanBase而不是开源的MySQL,正是因为只有OceanBase能够做到完全不丢数据。
3、OceanBase内部会自动把数据切分为一个个比较小的分片,每台机器服务若干个分片,当某台服务器的分片成为热点时,会自动触发迁移操作,将分片从负载较高的服务器迁移出去,这样,就避免了“木桶效应”。这也是OceanBase的一个优势,无论双十一之前热点怎么变,OceanBase都可以很快把热点数据均衡到整个集群,而不是因为一两台服务器把整个集群压垮了。
4、OceanBase是真正的分布式关系数据库,不仅仅支持分布式,还支持SQL、事务、并发控制这样的关系数据库特性,用户使用起来和MySQL没有任何差别。
5、OceanBase的事务引擎面向内存设计的,它的特点就是快,而且避免了传统数据库的写入放大问题,这样,OceanBase的锁等待天生就要更少。另外,OceanBase还提出并第一个实现了提前解锁、排队等待等优化思想,这些思想后来也应用到集团MySQL数据库的patch中,成为阿里双十一应对热点问题的标配。
6、和MySQL的不同点在于,MySQL主备同步是有丢数据风险的,而OceanBase通过Paxos选举协议实现强一致性。无论是一台服务器,还是数据中心整体故障,OceanBase都能够自动恢复,而且做到完全不丢数据。OceanBase的这种做法和Google、Microsoft以及Amazon云存储系统的底层原理都是共通的。

























最后
以上就是阳光西牛为你收集整理的解密支撑支付宝交易的分布式数据库系统——OceanBase的全部内容,希望文章能够帮你解决解密支撑支付宝交易的分布式数据库系统——OceanBase所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复