Code Monkey home page Code Monkey logo

tpc-h's Introduction

大数据系统上的TPC-H

TPC- H 主要目的是评价特定查询的决策支持能力,强调服务器在数据挖掘、分析处理方面的能力。 TPC- H 测试围绕22 个SELECT 语句展开,每个SELECT严格定义,遵守SQL- 92语法,并且不允许用户修改。标准中从4 个方面定义每个SELECT 语句,即商业问题、SELECT 的语法、参数和查询确认。这些SELECT 语句的复杂程度超过大多数实际的OLTP 应用,一个SELECT 执行时间少则几十秒,多则达15 小时以上,22 个查询语句执行一遍需数个小时。(附:TPC-H中文版

2.步骤

(0)搭建环境,安装四种软件:Spark,Hive,Cassandra,GreenPlum

(1)产生数据(有工具dbgen,可在Linux下编译)

(2)建表,将数据导入

(3)执行查询(Q1-Q22,有现成的案例,如在pig上的,spark上的scala代码),这里可以使用脚本,将日志保存起来,然后从日志文件中提取信息。(参考

(4)性能评估(参考云栖社区)

**度量标准:**测试中测量的基础数据都与执行时间有关,这些时间又可分为:装载数据的每一步操作时间、每个查询执行时间和每个更新操作执行时间,由这些时间可计算出:数据装载时间、Power@Size、Throughput@Size、QphH@Size 和$/QphH@Size (附:TCP官方给出的报告Current TPC-H Results Spreadsheet

3.测试细节

(1)数据装载测试

建立测试数据库的过程被称为装载数据,装载测试是为测试DBMS 装载数据的能力。装载测试是第一项测试,测试装载数据的时间,这项操作非常耗时。

(2)Power 测试

Power 测试是在数据装载测试完成后,数据库处于初始状态,未进行其它任何操作,特别是缓冲区还没有被测试数据库的数据,被称为raw查询。Power 测试要求22 个查询顺序执行1 遍,同时执行一对RF1 和RF2 操作。

(3)Throughput 测试

Throughput 测试,也是最核心和最复杂的测试,它更接近于实际应用环境,与Power 测试比对SUT 系统的压力有非常大的增加,有多个查询语句组,同时有一对RF1 和RF2 更新流。

4.例子(四个方向都有涉及,供参考)

参考文献

tpc-h's People

Contributors

damaohongtu avatar

Watchers

James Cloos avatar SQG avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.