In this post I describe the Data Base Generator (DBGen) utility in terms of what it is, how to install it, and how to use it. This post assumes a Linux operating system. There are different build procedures for DBGen on Windows, but the concepts carry over. DBGen is used to create a TPC-H schema (i.e., it provides the CREATE TABLE statements) and to generate the data. DBGen is used in official TPC-H benchmarking, but it can also be used in informal TPC-H-like benchmarking. The schema and data is compatible with most 3 rd party benchmarking tools like HammerDB, so even if you plan to run a TPC-H-like test using HammerDB you may still use DBGen to create the schema and data. The CREATE TABLE statements are ANSI standard SQL and can be run in any DBMS without editing. There are no SQL statements for indexes or foreign key constraints provided by DBGen since those types of objects are not required. The data is created as delimited...
This blog post reviews all of the caching solutions available in Oracle Database 21c. I dive into several of the caching solutions, but I do try to keep things relatively short-and-sweet here. I have other blogs dedicated to each caching solution. I don't mean the Oracle SGA or PGA. I mean optional features you can enable to enhance performance. The content of this blog post is applicable to Oracle 12g, 18c, 19c, and 21c. Some of the caching solutions were available in Oracle 11g, but I did not regression test my examples back that far. There have been no new caching solutions in Oracle 12g R2 through 21c. One solution in particular, the In-Memory Column Store, has received some major enhancements. I briefly describe it here, but the deep dive is in another blog post. Summary of Oracle Caching Solutions Oracle 21c includes six caching features as listed in my table below. I've listed them in order from newest on top to oldest at t...
This post describes five popular tools for benchmarking relational databases: HammerDB, Quest Benchmark Factory, SwingBench, pgbench, and Oracle RAT. Previously, I described TPC and TPC-like benchmarks for relational databases. Recall a benchmark is "like" a TPC benchmark if it follows some of the rules but not all of them. The tools described in this post follow some of the TPC's rules so we call them "TPC-like". Publishing results is generally not allowed by commercial DBMS vendors, and use of the benchmark trademark is also restricted. Ok then, let's look at the most commonly used benchmarking tools for relational databases. HammerDB is my #1 choice for benchmarking relational databases. HammerDB supports every major DBMS on Linux and Windows including bare metal, VM, and cloud. This means you can use one tool for all environments. You can even compare performance across platforms or DBMS, such as comparing Oracle on Linux...