Folks: This weekend I’m teaching a class at MIT on RDBMS programming. Sadly I forgot to learn the material myself before offering to teach it. In giving students guidance as to when a standard RDBMS is likely to fall over and require investigation of parallel, clustered, distributed, or NoSQL approaches, I’d like to know roughly how many updates per second a standard RDBMS can process. Here are the criteria:
- mixture of inserts, updates, and selects, with the server doing 10 queries for every update and the typical update or insert involving two rows
- a 4U server with 8 CPU cores and enough RAM to hold the entire database
- eight hard drives so that transaction logs, indices, and tables can all reside on separate spindles (or magic RAID approaches can be used)
- perhaps a little bit of magic in the form of a solid-state drive being used for the transaction logs
- any RDBMS, including MySQL/InnoDB, Oracle, Sql Server, DB2, etc.
I’m looking for a number that is good to within one order of magnitude.
[http://www.tpc.org/tpce/results/tpce_perf_results.asp makes it look as though the answer is “about 2000” though I’m not sure if the TPC-E benchmark simultaneously requires some queries. It is tough to say because the tpc.org Web site is unusably slow…. I finally got the Word doc. It looks like they count some queries as “transactions”, e.g., “The [Customer-Position] transaction is a real-only transaction”. So maybe the answer is closer to 1000? The TPS-E benchmarks use some ridiculously expensive systems, but they also require a huge amount of data to be kept, e.g., 8 TB for a low-end system doing 2000 queries and updates/second.]
(The venerable TPC-C standard never struck me as matching up that well to typical Internet applications.)]