在解密HTAP数据库测试基准HyBench系列文章第一篇中,我们介绍了HTAP数据库的发展情况、测试基准现状以及HyBench基准的研发背景与价值。
与已有的HTAP测试基准相比,HyBench基准在数据模型、工作负载、测评指标方面均做了一些创新性的工作。在本篇文章中我们着重介绍HyBench基准的测评指标是如何设计的。

HyBench概览
1、HTAP数据库的技术挑战
大部分HTAP数据库是通过行列共存的架构设计,实现一站式同时处理OLTP负载和OLAP负载。这种架构带来了两方面的问题:
·负载隔离性,即OLTP负载和OLAP负载的资源争夺问题
·数据新鲜度,即OLTP到OLAP的数据同步延迟问题
正所谓鱼和熊掌不可兼得,负载隔离性和数据新鲜度往往会产生冲突。举例而言,在同一实例中处理混合负载会有很强的工作负载干扰,但OLAP引擎能快速读取OLTP的最新事务数据,有利于数据新鲜度指标;而在不同实例中分别处理OLTP与OLAP会有很好的负载隔离性,但数据同步延迟增大牺牲了数据新鲜度。
如何权衡负载隔离性与数据新鲜度并取得平衡,是HTAP数据库在设计过程中的最大挑战,同时也决定了其核心的技术评价为处理OLTP与OLAP混合负载的能力(性能)和OLAP与OLTP之间的数据同步延迟(数据新鲜度)两大方面,此外还应该具备基本的单独处理OLTP和OLAP负载的能力。
2、HyBench测评指标设计
HyBench选取了OLTP的性能、OLAP的性能、OLTP与OLAP混合负载性能以及数据新鲜度作为衡量指标,以下为各测评指标的定义。
1、TPS:事务处理吞吐量,用于反映OLTP工作负载的性能。
2、QPS:查询处理吞吐量,用于反映OLAP工作负载的性能。
3、XPS:事务处理吞吐量和查询处理吞吐量之和,用于反映OLTP和OLAP混合负载的性能。
4、Freshness:数据新鲜度,用于反映OLTP到OLAP数据同步延迟。
5、H-Score:统一衡量指标,通过一个统一的打分指标反映HTAP数据库的综合性能,便于大众直观认识。
其中数据新鲜度指标的纳入和统一衡量指标H-Score的提出是HyBench基准工作的亮点,以下我们将详细介绍。
HyBench基准创新测评指标——数据新鲜度
数据新鲜度指标反映OLAP负载访问到的数据的实时性,一般有两种衡量方式:
·统计OLAP分析的最新元组数目与OLTP所有更新的元组数目的比率,最高为1
·计算OLAP查询到最新数据的延迟时间
HyBench基准选择了延迟时间作为数据新鲜度的衡量指标,具体的计算方式为:在每个表单中有一个时间戳字段,在执行混合负载时,经过间隔时间段同时在OLTP与OLAP负载上进行查询,对比结果集的数据差异与时间戳差异,并将最大的时间戳差值作为数据新鲜度测量值。时间戳差值越小,代表延迟时间越短,则数据新鲜度指标越优。
HyBench基准创新统一衡量指标——H-Score
H-Score指标综合了事务处理吞吐量TPS、分析查询吞吐量QPS、混合负载吞吐量XPS、数据新鲜度以及数据规模因子SF,公式表示如下:

H-Score是一个具有创新意义的衡量指标,它较全面的包含了量化HTAP数据库性能的各方面因素。H-Score的计算方式在本质上反映工作负载隔离和数据新鲜度之间的权衡,即工作负载隔离越好,混合负载性能XPS越高,但数据新鲜度指标也可能更差。因此H-Score作为HyBench基准的测评指标是客观合理的。
这也是为什么用户、数据库厂商、第三方评测机构均可使用HyBench基准:用户可利用HyBench基准客观评价HTAP数据库性能;数据库厂商可利用HyBench基准进行面向HTAP场景的性能评价和压测;第三方评测机构可利用HyBench基准提供客观的数据库性能测试服务。
往期文章:
解密HTAP数据库测试基准-HyBench(一)
目前,HyBench基准评价工具软件已经在开放原子开源基金会的Atomgit平台及开源中国的Gitee平台上进行开源,欢迎业界同仁积极下载试用,反馈问题与建议,共同推动推动HTAP数据库产品的优化与健康发展。
代码下载地址:
https://atomgit.com/cstc2023/HyBench
https://gitee.com/cstc2023/hybench