6. TPROC-C key similarities and differences from TPC-C

HammerDB can be seen as a subset of the full TPC-C specification, intentionally modified to make the workload simpler and easier to run. HammerDB was originally implemented from the example code in the TPC-C specification and where there are differences between the examples and the specifications, HammerDB has focused on maintaining repeatability. The main similarities are the schema definition and data and the 5 transactions implemented as stored procedures. The key difference is that by default HammerDB will run without keying and thinking time enabled (Note enabling event driven scaling will enable keying and thinking time to be run with a large number of user sessions) or by running functions typically run by the terminal side of the applications. This means that by default HammerDB TPROC-C will run a CPU and memory intensive version of the TPC-C workload. In turn this also means that the number of virtual users and the required data set will be much smaller than a full TPC-C implementation to reach maximum levels of performance. HammerDB also does not implement terminals as the full specification does. Nevertheless with the HammerDB TPROC-C implementation a large number of client systems and third-party middleware is not required nor a very large data set to reach maximum levels of performance whilst still providing a robust test of relational databases capabilities.