Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Star Schema Benchmark dbgen
C
Branch: master
Failed to load latest commit information.
.gitignore Added ignores
BUGS Initial import of SSB
CHANGES Initial import of SSB
HISTORY Initial import of SSB
PORTING.NOTES Initial import of SSB
README Initial import of SSB
TPCH_README Initial import of SSB
bcd2.c Initial import of SSB
bcd2.h Initial import of SSB
bm_utils.c Initial import of SSB
build.c Initial import of SSB
config.h Compile on Mac
dists.dss Initial import of SSB
driver.c Initial import of SSB
dss.ddl Initial import of SSB
dss.h Initial import of SSB
dss.ri Initial import of SSB
dsstypes.h Initial import of SSB
history.html Initial import of SSB
load_stub.c Initial import of SSB
makefile Compile on Mac
makefile.suite Initial import of SSB
makefile_win Initial import of SSB
permute.c Initial import of SSB
permute.h Initial import of SSB
print.c Initial import of SSB
qgen.c Initial import of SSB
rnd.c Initial import of SSB
rnd.h Initial import of SSB
shared.h Initial import of SSB
speed_seed.c Initial import of SSB
text.c Initial import of SSB
tpcd.h Initial import of SSB
varsub.c Compile on Mac

README

Note: In our research paper we use the SSB instead of SSBM
Version of 2/28/10: 
Cardinality of supplier fixed to follow benchmark spec: now 2000*SF
 (previously was 10000*SF, in error): line 226, driver.c
Type of time value changed from long to time_t (now 64 bits on Windows):
 line 688, build.c
Building in Visual Studio 2008:
  Use Win32 console project, not using precompiled headers,
  in Properties>C/C++>CommandLine, additional options:
   /D "SSBM" /D "DBNAME" /D "DB2"   (for DB2)
Building using makefile_win:  set for DB2 build:
  nmake -f makefile_win
  (Change DATABASE symbol for other database)

SSBM dbgen readme:

SSBM is based on TPC-H dbgen source. The coding style and architecture
follows the TPCH dbgen. The original TPCH dbgen code stays untouched and
all new code related to SSBM dbgen follow the "#ifdef SSBM" statements.

For original detailed TPC-H documentation, please refer TPCH_README 
document under the same directory. Here we just list few things that 
are specific to SSBM.

  
1. How is SSBM DBGEN built?

Same idea as TPCH dbgen setup, which requires user to create an 
appropriate makefile, using makefile.suite as a basis. Make sure to
use "SSBM" for the workload variable. 

Type "make" to compile and to generate the SSBM dbgen executable. 
Please refer to Porting.Notes for more details and for
suggested compile time options.

Note: If you want to generate the data files to a diffent directory, you should
copy the dbgen executable as well as the dists.dss file to that directory.
 
2. How to generate SSBM data files?
To generate the dimension tables:

(customer.tbl)
dbgen -s 1 -T c

(part.tbl)
dbgen -s 1 -T p

(supplier.tbl)
dbgen -s 1 -T s

(date.tbl)
dbgen -s 1 -T d

(fact table lineorder.tbl)
dbgen -s 1 -T l

(for all SSBM tables)
dbgen -s 1 -T a

To generate the refresh (insert/delete) data set:
(create delete.[1-4] and lineorder.tbl.u[1-4] with refreshing fact 0.05%)
dbgen -s 1 -r 5 -U 4

   where "-r 5" specifies refreshin fact n/10000
         "-U 4" specifies 4 segments for deletes and inserts
  
At this moment there is no QGEN for SSBM. So
the command line options related to those features won't apply.

3. What are the changes upon TPC-H dbgen

changes made upon original TPC-H dbgen

1. removed snowflake tables such as nation and region (done)
2. removed the partsupply table (done)
3. removed the order table (done)
4. renamed the fact table as Lineorder and added/removed many fields
( done)
5. added the date dimension table (done)
6. adding and removing fields in dimension tables (done)
7. have data cross reference for supplycost, revenue in lineorder (done)
8. apply the refreshing only to lineorder table (done)

The command line option keeps the same as TPC-H dbgen (The -T options
are changed to reflect different set of tables)

===================== End of README ========================================

Something went wrong with that request. Please try again.