Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scalability comparison between different DBMSs

By what factor does the performance (read queries/sec) increase when a machine is added to a cluster of machines running either:

  • a Bigtable-like database
  • MySQL?

Google's research paper on Bigtable suggests that "near-linear" scaling is achieved can be achieved with Bigtable. This page here featuring MySQL's marketing jargon suggests that MySQL is capable of scaling linearly.

Where is the truth?

like image 603
bjornl Avatar asked Feb 28 '26 10:02

bjornl


2 Answers

Having built and benchmarked several applications using VoltDB I consistently measure between 90% and 95% of additional transactional throughput as each new server is added to the cluster. So if an application is performing 100,000 transaction per second (TPS) on a single server, I measure 190,000 TPS on 2 servers, 280,000 TPS on 3 servers, and so on. At some point we expect the server to server networking to become a bottleneck but our largest cluster (30 servers) is still above 90%.

like image 52
tmcallaghan Avatar answered Mar 01 '26 22:03

tmcallaghan


If you don't do that many writes to the database, MySQL may be a good and easy solution, especially if coupled with memcached in order to increase the read speed.

OTOH if you data is constantly changing, you should probably look somewhere else:

  • Cassandra
  • VoltDB
  • Riak
  • MongoDB
  • CouchDB
  • HBase

These systems have been designed to scale linearly with the number of computers added to the system. A full list is available here.

like image 45
the_void Avatar answered Mar 01 '26 23:03

the_void