With databases, choices of algorithms influence performance
characteristics significantly. It is often very easy to find a
situation where one database will perform much worse than others,
which is why you will hear database engine developers cry out
that benchmarks are flawed.
The best benchmark is one that closely matches what your
application actually does, which is why you see the TPC create benchmarks to
match hypothetical situations - like a warehouse that has
inventory arriving and being shipped out all the time. These
situations in turn create “workloads” on the database. To give
some context, a workload may perform differently on a different
database engine because of how many concurrent modifications are
required, the ratio of reads/writes, how much data is modified in
a transaction, and where in the data set the reads and writes are
(are there hot records or hot tables?). These …
[Read more]