国内最专业的IT技术学习网

Mysql数据库

当前位置:主页 > Mysql数据库 >

澳门银河官网网址:OceanBase如何获得TPC-C测试第1名?

发布时间:2019/10/09标签:   数据库      OceanBase      TPC-C    点击量:

原标题:澳门银河官网网址:OceanBase如何获得TPC-C测试第1名?

 

4. D测试,OceanBase在这个场景其实相对传统数据库是有较大天生优势的,OceanBase每个Warehouse数据有两份数据三份日志,通过paxos强同步,保证RPO=0的前提下只有秒级RTO。

而OceanBase这次是使用了TPC-C测试迄今以来最严苛的一个流程来完成这个性能测试的,我们首先使用了10分钟进行预热,然后在6088w tpmC稳态保持运行25分钟并完成一个检查点,再继续跑了完整的8小时性能压测采集阶段,总耗时超过8个半小时,中间性能最大波动不到0.5%,最终结果也让审计员异常兴奋。

有机会挑战TPC-C测试相信是所有数据库内核开发人员的梦想,但TPC-C测试标准非常复杂。由于这是国产数据库同时也是分布式数据库第一次冲击这个榜单,为了完成这次挑战,OceanBase团队前后准备时间超过一年。

假设某系统获得150万tpmC,大约对应12万个仓库,按照70MB/仓库计算,数据量约为8.4TB。某些厂商采用修改过的不符合审计要求的TPC-C测试,不限制单个warehouse的tpmC上限,测试几百到几千个warehouse全部装载到内存的性能,这是没有意义的,也不可能通过审计。在真实的TPC-C测试中,存储的消耗占了很大一部分。OceanBase作为第一款基于shared nothing架构登上TPC-C榜首的数据库,同时也作为第一款使用LSM Tree存储引擎架构登上TPC-C榜首的数据库,在存储架构上有如下关键点:

 

1. A测试,通过提交和回滚payment事务来确认数据库对原子性支持,和I测试一样,OceanBase的A测试跑了两遍,分别应对分布式事务和本地事务。

我们就可以通过一条语句更新库存并得到商品和库存信息:

 

 

Prepared Statement与执行计划缓存

1. 硬件选型,这里不仅要对数据库服务器选型,还需要对RTE以及WAS服务器选型。这之前需要先期进行大量的测试和调优,来摸出在保证性价比的前提下每个角色服务器的资源配置是多少刚好。这次OceanBase测试最大的优势就是全部使用了云化资源,我们不需要再关注最底层机房、机柜、布线这些细节,只需要通过快速的规格调整来拿到我们需要的机型。

依靠自动两阶段提交解决原子性(Atomicity)

一、OceanBase如何做TPC-C测试

 

 

 

          s_remote_cnt = s_remote_cnt + ?, 

 

          AND s_w_id = ? 

 

TPC-C标准里要求“订单创建”、“订单支付”、“订单配送”、“订单支付”事务之间都是串行化隔离级别(Serializable)。OceanBase采用的方法是基于多版本的并发控制机制。事务提交时会申请一个事务的提交时间戳,事务内的修改以新的版本写入存储引擎,并且保证之前版本的数据不受影响。事务开始时会获取一个读取时间戳,整个事务内数据的读取操作只会看到基于读取时间戳的已提交数据。所以,事务的读取不会遇到脏数据、不可重复读数据以及幻读数据。同时,事务的修改会在修改的数据行上持有行锁,保证两个并发的修改相同行的事务会互斥。

OceanBase会自动跟踪一个事务内所有SQL语句操作的数据,根据实际数据修改的位置自动确定两阶段提交的参与者,事务开始提交时,OceanBase自动选择第一个参与者作为协调者,协调者会给所有参与者发送Prepare消息,每个参与者都需要写各自的Redo Log和Prepare Log(也意味着每个参与者各自做自己的Paxos同步),等协调者确认所有参与者的Redo Log和Prepare Log完成后,然后再给所有参与者发送Commit消息,再等所有参与者的Commit工作完成。整个协议是在事务提交过程中自动完成,对用户完全透明。OceanBase为每一个两阶段提交事务自动选择一个协调者,整个系统任何机器都可以分担协调者工作,所以OceanBase可以将事务处理能力进行线形扩展。

 

版权信息Copyright © 银河官网 版权所有    ICP备案编号:鲁ICP备09013610号