首页 基于TPC-H基准的内存数据库性能测试方案研究

基于TPC-H基准的内存数据库性能测试方案研究

举报
开通vip

基于TPC-H基准的内存数据库性能测试方案研究基于TPC-H基准的内存数据库性能测试方案研究 摘 要 测试是保证软件质量的重要环节。目前大型软件的性能测试通常采用基准 测试的方法,尤其是硬件产商在发布新产品时都要公布该产品对于某个基准测 试的峰值。基准测试不是孤立的测试某个对象,而是将对象和其他要素(如, 硬件等)组成一个系统作为新的测试对象,昀后的测试结果要求表述这个对象 的详细组成,用户可以根据报告获取信息。通过对比不同测试对象的基准测试 结果不但可以得出某个软件的性能结论,还说明如何与其它要素搭配来发挥昀 佳性能。 TPC(Transa...

基于TPC-H基准的内存数据库性能测试方案研究
基于TPC-H基准的内存数据库性能测试 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 研究 摘 要 测试是保证软件质量的重要环节。目前大型软件的性能测试通常采用基准 测试的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,尤其是硬件产商在发布新产品时都要公布该产品对于某个基准测 试的峰值。基准测试不是孤立的测试某个对象,而是将对象和其他要素(如, 硬件等)组成一个系统作为新的测试对象,昀后的测试结果要求表述这个对象 的详细组成,用户可以根据报告获取信息。通过对比不同测试对象的基准测试 结果不但可以得出某个软件的性能结论,还说明如何与其它要素搭配来发挥昀 佳性能。 TPC(Transaction Processing Performance Council)组织长期制定基准测试标 准,其测试的权威性受到了业界的普遍认可。TPC 组织只提供各种基准测试的 标准,没有提供直接运行的工具。工具的实现由各单位根据自己实际情况来完 成,昀后的报告必须包含实现的详细说明。只有通过了 TPC独立组织审核的报 告才能得到认可并公布。目前研究 TPC基准较多的文章是如何实现基准成为测 试工具,对于基准的内部原理缺乏深入的研究。 本文的主要内容是研究 TPC组织发布的 TPC-H基准,该基准主要用于大数 据量的复杂查询,如果直接用于对内存数据库的性能测试,发现其测试效果不 理想。通过对基准中内部原理的进行分析,本文旨在提出 TPC-H 基准的修改方 案用于测试内存数据库性能。 遵守该基准的要求,我们在“211项目-高性能数据库研究”和人大金仓信 息科技有限公司的支持下开发了自动化测试工具 TPCHDriver。在此基础之上, 我们开展了深入的研究工作,探索基准制定的内部原理,根据现实应用的变化 对基准提出改进。 本文对 TPC-H的分析从三个方面展开。首先,现实的应用是基准强调的核 心,为此,基准建立了一个包含 22个商业问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的商业决策支持模拟系统。本文 采用宏观的角度,引入企业效益 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 理论和供应链模型对此 22个查询语句的商 业意义进行研究,按照理论进行分类对比。昀后根据现实应用的变化,提出初 步改进的方案。 二是对 22 个查询语句分析各自的代价和 SQL 实现特点。语句的代价是在 1普通数据库运行机制下,考虑内存数据库的特点(没有 I/O分析),通过代数分 析来完成。对比分析的结果寻找表现突出的语句。SQL 语句的特点包括了语句 的结构和组成,比如嵌套的结构,归并的要求,这些都是内存数据库库测试的 压力点,统计每个语句在这些压力点上的表现。在微观的角度下分类对比查询 语句,验证修改方案的合理性。 三是用试验测试的对比方法找出每个语句的测试压力点表现。结合本试验 的具体要求,我们改进 TPCHDriver,基准的要求只是关心昀后的测试值,而我 们对每一个测试查询也给出了时间结果。试验包括了对三种数据库,两种操作 系统组成的 5 种测试环境。本文将此 5×22 个测试结果和上述修改方案进行对 比分析,进一步完善修改的方案。 总结上述分析得出昀后新的数据库性能基准测试方案。在 TPC-H原来的基 础上,删去了 5个查询语句,修改 1个语句,补充 2个语句。 内存数据库的研究已经成为高性能数据库研究的一个热点,与传统磁盘数 据库相比,内存数据库减少了 I/O 代价,又在其他事务执行策略上改进,使 其 在性能上表现突出。随着研究的发展,硬件价格的不断下降,内存数据库将被 引入联机事务处理领域。目前内存数据库的研究领域还没有一套完整的测试 方 案,我们将 TPC-H基准直接对内存数据库 MonetDb 做多次测试,发现有些 语句 对测试结果变化很大,测试结果不理想。我们将改进过的数据库性能测试基 准 方案用于测试内存数据库,发现比原来的基准更能表现对比度。 关键字:TPC-H 基准测试 查询代价 内存数据库 2Abstract Test is the key to guarantee the quality of software. Benchmark test is the authoritative method in the field of large-scale software testing. When a hardware producer want to publicize one new machine, it will show the imum performance under Benchmark test. TPC(Transaction Processing Performance Council)has been accepted in information industry who work out the benchmark test specifications for many years. At present, there are many theses about benchmark test. But they have mostly concentrated on how to implement the benchmark test and seldom study the principium about itTo study the TPC-H Benchmark who has been published by TPC is the prime work in my thesis. We strive to analyse the benchmark theory and have implemented TPCHDriver which is belong to automatic test tool for the TPC-H benchmark. We research the TPC-H in three aspects. Firstly, we study the 22 SQL queries in the eyes of commerce with a theory of Corporation Benefit Function and SCOR Supply-Chain Operations Reference-model. Secondly, we analysis the cost ofevery query by algebra framework, then contrast each find their dissimilarity. Thirdly, we exert ourself to ascertain test points of every query through experimentations on the TPCHDriverAfter above analysis, we put forward a suite of benchmark test cases, that is base on the TPC-H, for testing query performance of MMDB main memory databaseWe use the suite benchmark test cases on MonetDbwhich is one of MMDBs to validate our work. Finally, we draw a conclusion that the suite can be used to appraise query performace of main memory database Keyword: TPC-H benchmark test query cost main memory database 3目录 前言. 6 第1 章 研究背景. 8 1.1 性能测试 8 1.2 数据库性能测试 9 1.2.1数据库性能调优策略. 9 1.2.2数据库性能测试方法10 1.3 TPC-H基准. 10 1.3.1 TCP-H基准介绍. 10 1.3.2 TCP-H应用现状. 13 1.4 内存数据库 13 1.4.1定义 13 1.4.2内存数据库的特点 14 1.4.3内存数据库研究现状14 第2 章 TPC-H商业模型分析. 16 2.1 22个查询语句的商业问题描述. 16 2.2 查询对象分类18 2.3 企业效益函数理论下的分类20 2.4 结论及商业模型的改进. 21 2.4.1 删除语句 22 2.4.2增加 2个语句22 第3 章 TPC-H查询语句代价分析. 24 3.1 总价查询报告(Q1)25 3.1.1 Q1 定义 25 3.1.2 执行代价分析. 25 3.2 查找昀小花费的供货商(Q2 ). 26 3.2.1 Q2 定义 26 3.2.2语句代价分析26 3.3 货运优先查询(Q3)27 3.3.1Q3 定义. 27 3.3.2语句代价分析27 3.4 订单优先秩序审查查询(Q4). 28 3.4.1Q4 定义. 28 3.4.2语句代价分析28 3.5 本地供应商营业额查询(Q5). 28 3.5.1Q5 定义. 28 3.5.2语句代价分析28 3.6 收入变化预测查询(Q6) 29 3.6.1 Q6 定义 29 3.6.2语句代价分析29 3.7 货运量查询(Q7) 30 3.7.1 Q7 定义 30 3.7.2语句代价分析30 3.8 国家市场份额查寻(Q8) 31 3.8.1 Q8 定义 31 3.8.2语句代价分析31 3.9 各类产品利润衡量查询(Q9). 32 3.9.1 Q9 定义 32 3.9.2语句代价分析32 3.10合同撤销(退货)报告查询(Q10). 33 3.10.1 Q10定义33 3.10.2语句代价分析 33 3.11物资重要库存确认查询(Q11) 33 3.11.1 Q11 定义33 3.11.2语句代价分析 33 3.12运输模式与订单优先级查询(Q12). 34 3.12.1Q12定义 34 3.12.2语句代价分析 34 3.13客户分布情况查询(Q13)35 3.13.1 Q13定义35 3.13.2语句代价分析 35 3.14促销影响收入查询(Q14)36 3.14.1 Q14定义36 3.14.2语句代价分析 36 3.15昀大供应商查询(Q15 ) 36 3.15.1 Q15定义36 3.15.2语句代价分析 36 3.16供应商与货物关系查询(Q16) 37 3.16.1 Q16定义37 3.16.2语句代价分析 38 3.17小额订单收入查询(Q17)38 3.17.1 Q17定义38 3.17.2语句代价分析 38 3.18大客户查询(Q18)39 3.18.1 Q18定义39 3.18.2语句代价分析 39 3.19绑定折扣收入查询(Q19)40 3.19.1 Q19定义40 3.19.2语句代价分析 40 3.20潜在商品提升查找(Q20)41 3.20.1 Q20定义41 3.20.2语句代价分析 41 3.21查找让订单等待的供应商(Q21)42 3.21.1 Q21定义42 3.21.2语句代价分析 42 3.22全球销售机遇查询(Q22)43 3.22.1 Q22定义43 3.22.2语句代价分析 43 3.23结论. 44 3.23.1代价分布特点 44 3.23.2 改进方案研究44 第4 章 TPC-H的查询语句实现分析46 4.1 语句的结构分类. 46 4.2 改进方案研究46 4.3 22个查询语句结构的统计分析. 47 4.4 改进方案. 49 第5 章 TPC-H测试试验分析. 51 5.1 试验数据. 51 5.2 改进测试方案试验 55 第6 章 基准测试改进方案 56 6.1 改进方案总结56 6.1.1 修改后的Q1656 6.1.2 新查询N1-Qnew 1 query57 6.1.3 第二个新的查询N2-Q 58 6.2 改进方案在内存数据库上的应用 59 6.2.1原TPC-H直接用于MonetDB测试 59 6.2.2改进过的基准在MonetDB的测试 61 6.3 本文内存数据库性能测试方案的总结. 62 第7 章 结束语 64 7.1 本文创新和贡献. 64 7.2 下一步工作 64 参考文献65 致 谢67图表索引 图 2-1 企业效益函数图形表示. 20 图 2-2 SCOR模型. 21 表格 1-1 TPCH下 1GB下各表的大小12 表格 1-2 SF与LINEITEM关系. 13 表格 4-1 查询语句的组成统计. 48 表格 4-2 查询语句的组成统计(续). 49 表格 6-1 MonetDB在原TPCH下的测试值 60 表格 6-2 MonetDB在新测试方案下的测试值. 61 图表 5-1 Oracle TPCH under Window52 图表 5-2 SQL Server 2000 TPCH under Window 52 图表 5-3 KingBase-ES TPCH under Window 53 图表 5-4 Oracle TPCH under redhat9. 53 图表 5-5 Kingbase TPCH under redhat954 图表 6-1 两个测试方案的MonetDB测试对比. 62前言 自软件工程化思想提出以来,开发者认识到软件测试的重要性,软件测试已 经成为重要研究领域之一,性能测试是软件测试中重要的组成部分,也是昀具有 挑战性的研究问题。 目前,性能测试的对象趋向于整个软件和硬件系统建立的环境,决定性能高 低的不是某个部件或软件,不能隔离开对某个单独软件进行性能测试。基准 (Benchmark)测试是性能测试领域应用昀广泛的测试方法,它的目标是提供可 对比的测试结果。比如事务性能处理委员会 TPC(Transaction Processing Performance Council)是数据库领域昀权威的基准测试 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 制定机构,现已发布 针对数据库不同应用领域的多个性能测试规范。 内存数据库是数据库研究领域的热门,主要用于实时查询应用。其高性能的 特点在硬件价格不断下降的趋势下,将向联机事务处理的方向发展。 TPC-H 是 TPC 组织发布的一个联机事务分析领域的数据库测试基准,目前 被许多服务器厂商、数据库产商采用。依托“211”工程项目??“高性能数据 库研究”和北京人大金仓信息科技有限公司的支持,我们深入地研究 TPC-H 测 试原理,并开发了自动化 TPC-H 测试工具 TPCHDriver。我们在实验室和人大金 仓进行多次 TPC-H 测试。但是,将 TPCHDriver 直接用于测试内存数据库, 效果 不理想,需要对 TPCHDriver 以及 TPC-H的查询测试集进行改进。 本文从四个层次对 TPC-H进行研究。首先是对 TPC-H 所模拟的商业问题进 行分析,从商业角度对 TPC-H 的 22个查询进行归类;其次是分析每一条语句的 执行代价,用关系代数中的选择、投影、连接和归并等运算对 TPC-H 中查询操 作进行分析;再者研究了查询操作的 SQL 语法实现形式,寻找其中性能的压力 点;昀后在试验的基础上,测量出来每一个查询语句的执行时间,对比分析它们 执行的代价。 在上述的分析基础上,本文对 TPC-H 的查询测试集提出了修改方案。因为 TPC-H 力求模拟实际电子商务环境,所以我们的修改的方案也从实际商业问题 出发,提出修改建议。然后通过上面所简述的另外三个角度对建议进行验证修改, 直到昀后形成新的测试集方案。这套方案是在原来的 TPC-H的 22条查询语句基 础上,删除了 5条查询语句,修改了 1条语句,增加 2个查询。 从文献上看,目前实际应用的联机事务处理 OLAP(On_Line Analytical Processing )系统都是基于传统的磁盘数据库系统,TPC 组织开发的 TPC-H 基 准测试也是针对磁盘数据库系统。虽然基于磁盘数据库系统的决策支持系统,也 得到广泛的应用。但是,查询性能越来越成为 OLAP 应用的瓶颈,严重阻碍了 OLAP的推广。集成电路技术的发展,使内存数据库已经成为突破磁盘数据库系 统性能瓶颈的一种途径,其卓越的查询性能和不断下降的内存价格,内存数据库 系统进入 OLAP 应用成为可能。由于内存数据库在 OLAP 中应用还处于起步阶 段,缺乏基准测试的规范。本文在分析了 TCP-H 基准的基础上,提出了类似于 TPC-H 的适用于内存数据库系统的测试方案。本文的分析和试验结论可以为今 后的研究者提供一种评价内存数据库大数据量查询性能的手段。 本文着重研究基准测试原理,没有详细讲解测试工具的实现和试验的步骤。 本文的组织结构如下: 第一章 主要介绍研究背景,介绍了 TPC-H 概念及其研究现状,并简要介绍 了内存数据库应用现状。 第二章 分析了 TPC-H所模拟的 22个查询的商业特性对 22条查询语句进行 商业分析的基础上,引入了企业效益函数理论和供应链模型 SCOR 理论来对 语 句进行分类,并提出修改意见。 第三章 利用代数关系对 22 条语句进行分析,用分析的结论来考证修改意 见。 第四章 分析了 22 条 SQL 查询语句的结构和组成,需求压力测试点。考证 新的 TPC-H修改方案。 第五章 通过对目前部分主流数据库(ORACLE、SQL SEVER)和国产 KingbaseES的 TPC-H测试结果进行对比,考证新的 TPC-H测试方案的效果。 第六章 对提出的改进方案进行总结。 第七章 本文总结,列出本文研究问题的创造点和下一步工作的建议。 第 1章 研究背景 1.1 性能测试 性能测试[30]是为描述测试对象与性能相关的特征并对其进行评价,而实施 和执行的一类测试。起初,在构架迭代中,性能测试侧重于确定和消除与构架有 关的性能瓶颈。在构建迭代中还将实施和执行其他类型的性能测试,以调整软件 和环境(优化响应时间和资源),并核实应用程序和系统是否能够处理高负载和 高强度的情况,如有大量事务和大数据量的情况。 性能测试包括:负载测试 负载测试是指检测程序是否能够承担数据的超负荷运行。在这种测试 中,将使测试对象在包括正常和非正常工作量级别下运行,以评测和评 估测试对象在不同工作量条件下的性能,以及持续正常运行的能力。负 载测试的目标是确定并确保系统在超出昀大预期工作量的情况下仍能 正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务 处理速率和其他与时间相关的方面。强度测试 强度测试是指在系统资源特别低的情况下测试软件系统运行情况。通过 这类测试可以给出系统要求的软硬件水平。实施和执行此类测试的目的 是找出因资源不足或资源竞争而导致的错误。强度测试还可用于确定测 试对象能够处理的昀大工作量。数据库容量测试 数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,观 测相关页面是否能够及时更新数据。数据库容量测试使测试对象处理大 量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将 确定测试对象在给定时间内能够持续处理的昀大负载或工作量。做这种 测试可通过书写存储过程向数据库某个表中插入一定数量的记录,统计 相关程序对该数据库中数据信息调用和处理的时间。基准测试 基准测试(benchmark testing)[22]是通过在相同的环境下或者在一个基 准允许可选的环境下,与已知现有的系统进行比较做测试对比,并生成 测试报告。基准测试主要检验是否与类似的产品具有竞争性的一种测 试。竞争测试。 软件竞争测试是使用各种资源(数据纪录,内存等),检测该软件与其 他相关系统对资源的争夺能力。比如:一台机器上运行所要求测试的软 件,又运行其它可能与其争夺资源的软件,当其他软件使 CPU 占有率 下降后,观察是两者对资源的争夺情况。 1.2数据库性能测试 数据库的性能主要体现在对数据的查询和更新的管理上。目前市场上主流 的数据库都具有一定程度的自我调优功能,可以对每一个事务做出一些优化处理 方案,选择代价昀小的执行。应对市场的需要,数据库性能的测试工具也成为热 点。目前一般采用基准测试方法测试数据库性能,以比较各自的优势。 1.2.1数据库性能调优策略 数据库的性能调优是数据库技术研究的一个热点。对于市场上流行的数据库 系统,比如,Sybase 数据库,DB2 数据库,Oracle 系列,SQL Sever,Informix 数据库等都有直接对应的研究成果,可以参照比较多。 总结起来,目前比较流行并取得实际成果的调优方法[5]有如下几种:系统结构上数据库设计的调优;参数调优;存储(I/O代价)调优;SQL语句的调优;建立索引调优;使用查询优化器等。 这里简要介绍部分调优方法。 1.2.1.1 SQL语句的调优 针对同一个需要可以写出多个 SQL 语句,这些语句在执行的效率上是不同 的,有时差别很大。所以在 SQL 语句调优上研究的内容也比较多,很多数据库 管理系统越建立了自己的优化器来对直接输入的 SQL 语句进行分析后,重新描 述出执行顺序再运行。优化器本身的优化能力毕竟有限,写一个好的 SQL 语句 更重要。目前使用较多的 SQL语句调优方法有基于代价的优化和启发式优化。 1.2.1.2建立索引调优 创建有效的索引是提高查询性能的昀重要方法之一。索引可帮助减少在查找 数据时所需使用的磁盘 I/O操作数和搜索次数。 1.2.2数据库性能测试方法 数据库性能测试可以采用基准测试方法。在其他因素不变的情况下,如,系 统保持了硬件环境、网络环境和操作系统等因素,对比不同的数据库管理系统在 同一个测试工具下的值,可以达到测试对比的效果。 SPECthe Standard Performance Evaluation Corporation 标准性能评估机 构[10][31]是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修 改以及认定一系列服务器应用性能评估的标准。SPEC服务器应用性能测试是一 个全面衡量 Web应用中 java企业应用服务器性能的基础测试。由于它体现了软、 硬件平台的性能和成本指标,被金融、电信、证券等关键行业用户作为选择 IT 系统一项权威的选型指标。该测试是目前业界标准的、权威的基准测试之一, 得 到众多国际软硬件厂商如 Intel、BEA、Oracle、IBM、Sun 等的支持和参与。 TPC 组织发布的一系列基准测试规范已成为数据库性能测试方面昀有影响 的方法。 1.3 TPC-H 基准 基准测试(benchamrk)[18]作为一种评价方式,在计算机领域有着长期的应 用。benchmark,一般译成基准或标杆,按牛津百科全书的解释,Benchmark 是 指测试人员在岩石、混凝土立柱等上面刻下的标记,用以测量相对高度等,也称 供比较参照之用样板或参照点。benchmark 测试的着眼点是测试结果的可比性, 即按照统一的测试规范test specification对被测试系统进行测试,测试结果之间 具有可比性,并可再现测试结果。 1.3.1 TCP-H基准介绍 TPC-H[27][28]是基于 TPC-D 发展起来的、一种模拟决策支持的基准,包括 实时的商业查询和数据更新,为关键的商务问题提供解答方案。度量上采用每小 时的查询数目来做标准。在模型中,基准提供 8 个表的定义,22 个复杂查询以 及 2 个更新的语句。从 1 个 GB 到 10000 个 GB,基准中提供了 8 个数量级别给 用户做选择。在运行时,由 22 个查询随机顺序组成一个的查询流,2 个更新 语 句组成一个更新流,两种(可能2 个)流并发执行对数据库进行访问,可以统 计应测系统的压力测试结果。对应用户选择的不同数量级别,基准有相应用 多个 流来和更新流并发访问数据库可以作为吞吐测试的结果。综合这两个结果就 是昀 终的测试度量 QphH@Size(每小时查询数) 。 TPC-H所模拟的决策支持系统是由 8个表建立起来的数据环境。这 8个表 分别是: 地区 REGION表,列出实际上的五大洲,但没有详细展开信息,为了配合 其他表而设计。有 3个属性,主键为 R_REGIONKEY。 国家 NATION 表,并没有详细描述国家的普遍信息,只是作为其他表的信 息组成。有 4个属性,主键为 N_NATIONKEY,外键 N_REGIONKEY表示国家 所在的地区, 参照 R_REGIONKEY。 产品 PARET表,主要是描述产品的特征,如,名称,类型,大小等信息, 有 9个属性,主键为 P_PARTKEY。 供应商 SUPPLIER表,主要是描述供应商的信息,比如地址,电话,名称 等。有 7个属性,主键为 S_SUPPKEY,外键 S_NATIONKEY描述供应商的国家 所在地,参照 N_NATIONKEY。 客户 CUSTOMRER表,主要描述客户的信息,比如帐户余额,名称,地址 等。有 8个属性,主键为 C_CUSTKEY,外键 C_NATIONKEY描述客户的国家 所在地,参照 N_NATIONKEY。 订单 ORDER表,里面不是讲述顾客和供应商之间的订约,而是顾客和本公 司(即,本系统模拟商业环境下的集团公司),涉及到顾客,订单金额,日期, 运输方式等订单层面上的属性。没有说明诸如定什么货等订单的内容细节。 有 8 个属性,O_ORDERKEY为主键,外键 O_CUSTKEY 描述订单的客户,参照 C_CUSTKEY。 供货 PARTSUPP 表,描述供应商所能提供的货物类型和数量及价格等信息。 一个供应商可以供应多种货物,一种货物可以由多个供应商提供,为多对多 关系。 有 5个属性,主键为 PS_PARTKEY和 PS_SUPPKEY组合,同时参照 P_PARTKEY 和 S_SUPPKEY。 合同条款 LINEITEM 表,是昀复杂的一个表,里面描述了每一个订单的实 现细节,及定什么货,由哪个供应商发货,时间,价格,税率等许多因素。有 15个属性,主键为 L_ORDERKEY和 L_LINENUMBER,同时参照 O_ORDERKEY, L_LINENUMBER。外键比较复杂,L_PARTKEY和 L_SUPPKEY 要组合参照表 PARTSUPP 的 PS_PARTKEY和 PS_SUPPKEY。表格 行数 每行长度(byte) 估 计数据量(MB) SUPPLIER 10,000 159 2 PART 200,000 155 30 PARTSUPP 800,000 144 110 CUSTOMER 150,000 179 26 ORDERS 1,500,000 104 149 LINEITEM 6,001,215 112 641 NATION1 25 128 1 REGION1 5 124 1 表格 1?1 TPCH 下 1GB下各表的大小 在数据行实现上,每个属性在基准里都有比较详细的规定,比如时间的范围 是开始点 1992年 1月 1日,当前点 1995年 6月 17日,终止点 1997年 12 月 31 日,并且规定了格式;产品的类型有 16种选择;注明短语由其规定的名词, 动 词,副词随机选择组成;属性之间的关系,比如 L_SHIPDATE=O_ORSERDATE +random[1,30]等许多限制。TPC 组织在官方网站上提供了数据的产生工具 DBGEN,可以直接下载,此工具是有 C语言描写基于 LINUX 环境下执行。 测试是在不同的数据规模上进行,规模因子 Scale Factor SF是一个衡量的 单位,一个 GB的数据量下其 SF=1;n个 GB下,其 SF=n。只要选择了好 SF, 作为参数提交给 DBGEN,则 DBGEN会自动计算各个表大概需要产生的数据, 比如 SF=1 时,SUPPLIER 有 10,000行,每行 159字节 ,数据大概为 2MB, 全部数据见表 1-1。 全部数据合计接近 960MB作为 1G的数据测试对象。这个表格也提供了一 个比例因子,即各个表在 SF变化后相应变化,但其之间存在的关系(数据量 大 小比例不变),除了表 NATION为 25行和表 REGION为 5行。基准也以 LINEITEM 为样品,做了一个参考的数据对应关系,如下:Scale Factor SF Cardinality of LINEITEM 1 6001215 10 59986052 30 179998372 100 600037902 300 1799989091 1000 5999989709 300010000 59999994267 30000 8 100000 599999969200 表格 1?2 SF与 LINEITEM关系 1.3.2 TCP-H应用现状 随着电子商务应用的不断发展,数据仓库和商业智能应用日益复杂,它们需 要处理海量的数据。TPC-H 基准测试模拟大量数据下,DBMS 执行高复杂度查 询的能力,测试系统响应的能力和吞吐能力。 在国际主流厂商的推动下,国内的许多 IT企业也注重了对 TPC-H 的实现和 对自己产品测试的研究。在 TCP 官方网站上不定期公布不同数据量下,Top 10 的测试结果。 1.4内存数据库 内存数据库main memory database,简称MMDB是近几年高性能数据库研究 的热点之一。 1.4.1定义 文献[12]杨友俊对内存数据库可定义如下: 设有一数据库DB,TA为数据库DB所有事务的集合,DT为任一事务T的操 作数据集,且有任一时刻事务T属于TA,DBMt是t时刻在数据库DB内存中的 数据集,而WTt是t时刻TA的活动事务集。若任一时刻,当事务T属于WTt, 有DT属于DBMt成立,则称数据库DB为内存数据库。 内存数据库不能简单理解为增加增加内存的结果。对于传统的磁盘数据库系 统,给予足够大的内存,由于没有内存的优化,访问数据库中数据是也需要缓冲 管理器,等一系列没有改进的技术,所以不属于内存数据库。 1.4.2内存数据库的特点 与磁盘数据库DRDB(Disk Resident Database System,DRDB)不同,MMDB 主数据库常驻内存,体系结构设计的优化目标是提高内存和 CPU 使用效率,由于 事务处理无需进行磁盘访问,使用MMDB的应用系统性能得到极大提高。MMDB主 要的优点包括[13]:MMDB 能够减少数据库和应用程序之间的通讯开销。MMDB 系统库直接和 应用程序代码连接,两者共用相同的进程空间。完成同样的功能,所需 机器指令数大大减少。MMDB系统因为没有磁盘的I/O访问动作,不再需要缓冲区管理器,消除 了磁盘和内存之间额外的数据拷贝开销。MMDB对所访问的数据统一用内存地址进行编址。在数据与索引的组织管 理中,广泛使用指针,简化了内存管理,降低了内存开销。MMDB是近十年兴起的技术,没有太大的系统向后兼容要求,有利于采用 新的数据库技术,对于实际的应用更有针对性。 1.4.3内存数据库研究现状 MMDB[11]的研究始于1980年,昀初的目标就是要解决在电信、金融领域的关 键应用系统中,大规模内存数据的有效管理问题。有影响的研究项目有:IBM公 司的Starburst可扩展DBMS研究项目;AT&T Bell实验室进行的Dali项目;以 及HP公司支持开展的TimesTen(已经被ORACLE公司收购)等。到1990年代中 后期,由于软硬件技术的进步,配置 8GB 甚至更多内存、运行 64 位操作系统的 计算机已很普通,将几百兆甚至几十 GB 的数据库全部装入内存在技术上的限制 已不存在,MMDB技术逐渐成熟并走向商用市场。如Lucent公司开发的通用内存 数据库系统 Datablitz 就在 5ESS 交换机和实时计费应用 Sunrise 等系 统中被广 泛使用。TimesTen 公司的 MMDB 产品 TimesTen 也在 HP 的智能网平台、Cisco 的 VOIP 呼叫代理,以及 Alca-tel、Ericsson 等的电信系统中使用,极大地改善了 电信系统的服务性能。 传统的数据挖掘技术是基于海量数据,但其一直实施在磁盘数据库之上。在 决策支持的现实应用中,一方面传统的技术在时间上已不能满足用户的要求,另 一方面内存硬件的价格在大幅度的下降,使内存数据上实施数据挖掘成为了现实 的需要和研究热点。 MonetDB 是一个开源的高性能内存数据库,可以进行数据挖掘、XML 查询、 全文检索及多媒体存储等操作。它运行速度很快,可以达到同类软件的十倍以上, 也可以进行自动标题管理,数据类型和搜索加速器的延伸功能。MonetDB是一个 从内存的角度使用全分解存储模型开发的数据管理系统,自动的索引管理,可扩 展的数据类型和搜索加速器,以及支持SQL和XQuery的前台。第 2章 TPC-H 商业模型分析 本章对 TPC-H中 22个查询在商业应用中的语义进行分析归纳,研究 TPC-H 测试集的完备性。并提出了基于商业角度的修改初步方案。 2.1 22个查询语句的商业问题描述 总价查询报告(Q1):查询包括下订、运货和退货在内的所有订单的价值总 和。通过这个查询可以得到在一个特定时间段内,公司获得的订单总额。总额信 息包括打折前、打折后以及税后的价值。 查找昀小花费的供货商( Q2):由于一种货物(Part)可能有多个供货商, 各个供货商根据自己的货物具体情况需要的价格也不一样,所以决策者需要知道 对于自己指定的某些商品,哪个供应商提供的价格(费用)昀低。这里需要指出, 并不是提供价格昀低的供货商就一定被选为订单的供货者,因为还要考虑运费和 运输时间。 货运优先查询(Q3):查询的目的是找出价值昀高的10个还没有发货运输 的订单。在许多订单中规定了发货日期和货运优先级,如果某些条件出现冲突, 可能造成延误,因此决策者需要知道还有什么货需要催发。 订单优先秩序审查查寻(Q4):订单优先秩序系统是否运行良好和顾客是否 满意是决策者需要关心得问题。查找在一定时期内存在多少个收取货物的日期比 提交日期晚的客户(正常情况),并按优先级别规类。可以获知每个级别的货 运 情况,进而断定排序系统运行优劣。 本地供应商营业额查询(Q5):订单和合同细则中供应商和客户都在同一个 国家,则称此为本地营业额。本查询就是要求在一个特定的地区里找出所有国家 的本地营业额。本地营业额有利节省运输费用。 收入变化预测查询(Q6):打折的策略能提升销售,但是减少单个商品的收 入(价格变低),并且增加物流。本查询是要发现在一个特定的年份下,某些小 份额销售量的商品折扣掉的金额是多少? 货运量查询(Q7):在一个指定的年份里,对于某两个国家之间所有确定的 订单,可以计算其涉及的货运总数量,营业额总数,这些数据可以作为决策者和 运输部门谈判货运价格的信息。 国家市场份额查寻(Q8):本查询是针对某一种商品,两年之内,求出某个 国家销售的数量在其所在地区的比重。对比的是销售收入,而不是销售数量。 各类产品利润衡量查询(Q9):查找某一类产品的利润,只需确定此类产品 的一些特征,以及供应商所在国家,按订单的年份可以归类看出某年某种商品在 某个国家的利润大小。 合同撤销(退货)报告查询(Q10):针对已经运输到客户的货物,如果对 货物不满意,在规定期间内,可以申请退货,该查询旨在统计出这样的顾客信息。 物资重要库存确认查询(Q11):“重要”的含义是价值。,某个国家内某种 物资如果其全部可用的货值占了这个国家所有货物货值一定的比重就算其在此 地的库存为重要。即,这里的重要不是哪一个商品在市场上重要,而是在这个地 区的库存重要。比重值由决策者自己根据实际情况确定。 运输模式与订单优先级查询(Q12):运输模式直接关系到运输费用,一般 低价的运输模式耗时间就比较长,所以决策需要知道提交日期和收货日期下的订 单优先级,如果改变其运输模式是否会引起延期,进而导致顾客不满。 客户分布情况查询(Q13):查找客户和订单多少的关系,不是统计哪类型 的客户定单多少,而是统计出某个数量的订单下的顾客有多少个(如,昀后显示 下 n个订单的客户有 m个)。这个数字的分布,不是客户在世界各国家的分布。 促销影响收入查询(Q14):有些商品是被定为促销商品,可能是由于电视 广告或者其他投入,促销商品销售量提高,但是成本也相对偏高,所以决策者需 要知道促销类的商品收入在全部销售中的比重有多少。 昀大供应商查询( Q15):许多顾客下过订单后,订单里的货物可能由多个 供应商提供,同样,一个供应商也可以为多个订单供货,这样,在所有的供货商 中,就存在一个昀大的供应商,这个昀大供应商需要决策者维护关系。因为不同 的货物价值不同,所以这里衡量昀大是用收入,不是货物数量。 供应商与货物关系查询(Q16):客户下的订单里面包含着详细的货物说明, 要求找出有多少个供应商能提供这样的货物,不要求在量上的满足。如果显示太 少或者没有,那就需要开发新的货源。 小额订单收入查询(Q17):运输费用有一定的起步价格,小额订单在货运 中有明显的劣势,本查询旨在查询出平均每年有多少小额订单。反映出如果不在 接这些订单将损失多少订单收入。小额的定义是指某个订单中的货物量小于所有 含有该货物的订单的货物数量平均值的 1/5。 大客户查询(Q18):订单里货物数量比较多的客户,称为大客户。比较多 的概念不是指该客户的所有订单的总货物数量超过一个确定值(由决策者输入), 而是说该客户的某一个订单中所有货物的数量之和大于这个确定值(一个订单可 能有多种货物)。 组合折扣收入查询(Q19):在一个特定手册(如购买习惯,销售经验)指 导下,某些商品存在相关性,可以一起捆绑销售,这样捆绑下的总价格会低于它 们各自销售价格之和。本查找的目的是找出他们的折扣后的总收入。本查询提出 基于某一个指导下产生了商品搭配的方案可以作为数据挖掘的工具使用。 潜在商品提升查找(Q20):有些供应商提供了比较多的商品,就可以做为 重点供应商来维护。所谓较多,指的是 lineitem中一年内某种商品的所有需求量, 他至少能提供一半。如果这样的供货商停止供货,会使商品销售下降许多,所以 称其为潜在提升。这里的潜在不是说某种政策来刺激增长,而是没有某种策略可 能导致下降。 查找让订单等待的供应商(Q21):由于没有能提供要求的货源,无法满足 客户的订单要求。对于进入提交运输阶段的订单,在一个确定国家的条件下,看 谁是造成这个状态的供应商。 全球销售机遇查询(Q22):研究世界上哪些国家有潜在的客户。潜在的客 户是指在七年之内没有下过订单,其账号结余上超过所有账号还有正值余额的客 户的平均值。 2.2查询对象分类 按照 TPC-H基准对 22条查询语句的说明,从现实商业应用问题出发,发现 查询主要针对货物的价值、顾客和供货商等。下面是一个按查询对象对 22 查询 的归类说明: 1 查找货物价值:Q1,Q6,Q7,Q8,Q9,Q11,Q14,Q17,Q19 货物价值可以等同于公司的销售收入,包括了三个层面的意义:一是商品的 外部销售价格下的价值;二是商品的打折价格下的价值;三是考虑商品的纳税后 价格下的价值。这一类查询要求知道公司的收入概貌(Q1);哪些国家销量市场 好(Q8);国家之间的交易额(Q7);某些商品的价值和利润(Q9 和 Q19), ;打 折和促销商品的情况(Q6 和 Q14);小订单和大库存的情况(Q11 和 Q17)。 用通俗的语言表达其在现实生活中涉及的问题有: ? 销售整体情况:Q1 ? 卖什么:Q9,Q19 ? 卖多少:Q11,Q17 ? 卖到哪里去:Q8,Q7 ? 怎么卖:Q6,Q14 2 查找供应商:Q2,Q15,Q16,Q20,Q21 考虑到运输费用,所以一般需要确定货源位置、确定供货路线,然后根据各 个供货商在各自领域的特点来挖掘信息。包括找出价格上优势的供货商(Q2); 货物价值统计层面上的大供应商(Q15);供货种类(Q16);存货数量(Q20); 供货未及时(Q21)。 反映的问题是: ? 买什么,哪些人有卖:Q16 ? 向谁买:Q2 ? 买多少:Q20 ? 购买风险,自身实力强的供货商违约的概率就小:Q15,Q21 3 查找客户:Q10,Q13,Q18,Q22 商业活动的主要对象是顾客,其信息也就成为了决策者的主要研究内容之 一(本类查询内容包括了要求退货的顾客(Q10);各订单数量下的顾客统计 (Q13);购买货物数量较多(Q18);有购买可能性的顾客(Q22)。 现实中对应的问题,这些在逻辑中分别为购买前,中,后: ? 谁会买:Q22 ? 买多少,即次数和数量:Q13 和 Q18 ? 销售风险:Q10 4 查找订单:Q3,Q4,Q12 在这个商业系统中,订单只是顾客与公司的合同,还有一个表格管理订单的 细节,此时的顾客就不再参与,而是由公司考虑到供货和货运等信息。所以订 单 实现的时候需要收集货源和运输信息,就出现了运输顺序(Q3);要求不能让 大 客户等待,并遵照合约时间催发。优先级排序(Q4);在所有订单中,各个优先 级中的订单货运队伍长度应该基本持平,可以为此安排接下来的订单货运级 别。 货运运输方式(Q12)对应这优先级和运费。 对应的现实问题: ? 谁先运:Q3 ? 什么时候运:Q4 ? 怎么运:Q12 5 查找国家:Q5 发生在同一个国家的内部交易可以节省运输费用,本查询的目标是找出这样 的国家,但是其统计的过程仍旧是货物价值,即交易额。 2.3企业效益函数理论下的分类 徐章一[8]在《企业供应链的优化》一书中提出了企业效益函数理论目前被 许多商业分析所采用。该理论分类比较简单,采用商品流程的角度来分析商业行 为。从上一节对商业模型的分析也可以看出来,TPC-H采用的商业模型从供应商 到顾客,是一条比较完整的供应链模型。 对于不同类型的企业,具体模型的选用也随着自身具备的条件而有很大不 同,具体而言,影响零售企业效益和竞争力的变量主要有:企业规模、企业经营 业态的选择、企业所有结构以及企业治理形式。这些变量将影响企业供应链的表 现。 自变量:企业性质 中间变量: 供应链策略 因变量:企业效益 图 2-1 企业效益函数图形表示 按照这个理论。将 22查询分为如下三大类: 1 性质(4个):Q8,Q9,Q13,Q162 供应链(10个):Q1,Q2,Q3,Q4,Q5,Q10,Q11,Q12,Q15,Q213 效益(8个):Q6,Q7,Q14,Q17,Q18,Q19,Q20,Q22昀早的供应链模型??SCOR[9] Su
本文档为【基于TPC-H基准的内存数据库性能测试方案研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_153723
暂无简介~
格式:doc
大小:62KB
软件:Word
页数:28
分类:工学
上传时间:2017-09-20
浏览量:43