MySQL Cluster 7.2 with 20x better performance and memcached


Why do so many cell phone companies run MySQL Cluster? The faster they can look up your phone’s identification number, they faster they can start charging you! Cluster is a very interesting product and you can now evaluate the latest development version mysql-cluster-7.2-labs-memcached. Adaptive Query Localization makes complex joins run twenty times faster by having more of the hard work done by the data nodes and not the sever node. And the data nodes can do this work in parallel. I bet cell phone companies will love that.

And you can access your data through SQL and memcached! Your applications use the standard memcached API but now memcached uses its NDB driver for quick access to the information in the data nodes. For some interesting ideas on deployment. How to get started with cluster and memcached. An overview of Cluster 7.2.

Note: I made a mistake in the original post when I wrote twenty percent faster. That is pretty good but 7.2 is twenty TIMES faster. Sorry for the error!

5 Responses to MySQL Cluster 7.2 with 20x better performance and memcached

  1. Ole John Aske says:

    Normal speedup from using Adaptive Query Localization is 20 times – not 20 percent! Although it might vary a lot depending of which type of query you run.

  2. […] you can now evaluate the latest development version mysql-cluster-7.2-labs-memcached. Adaptive… Read more… Categories: MySQL     Share | Related […]

  3. henrikingo says:

    Good that you corrected 20% to 20x, for a while you had me confused there…

    Working with manufacturers of telephone networking equipment was really inspiring. You actually mention both of the challenging aspects, except you didn’t realize they are actually separate things:

    Looking up a phone number that is being called is one thing, but do you realize that with mobile phones what you’re really looking up is *where* the phone is. So to know that, this information is actually stored in the database. Yep, all of our phones, even when nobody is calling anybody, continuously talk to their nearest cell phone tower, and this check-in is stored in the database. It happens all the time, even when you sleep (unless you’re one of those who turn their phone off at night). Facebook thinks they have a hard time storing all of our status updates and Likes, but imagine if they also had to store just the fact that their users exist and are currently doing nothing… (Of course, Facebook is now an order of magnitude bigger than any phone network, but still.) The amount of write traffic keeping up with everyones location is just staggering. My mentor, Massimo Brignoli, said when we did our first MySQL Cluster gig together: When I started working with these customers, I just couldn’t understand how it’s possible that the phone network works at all.

    Then you have the fact that telco’s want to charge you. In EU and US pretty much everyone has a phone now. We all make 2-10 phone calls a day, and SMS’s have to be counted and/or billed too. You do the math. And this is not like some Apache log file that you can lose if Haystack crashes – lose a transaction and you lose money.

    But pre-paid is even tougher than post-paid. With post-paid you basically record the duration of the call and store it somewhere. Later someone sends an invoice based on this info. Pre-paid on the other hand is tough: You first have to go in and see if there’s any money on the account, withdraw or reserve some of that, then spend that during the call, then put back the unused amount after the call. While all this is being done the call cannot start – this is the point with pre-paid, you know – so you typically have to do all the pre-paid stuff in some tens of milliseconds tops. MySQL Cluster can do all of it in just 1-4 ms, except the queries that have joins – until now…

    The improvements in MySQL Cluster joins are useful particularly to the prepaid people, because they can now have more complex discounting schemes (need to do more complex queries to know what a particular call costs) and still get the call going with real-time performance.

    To Ole-John and everyone else that worked on this, you guys really rock!

  4. Shlomi Noach says:

    “makes complex joins run twenty percent faster”
    Shouldn’t this read “makes complex joins run twenty TIMES faster”?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s