做TPC-C测试是为了消除质疑
时间:2022-04-29 21:24:02 | 来源:行业动态
时间:2022-04-29 21:24:02 来源:行业动态
阳振坤解释,要做TPC-C benchmark测试,第一步是要证明系统能够做交易处理,能够满足事务的ACID(原子性、一致性、隔离性、持久性),在这前提下才能进行下一步测试。而目前,除了OceanBase之外,分布式架构中能够满足数据库事务ACID的,已知的仅有Google的Spanner。这意味着,如果不能保证ACID,堆叠再多的硬件也无法通过TPC-C测试,更不用谈跑分。
那么,是如何在满足横向扩展需求前提下解决高可用问题的?
一方面,基于PAXOS协议,OceanBase把原来的每一个物理节点换成了一个虚拟节点,这个虚拟节点背后有3到5个物理节点。借此,就解决了分布式事务的横向扩展问题。另一方面,对于高可用,我们的做法是增加一个备库,将主库事务同步到两个备库。也就是说,每一笔交易会至少在3个库中的2个库落地存储,从而降低机器故障的风险。这样一来,系统的高可用性就会大大提升。阳振坤介绍。
在这方面,事实上TPC-C也不仅仅只是测试性能和性价比,在系统稳定性、高可用方面都有测试,除了满足性能,同时还需要连续八个小时稳定的持续的运行。对此,OceanBase更是做到了8小时的性能抖动0.5%。这也说明,OceanBase在具备在大规模生产环境下长期平稳运行的能力,在稳定的前提下,又能够做到极高的性能。
所以说,OceanBase在TPC-C的测试中取得的成绩,更多代表了分布式架构的大趋势。虽然与甲骨文数据库在具体功能上还有不小差距,单机的平均性能也有距离,但是OceanBase最大的优势是可以用大量廉价的通用服务器达到昂贵高端硬件所能达到的极致性能以及更高的可用性。阳振坤强调:我们做这个测试最大的价值其实就是想向外界证明,我们的分布式数据库既能做交易处理,也能做智能场景分析,不仅能实现无限扩展,同时还具有强大的可用性和可靠性。所以接下来,我们要做的就是把商业智能融入其中,向企业提供所需的交易处理和商业智能分析能力。