The 20-year-old MySQL database is the world’s most widely used open source RDBMS, and it’s especially prevalent in Web applications built on the usual Linux stack. The common wisdom is that MySQL will give you good read performance in a multiuser, multithreaded scenario until your application becomes big enough to push the limits of the database.

At that point, you can try adding replicas to improve read performance, caching with memcached to improve read performance, or sharding the database into a number of distributed server clusters to avoid storage limits and improve read and write performance. However, sharding comes at the cost of ugly maintenance issues and possibly higher query latency.