Posts

TPC-like Database Benchmarking Tools

Image
  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...

COVID-19: A Look Back at the Past Year in America

The coronavirus that spread around the world in 2020 killing nearly 2 million people first appeared in China in late 2019 and was named Severe Acute Respiratory Syndrome Coronavirus 2, or SARS-CoV-2 for short.  It gives people a disease named Corona Disease 2019, or COVID-19 for short. 2020 was a "normal" year for just a few short weeks.  Then came with reports of a viral outbreak in China that had apparently started in November 2019 and was overwhelming hospitals.  Many Americans were quick to point out the problem was confined to China and there were no cases reported in any other countries around the world.  Even as the virus spread to other nations many Americans on social media were pointing out the United States had zero cases.  Within a matter of days, on January 20, the United States had a confirmed case (officially reported January 21): a 35-year old healthy male non-smoker in Washington state.  Still in denial, many people continued to point ...

High CPU and Low Database Throughput

This post examines the reason why many relational DBMS servers show very high CPU utilization without completing much work.  The discussion applies to transactional database workloads running on Oracle, SQL Server, MySQL, and PostgreSQL. A friend asked why his database server's CPUs were constantly maxed out while not really getting much work done.   In fact, users were complaining about the time it takes to complete simple transactions.   My friend was worried the only solution was to move the database to a bigger and more expensive server with more CPUs.   He were particularly worried about escalating DBMS licensing fees.   Most DBMS are licensed by CPU count.   Moving to a bigger server means buying more licenses.   And once you go up, DBMS vendors are very reluctant to let you reduce licenses.   This is a common concern for commercial DBMS customers.   For open source customers it is a different problem: there is no software license t...

Zettabytes of Storage

Total capacity of HDD shipped by the top three manufacturers reached an all-time high of 1 ZB in 2020.  A zettabyte (ZB) is a billion terabytes or a trillion gigabytes or a quadrillion megabytes.  In any case, it is mind blowing. And, what's more mind numbing: capacity requirements are expected to triple between now and 2026 to over 3 ZB annually. And, what's even more mind numbing is it only includes hard disk drives.   Solid State Drives (SSD) adds another 20% to the capacity number. Do you remember the 1 GB hard drive in your 1995 PC?  I remember it was the largest available HDD for home computers at the time.   It would take a trillion of those disks to equal the capacity sold in 2020.   Today's PCs and laptops seem to come standard with 1 TB hard drives.   It takes a billion of them to equal the 1 ZB capacity sold in 2020 alone.   And, repeat every year.  Just imagine someone buying a billion 1 TB disks each year. Enterpri...

Oracle Database Smart Flash Cache (DSFC)

The Oracle Database Smart Flash Cache solution, or simply DSFC, accelerates primarily OLTP workloads by caching frequently accessed blocks in a hybrid memory area that spans from the Oracle database buffer cache to one or more flash memory storage devices.  The feature is recommended for any Oracle database stored entirely on disk, which is well known for higher wait times and lower throughput than flash. This feature is only available on Oracle branded operating systems including Oracle Linux and Solaris.   It does not require the Oracle branded kernel known as UEK.   If you are not using an Oracle operating system, then consider moving specific tablespaces to a flash storage device. Physically, the DSFC is just a file.   The file can span one or more flash storage devices or partitions.   This spanning of devices is inherent to DSFC, which acts like software defined RAID 0.   You may use logical volume management or Oracle ASM disk groups to do the sa...