




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于TPC-H基准的内存数据库性能测试方案研究 摘 要 测试是保证软件质量的重要环节。目前大型软件的性能测试通常采用基准测试的方法,尤其是硬件产商在发布新产品时都要公布该产品对于某个基准测试的峰值。基准测试不是孤立的测试某个对象,而是将对象和其他要素(如,硬件等)组成一个系统作为新的测试对象,昀后的测试结果要求表述这个对象的详细组成,用户可以根据报告获取信息。通过对比不同测试对象的基准测试结果不但可以得出某个软件的性能结论,还说明如何与其它要素搭配来发挥昀佳性能。 TPC(Transaction Processing Performance Council)组织长期制定基准测试标准,其测试的权威性受到了业界的普遍认可。TPC 组织只提供各种基准测试的标准,没有提供直接运行的工具。工具的实现由各单位根据自己实际情况来完成,昀后的报告必须包含实现的详细说明。只有通过了 TPC独立组织审核的报告才能得到认可并公布。目前研究 TPC基准较多的文章是如何实现基准成为测试工具,对于基准的内部原理缺乏深入的研究。 本文的主要内容是研究 TPC组织发布的 TPC-H基准,该基准主要用于大数据量的复杂查询,如果直接用于对内存数据库的性能测试,发现其测试效果不理想。通过对基准中内部原理的进行分析,本文旨在提出 TPC-H 基准的修改方案用于测试内存数据库性能。 遵守该基准的要求,我们在“211项目-高性能数据库研究”和人大金仓信息科技有限公司的支持下开发了自动化测试工具 TPCHDriver。在此基础之上,我们开展了深入的研究工作,探索基准制定的内部原理,根据现实应用的变化对基准提出改进。 本文对 TPC-H的分析从三个方面展开。首先,现实的应用是基准强调的核心,为此,基准建立了一个包含 22个商业问题的商业决策支持模拟系统。本文采用宏观的角度,引入企业效益函数理论和供应链模型对此 22个查询语句的商业意义进行研究,按照理论进行分类对比。昀后根据现实应用的变化,提出初步改进的方案。 二是对 22 个查询语句分析各自的代价和 SQL 实现特点。语句的代价是在1普通数据库运行机制下,考虑内存数据库的特点(没有 I/O分析),通过代数分析来完成。对比分析的结果寻找表现突出的语句。SQL 语句的特点包括了语句的结构和组成,比如嵌套的结构,归并的要求,这些都是内存数据库库测试的压力点,统计每个语句在这些压力点上的表现。在微观的角度下分类对比查询语句,验证修改方案的合理性。 三是用试验测试的对比方法找出每个语句的测试压力点表现。结合本试验的具体要求,我们改进 TPCHDriver,基准的要求只是关心昀后的测试值,而我们对每一个测试查询也给出了时间结果。试验包括了对三种数据库,两种操作系统组成的 5 种测试环境。本文将此 522 个测试结果和上述修改方案进行对比分析,进一步完善修改的方案。 总结上述分析得出昀后新的数据库性能基准测试方案。在 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 database3目录 前言. 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)是数据库领域昀权威的基准测试规范制定机构,现已发布针对数据库不同应用领域的多个性能测试规范。 内存数据库是数据库研究领域的热门,主要用于实时查询应用。其高性能的特点在硬件价格不断下降的趋势下,将向联机事务处理的方向发展。 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 标准性能评估机构1031是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。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-H2728是基于 TPC-D 发展起来的、一种模拟决策支持的基准,包括实时的商业查询和数据更新,为关键的商务问题提供解答方案。度量上采用每小时的查询数目来做标准。在模型中,基准提供 8 个表的定义,22 个复杂查询以及 2 个更新的语句。从 1 个 GB 到 10000 个 GB,基准中提供了 8 个数量级别给用户做选择。在运行时,由 22 个查询随机顺序组成一个的查询流,2 个更新语句组成一个更新流,两种(可能2 个)流并发执行对数据库进行访问,可以统计应测系统的压力测试结果。对应用户选择的不同数量级别,基准有相应用多个流来和更新流并发访问数据库可以作为吞吐测试的结果。综合这两个结果就是昀终的测试度量 QphHSize(每小时查询数) 。 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 2PART 200,000 155 30PARTSUPP 800,000 144 110CUSTOMER 150,000 179 26ORDERS 1,500,000 104 149LINEITEM 6,001,215 112 641NATION1 25 128 1REGION1 5 124 1表格 1?1 TPCH 下 1GB下各表的大小 在数据行实现上,每个属性在基准里都有比较详细的规定,比如时间的范围是开始点 1992年 1月 1日,当前点 1995年 6月 17日,终止点 1997年 12月 31日,并且规定了格式;产品的类型有 16种选择;注明短语由其规定的名词,动词,副词随机选择组成;属性之间的关系,比如 L_SHIPDATE=O_ORSERDATE+random1,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内存数据库研究现状 MMDB11的研究始于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中一年内某种商品的所有需求量,他至少能提供一半。如果这样的供货商停止供货,会使商品销售下降许多,所以称其为潜在提升。这里的潜在不是说某种政
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术鉴赏考试题库及答案
- 农村环境保护和可持续发展的合作合同
- 销售合同管理模板标准化合同管理
- IT软件开发测试服务合同
- 纪检审查调查课件
- 农业环保项目合同
- 纪念鲁迅有感教学课件
- 纪念白球恩课件
- 早教保育班知识培训内容课件
- 昆虫世界的启示:小学自然科普阅读教案
- 氧化蜡行业深度研究分析报告(2024-2030版)
- 2025-2030年中国动力耳鼻喉科手术器械行业市场现状供需分析及投资评估规划分析研究报告
- 2025至2030中国建筑防腐行业发展趋势与前景分析报告
- 2025年重庆市中考化学试卷真题(含标准答案)
- 社会化服务项目方案投标文件技术方案
- 电石中控岗位操作规程
- 造型基础-全套教案课件
- 幕墙密封胶相容性检测
- 如何清洁头皮可促进头发生长
- 班主任安全管理培训
- 药品生产企业药品安全信用评价指标及评分标准
评论
0/150
提交评论