Leming TPC-E 基准测试

冷暖自知 提交于 2020-01-08 16:39:09

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

发展前景

        近年来,IT领域呈现火箭式发展,技术上的理想主义和家国情怀鼓舞着国产数据库的自主创新,得益于国家政策的支持,国产数据库已经百花齐放。尽管数据库产品已经经过了实战应用,但是要得到业界的广泛认可,走出国门跻身世界,甚至向传统主流数据库发出挑战,就需要选取国际国内公认的、权威的基准进行测试证明。

        数据库是一个企业的核心,无论企业的业务是怎样的,数据库只能识别任务,不明就里,这些任务主要分两类:一类是交易处理,一类是智能分析。针对交易处理,可以选取国际国内认可的TPC-E基准进行测试。

基准介绍

        TPC-E基准测试是以股票交易业务场景为载体的测试,选取股票交易业务场景的初衷是它作为金融行业的典型,较其他行业有更高的性能要求,并且操作类型丰富,具有广泛的代表性,是经典的OLTP系统。TPC-E基准测试使用统一的数据模型进行测试,也就是说,测试并不在乎被测数据库本身的数据,而是使用相同的原则生成股票行业数据。

        TPC-E基准基于现实股票交易操作抽象出10种数据库事务及其混合比,描述了客户、证券公司、股票交易所之间的关系,如下:

                                            

解析

        从表面上看,整个架构以证券公司为核心,证券公司的操作始终代表客户的意愿,所以本质上,测试还是围绕客户买卖股票行为展开,客户提出股票交易请求,证券公司收到请求后代表客户将请求发送到股票交易所,并将收到的交易结果反馈给客户。为了保持测试前干净的环境和测试时数据的更新,基准还提供了2种与业务场景无关的事务,即交易清理事务、数据维护事务。

        客户主体充当了非常重要的作用,它决定了数据规模,测试前根据数据库能力合理设置用户数,但应满足客户数不小于5000并且是1000的整数倍。客户使用账户购买股票,每个客户平均有5个账户,每个账户交易的股票平均数为10只,故每个客户交易的股票平均数为50只。客户提出交易请求的订单中有60%是市价订单(其中30%买入,30%卖出)表示以现在的市场价进行交易;另外40%是限价订单(其中20%买入,20%卖出),表示达到指定价格后再交易。每成功提交一个订单,相应的就会产生一个结果,TPC-E基准测试就是用产生结果的速率来衡量系统性能,称其为事务吞吐率。

        我们不断强调TPC-E基准是高度仿真的标准,其仿真性体现在丰富的事务种类、合理的混合比、严格的响应时间、以及事务吞吐率的有效性等约束条件上。另一方面,TPC-E基准又是一个基础标准,测试的是在该配置下,数据库是否具备这个基础能力,而不是测试数据库的能力到底有多强,这也是为什么其结果必须满足标准吞吐率的80%-102%范围才视为有效。

        实际应用系统数据库中的数据可能与股票行业相去甚远,TPC-E基准测试使用股票交易行业数据进行测试,却说体现的是实际应用系统中数据库的性能,该如何理解?

        数据库是一种技术,数据库性能测试体现的是数据库的能力,无论什么样的应用系统,对于数据库来说,都是增删改查,所以选取股票交易行业进行测试,操作丰富足以展现能力,能够科学全面的评估数据库的性能,而且使用统一的数据进行测试结果具有可比性。

                         

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!