Abusing MySQL (& thoughts on NoSQL)

The NoSQL/relational database debate has been going on for quite some time. MariaDB, like MySQL is relational. And if you read these series of blog posts, you’ll realise that if you use MySQL correctly, you can achieve quite a lot.

  1. It all starts with Kellan Elliott-McCrea with his introductory post on Using, Abusing and Scaling MySQL at Flickr. Follow the entire series.
  2. He starts of the series with Ticket Servers: Distributed Unique Primary Keys on the Cheap. Flickr scales using shards, and ticket servers give unique integers to serve as PKs.
  3. Richard Crowley talks about OpenDNS MySQL abuses. Nothing too out of the ordinary, but it shows MySQL getting the job done.
  4. Mikhail Panchenko talks about using The Federated engine for his series.

If you’re using the Federated engine, know that MySQL disables FEDERATED by default. In MariaDB 5.1.42, you get FederatedX, which is a maintained fork of FEDERATED, by the author himself! Bugs are fixed, and this is a supported engine, so if you’re using the FEDERATED engine, it might be wise to try out FederatedX.

I’d also like to bring to attention, an interesting essay by Dennis Forbes: Getting Real about NoSQL and the SQL-Isn’t-Scalable Lie. Monty says: “NoSQL is for very smart people who need a very sharp knife. People who are not capable of mastering SQL should not even attempt to try out NoSQL.”

2 Comments

  1. Thanks for sharing the excellent posts. I would have missed them. This is a very interesting topic because sometimes we abuse mysql, sometimes mysql abuses us and not everyone is able to distinguish between the two. MySQL could make it easier to distinguish with better performance monitoring (SHOW TABLE_STATISTICS, SHOW USER_STATISTICS, …) but I will guess that MySQL has far better monitoring then NoSQL solutions.

    Also, many people who speak about this have a perspective that at times is skewed by the extreme systems they work on. Some of my problems are shared by many. Others are not.

    Flash/SSD also makes a dramatic difference. A system forced to shard from 1 to 10 nodes because it was write bound on SATA/SAS disk now has an affordable upgrade to reduce the number of machines needed for write scale out.

    Regardless, MySQL/MariaDB must do a better job of getting things done on behalf of high-scale customers. NoSQL is a viable option for many users today.

  2. […] Abusing MySQL (& thoughts on NoSQL) The NoSQL/relational database debate has been going on for quite some time. MariaDB, like MySQL is relational. And if you read these series of blog posts, you’ll realise that if you use MySQL correctly, you can achieve quite a lot. […]


i