September 3, 2014

All thouse new MySQL Storage Engines

MySQL Users Conference 2008 has number of Storage Engines presented which claim to Kick Ass. Walking in exhibition hall you could see KickFire, Infobright, Tokutek, ScaleDB. I have not seen NitroDB in the exhibition call this year but they are also worth to mention.
It is interesting to see all of them showing benchmarks with great numbers and glossy marketing materials explaining why they are better.

I’ve seen enough of marketing benchmarks at my life to really believe them. Marketing benchmarks typically show the cases when product excels but leaving limitations and cases when product does not work well and shows sub par results – and these cases always exist. Making decisions in software design you often have to made tradeoffs which makes it especially hard to get a product which performs best for ALL cases, and keep in mind performance is not the only thing you may be concerned about.

What makes it even complicated most of these solutions are close source (Kickfire also uses proprietary custom hardware) which makes it hard to get independent product evaluation.

Many of storage engines will indeed offer you benefits they promise but, but you also need to make sure they do not break or slow down other features your application use. For example you may notice your application does a lot of primary key lookups and MySQL Cluster promises good performance and scalability. But if at the same time you have queries with complex Joins which you need to work fast as well this may not be the right choice.

So make sure to get as much information about Performance and Design limitations as you can and be aware – Sales and Marketing guys which you may start speaking with may not know them all so make sure to do evaluation for your particular application needs before getting too excited :)

About Peter Zaitsev

Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

Comments

  1. Evan says:

    As a sidenote, can you talk more about the situations where MySQL Cluster excels vs. replication or other scaling strategies?

  2. peter says:

    We can probably create a talk like this. Plus there is some info in the book. This is complex question which is hard to cover in the comments.

  3. Lukas says:
  4. Jonas Oreland says:

    wrt Cluster,

    We are working on improving join-performance,
    and have a prototype which has show to reduce query time by 4-5 times for some joins.

    If you’re interested in testing to see where it performs good/bad, that would be great!

    /Jonas

  5. Bill says:

    I still run into pitfalls in Innodb, that no one has seemingly ran into before. And that’s with its widespread adoption and use by larger customers in similar situations. I have no idea how many of these I would hit with something newer. I am very excited to see all of the engine designs and competing methodologies, and I think its a great sign of the health of Mysql the platform, but I’m not switching any of my data until they achieve some level of maturity and adoption.

  6. peter says:

    Jonas Thanks,

    We will check up on it. I know it is work in the progress and thing make change soon I just mentioned it as classical limitation in early cluster version

  7. peter says:

    Bill,

    Indeed – getting maturity is the issue for many storage engines – especially closed source, but it also applies to new storage engines such as Falcon, Maria or PBXT

  8. Evan says:

    peter: a talk or an article would be greatly appreciated. What book are you referring to?

    Lucas: thanks. That’s a good article.

Speak Your Mind

*