国内首家|解密HTAP数据库测试基准-HyBench(三)
发布时间:2024年01月15日 15:53 来源:

在解密HTAP数据库测试基准HyBench系列文章的第二篇中,我们分析了HTAP数据库的技术特点,并且针对性的提出了测评的指标,接下来我们分享HyBench基准的数据模型和工作负载,以及如何构建完整的基准测试程序。

数据模型和工作负载的核心是要具有代表性、通用性且符合真实应用场景。在线交易分析及风控是当前HTAP数据库最典型的应用场景。例如我们熟知的支付宝、微信、微众银行、网商银行等互联网交易平台,就需要在处理高并发的支付和贷款事务的同时,对实时数据进行分析,识别交易过程中的信用欺诈等核心风险,保障金融安全。这个来源于真实应用的场景是HyBench基准的数据模型设计基础。

数据模型

HyBench基准的数据模型包括8张表,其中个人客户表(CUSTOMER)、公司客户表(COMPANY)、储户账户表(SAVINGACCOUNT)、支票账户表(CHECKINGACCOUNT)、贷款合约表(LOANAPPS)为实体表,转账交易表(TRANSFER)、支票交易表(CHECKING)、贷款申请表(LOANTRANS)为关系表。


数据生成

为了使数据更加贴近真实情况,HyBench基准的数据基于幂律分布和指数分布倾斜分布,即根据各省和各城市的实际GDP排名生成指定偏态分布的数据。实际的业务操作也向某些数据倾斜,比如转账,同一城市的客户和公司和不同城市的客户和公司相比,更有可能进行转账或支票。

在生成数据的过程中,同样也产生了各种异常数据来模拟风险控制场景,具体包括产生被封禁账户、与相关被封账户的转账和贷款延期等场景。

工作负载

工作负载根据测评指标的关注点来设计,所以HyBench基准有三种类型的工作负载,分别是OLTP、OLAP和OLXP工作负载。OLTP工作负载包括18个典型的金融应用交易事务操作,其中有8个只读事务和10个读写事务,OLAP工作负载包括13个分析型查询操作,OLXP工作负载包括6个分析型事务和6个交互式查询。

工作负载执行模式

由于有三种不同的工作负载,因此在执行过程中采用三阶段连续执行规则。第一阶段使用并发数m执行OLAP工作负载,每个线程以随机顺序执行13个查询语句,得到的测试结果为每秒处理的查询数QPS。第二阶段使用并发数n执行OLTP工作负载,得到的测试结果为每秒处理的事务数TPS。第三阶段分别使用n和m个并发同时运行分析型事务(AT)和交互式查询(IQ)来执行OLXP工作负载,该阶段得到的测试结果为XPS(即每秒处理的AT和IQ操作的总和)和数据新鲜度的值。工具软件也支持以指定的并发单独运行某个阶段,来评估特定场景的性能。

至此,HyBench基准的神秘面纱已完全揭开。接下来的解密HTAP数据库测试基准HyBench系列文章第四篇——HyBench实战篇,敬请期待。

往期文章:

国内首家 | 解密HTAP数据库测试基准-HyBench(一)

国内首家|解密HTAP数据库测试基准-HyBench(二)

目前,HyBench基准评价工具软件已经在开放原子开源基金会的Atomgit平台及开源中国的Gitee平台上进行开源,欢迎业界同仁积极下载试用,反馈问题与建议,共同推动推动HTAP数据库产品的优化与健康发展。

代码下载地址:

https://atomgit.com/cstc2023/HyBench

https://gitee.com/cstc2023/hybench