Sunday, April 26, 2009

Tracking the Storage Engine Race

There are a number of new and enhanced storage engines that promise increased scalability, performance and important new online features. All this competition with storage engines is going to create a win for the MySQL community. This competition is what open source is all about. If you do not continue to innovate and improve you cannot expect to be a leader in the open source world. The nice thing about MySQL 5.1 is the plug-in capability that allows the addition and removal of storage engines.

The top ones I have been tracking include:
  • Falcon (still in alpha)
  • Maria (still in alpha)
  • InnoDB (final release candidate stages)
  • XtraDB (unable to verify release, since only a few months old may be alpha or beta)
  • PBXT (beta I believe )
Instead of just comparing benchmarks and features, what I am focusing on is the adoption by my customers. All these storage engines are promising optimized architectures,
increased performance, scalability and improved metadata for diagnostics and tuning. For most of these it is still too early to tell. However, I will be talking to customers every week to gauge their thoughts and adoption rates on these storage engines.

No matter which one I pick, I'll always upset someone. But its no fun staying on the fence, so I would definitely give the early lead to the InnoDB plug-in. The reason is it is on the final release candidate stages and is the first next generation storage engine used with the MySQL 5.4 scalability and performance release. It will be fun to watch the growing popularity of these storage engines. I would love to hear some detailed feedback on your thoughts of these new storage engines. Be aware that most of these storage engines are still in alpha or beta, so I recommend being very conservative before using them in a production environment.

2 comments:

Ivan Novick said...

Innodb is not exacly a new storage engine. It is the defacto storage engine if you want to have transactional support in Mysql and is used by something like 30 to 50 % of all mysql users.

George Trujillo said...

You're right, InnoDB is not knew but the enhanced InnoDB plug-in will be competing with the new transacation storage engines. And it does say something that InnoDB is a key part of the new 5.4 Performance and Scalability release of MySQL.