Benckmarking and System Design
One of my candidates recently asked me a system design question in an email.I thought will be nice to document my response and seek advice from my peers who might have interesting practical experiences.I will keep this updated as new responses come by and hopefully we have something interesting. If you are reading this blog and have something to add please email me at firstname.lastname@example.org
Where can I get approximate numbers for the max reads / writes per second supported by various database types ; Relational vs Key-Value vs Column (Cassandra and Hbase) vs In memory (Redis/Memcached). From my understanding, benchmarks performance results vary with tests, but I’m looking to know at what reads / writes per second does it make sense to select a Relational to No-SQL to in-memory
The only numbers I could find were for these limits
SQL Server = 36K reads per second
MySQL = 50K reads per second
A few rules of thumbs
- Orders of magnitude is important and not the exact numbers
- Don’t trust the numbers if presented by creator of the product, trust independent studies.
- Look out for configuration parameters so compare apples to apples . Vendors bench marks on db are run with very specific parameters that are typically impractical but of course getting phenomenal performance.
Here are links to some interesting studies
Preparing for Amazon interview? Don’t forget to check out our article about Amazon’s System design interview questions.