Today we officially announce our new storage engine, “Percona XtraDB“, which is based on the InnoDB storage engine. It’s 100% backwards-compatible with standard InnoDB, so you can use it as a drop-in replacement in your current environment. It is designed to scale better on modern hardware, and includes a variety of other features useful in high performance environments.

Percona XtraDB includes all of InnoDB’s ACID-compliant design and advanced MVCC architecture, and adds features, more tunability, more metrics, more scalability on many cores, and better memory usage. We choose features and fixes based on customer requests and on our best judgment of real-world needs. We have not included all the InnoDB patches available. For example Google’s well-known InnoDB patch set is omitted (at least for now).

The first version of our new storage engine is 1.0.2-1, which is forked from InnoDB-plugin-1.0.2. Percona XtraDB is released under GPL v2, as is InnoDB-plugin base source code. Percona XtraDB is released only under the GPL v2 with no dual-licensing, and commercial support is available from Percona.

So what’s new in the engine? Here is a list of new features and enhancements:

  • INFORMATION_SCHEMA.XTRADB_ENHANCEMENTS. This table contains information about the differences between the Percona XtraDB and the same version number of standard InnoDB, so you can always learn what your engine can do. documentation
  • Improvements to SHOW INNODB STATUS. We’ve added more memory information and lock information, and fixed problems with lock information. documentation
  • Improvements to InnoDB IO. Improvements of InnoDB IO subsystem, such as multiple read and write threads, read-ahead control, control io capacity and adaptive checkpointing. documentation
  • InnoDB RW-lock fixes Improvements to scalability for systems with 8+ cores. documentation
  • Buffer pool fixes Improvements of buffer_pool scalability. documentation
  • innodb_buffer_pool_pages Information about content of buffer_pool pages. documentation

Documentation is on https://www.percona.com/docs/wiki/percona-xtradb:start.

Percona XtraDB available :
* in source code from Launchpad https://launchpad.net/percona-xtradb, the version 1.0.2-1 you can get as

* as source code in tar.gz https://www.percona.com/mysql/5.1.30/source/percona-xtradb-1.0.2-1.tar.gz
* as binaries, percona xtradb is compiled in into MySQL-5.1.30 RPMS
* as separated shared library, to use as drop-in plugin for existing MySQL-5.1.30 installation https://www.percona.com/mysql/5.1.30/binary/percona-xtradb-1.0.2-1-5.1.30.x86_64.tar.gz
* OurDelta will also be using Percona XtraDB for its upcoming 5.1 builds.

XtraDB is fully compatible with existing InnoDB tables and we are going to keep compatibility in further releases.

We are open for features requests for new engine and ready to accept community patches. You can monitor Percona’s current tasks and further plans on https://bugs.launchpad.net/percona-xtradb. You can also report bugs there. Also have setup two maillists http://groups.google.com/group/percona-discussion for General discussions and http://groups.google.com/group/percona-dev for development related questions.

We are looking for 6-month release cycle of XtraDB. First several releases may come faster, as many features are planned.

Why do we say it’s a new storage engine, and not just a patchset? Because we are taking this as a serious project to evolve a new storage engine that will eventually become much more than just small variations from standard InnoDB. Percona will improve this storage engine using our own ideas, as well as incorporate improvements specifically sponsored by customers. Please contact us if you would like to sponsor any specific features. Contact form: https://www.percona.com/contacts.html

25 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Wilfried Schobeiri

Got any benchmarks for performance against InnoDB

Carsten Pedersen

Now, *this* should be interesting… If you guys can pull this off as promised, it’s certainly something I’ll follow with a lot of interest.

Kevin Burton

Nice. It’s like InnoDB only Open Source 🙂

Hopefully, Oracle will follow your lead.

Having a public source repository is a huge plus.

Seriously though, a wiki AND bug tracking?

I’d really like to see InnoDB do this…

Any chance we’d ever see this back ported to 5.0.x? 5.1 scares the heck out of me 🙂

Edouard LAURENT

Vadim,

is it plan to do entreprise support for this plugin ?

thx
Edouard

Baron Schwartz

Edouard, please explain what you mean by enterprise support. What exactly are you looking for?

Dathan Pattishall

Does this build support Zlib compression, i.e.
innodb_file_format=Barracuda

Dathan Pattishall

Will ibbackup work on this build? btw openid is not working.

Venu Anuganti

Vadim, Peter, Baron

This is indeed a good news; even though yet another fork. But you guys should get decent bug tracking along with nice benchmarks, articles and documentation which explains the enhancements will be a good plus.

Dathan Pattishall

Good, figured this was the case. Thanks Vadim. For my use case

I’ve introduced a new use of a Shard, called the archive shard. For data that is not looked at or queried the data goes to the archive shards. If the data requested is on the archive shard, the data is moved from the archive shard to the live shards and archiving for that federated user is turned off.

Why do this?

Archive Shards can run non-production quality builds (5.1)
Archive Shards are cheaper boxes that use RAID-5, less memory, less CPU i.e. 1.5K box vrs 3K box
Migration is done based on the Federated Model, so getting the data and putting it on the live shards can be done in less than a second.
The specification of the app requires keeping ALL data, but “dead” data on fast equipment costs too much.

Excellent! Glad to see this, guys.

A new toy to play with. 🙂

Edouard

Baron,

There is a lot of nice features in this plugin I would like to test and may be use in my production servers, but if I do not have support and warranty, I cannot use it.
I already have Mysql Gold Support, but is it enough to get support & warranty if I use this plugin ?
If not, do you plan to do some support on this plugin with paid subscription if needed ?

Edouard

Baron Schwartz

Edouard, I see. We don’t honor contracts with MySQL, because we’re a separate company. But yes, we do offer paid support contracts through Percona. Please contact us via https://www.percona.com/contacts.html if you’re interested in that.

Steven Roussey

Sounds interesting. Would be great to see standardized benchmarks on Amazon EC2.. I know MyISAM often does much better simply because EBS volumes are constrained by the ethernet interface, and MyISAM tables are much smaller.

Log Buffer

“Speaking of which, the MySQL Performance Blog announced the Percona XtraDB Storage Engine: a drop-in replacement for standard InnoDB.”

Log Buffer #128

Brad Fino

Any chance of a native backup engine for Percona/XtraDB ( I realize there’s one slated for mysql 6.0, but … eh 🙂 ) In talking to innodb it doesn’t sound like there’s going to be an ibbackup release for the innodb plugin anytime soon, which is just about the only thing stopping me from throwing this into production.

Michael Myles

Are there any plans for a Windows version. I’m running Server 2008 x64 and it would be really nice to have the xtra features.

Vadim

Michael,

We have no plans to release Windows version by our own. Commercial option is available – we can do that on paid basics.

Michael Myles

I suppose I should contact you to eval the commercial details. I know I’m not the only person that wants this, but I also understand it’s a big project. Is there any way that you can initiate contact with me via email please? By the way, this site has done more for my business than any other singular site. Without the performance knowledge I have gained on this site I would have had 3 or four times the number of servers. Thanks for that!

Baron Schwartz

Hi Michael! Please submit https://www.percona.com/contacts.html and mention this blog post and Vadim’s name. Thanks! Baron