今天(译注:December 17, 2022),TPC发布了第一个衡量基于SQL的大数据系统性能的工业基准测试标准,TPC-DS 2.0。构建在充分研究的TPC-DS之上,2.0版本特别针对基于SQL的大数据而设计、同时保留了所有用于基准测试决策的关键特性。在过去的两年中,Hadoop社区已经部分采用前面TPC-DS 1.0版的成果来表征性能。它有着丰富的模式和广泛的适用性,在集群系统上能产生100TB的仿真数据,还能构造非常大量的复杂查询,这一切使得TPC-DS 1.0成为基于SQL大数据性能测试方案的头牌。
但是,没有哪个大数据厂商完整的运行整个TPC-DS 1.0基准测试,最有可能的原因是这些厂商无法满足所有的必要要求,又或者他们的大数据方案性能是次优的(译注:所以不敢完整运行)。故此,他们择优挑选部分基准测试,例如挑选模式和查询的子集要求进行测试,并且按照自己的方式执行,最后公布他们系统的度量结果。
正是因为类似于上面这种“基准测试”,才会驱使Omri Serlin在25年前创立TPC。TPC邀请这些开发基于SQL的大数据系统公司加入TPC阵营帮助设计TPC-DS 2.0,而不是指责这些公司违反TPC的公平使用政策。
下面看看1.0和2.0的区别吧。具体请参考http://www.tpc.org/tpcds/default.asp。
TPC-DS 2.0把最小原始数据库规模增加到了1TB,并且允许基准测试publication扩大到100TB。由于大数据方案的目标是操作大规模数据集,TPC可以评估1PB的数据集。
由于受当前大数据实现的限制,维度表的更新语句已被基准规范淘汰。TPC认为考察插入和删除操作更为明智,并符合当前阶段大数据系统的实现。
为了替代原子性、一致性、隔离性和持久性(ACID)符合性要求,当任何单个持久媒介永久不可恢复的时候,TPC-DS 2.0要求这些系统必须经过测试,以保证能继续执行查询和维护全数据功能。
TPC-DS 2.0中的指标已经从度量负载、单用户、多用户和数据维护的算术平均值转移到度量几何平均值。这种变化主要考虑之前对于某些系统的指标会受到数据维护时间的影响。
TPC-DS 1.0要求所有约束都要定义,例如主外键、“not null”。在TPC-DS 2.0中,所有的强制与非强制约束都是允许的,以便查询编译器明白基本的数据关系并生成合理的查询计划。
TPC-DS 2.0从数据维护中分离了数据查询。由于查询和数据维护都需要ACID,TPC-DS 2.0回归简单模式,毕竟查询和数据维护是完全不同的操作。
TPC-DS 2.0现在已经是TPC的第二个大数据基准测试标准。在2014年8月,TPC引入了TPCx-HS——业界第一个大数据系统基准测试标准,用来评估大规模系统拓扑结构和实现方法。TPCx-HS也是TPC的第一个“Express”级基准测试标准,可下载工具包获得。
展望未来,TPC已开始迈向第三个大数据基准测试标准,“Express”级标准——TPCx-BB,目前正在接受公开审查。TPC鼓励有兴趣的朋友发表自己的审查意见。除此以外,TPC鼓励任何对TPC在大数据和其他领域工作有兴趣的朋友访问TPC的会员页面,或提交原创未经发表的论文到即将召开的技术会议上(TPCTC)。