Announcing Percona XtraDB Storage Engine: a Drop-in Replacement for Standard InnoDB

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

Percona XtraDB available :
* in source code from Launchpad, the version 1.0.2-1 you can get as

* as source code in 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
* 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 You can also report bugs there. Also have setup two maillists for General discussions and 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:

Share this post

Comments (25)

  • Wilfried Schobeiri

    Got any benchmarks for performance against InnoDB

    December 16, 2008 at 10:22 pm
  • 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.

    December 17, 2008 at 12:45 am
  • Vadim

    Wilfried Schobeiri,

    Only internals, working on preparation of informative results.

    December 17, 2008 at 12:59 am
  • Vadim


    That’s goal to pull off. We are not going to give up anytime soon.

    December 17, 2008 at 1:01 am
  • 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 🙂

    December 17, 2008 at 1:13 am
  • Vadim


    Actually beside innodb_buffer_pool_pages we have all patches for 5.0, they are available in our -highperf 5.0 builds.

    innodb_buffer_pool_pages also exists in 5.0 but in limited version.

    December 17, 2008 at 1:24 am
  • Edouard LAURENT


    is it plan to do entreprise support for this plugin ?


    December 17, 2008 at 3:52 am
  • Baron Schwartz

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

    December 17, 2008 at 4:15 am
  • Dathan Pattishall

    Does this build support Zlib compression, i.e.

    December 17, 2008 at 12:08 pm
  • Vadim


    Yes, it does. It supports all features from InnoDB-plugin 1.0.3

    December 17, 2008 at 12:13 pm
  • Dathan Pattishall

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

    December 17, 2008 at 12:15 pm
  • Vadim


    At this stage the engine fully looks like as InnoDB-plugin, that is if ibbackup works with InnoDB-plugin, then it works with XtraDB. Sometime later it may be changed, but not now.

    We will check what’s wrong with OpenID

    December 17, 2008 at 12:25 pm
  • 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.

    December 17, 2008 at 12:27 pm
  • 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.

    December 17, 2008 at 12:35 pm

    Excellent! Glad to see this, guys.

    A new toy to play with. 🙂

    December 17, 2008 at 5:00 pm
  • Edouard


    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 ?


    December 18, 2008 at 2:13 am
  • 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 if you’re interested in that.

    December 18, 2008 at 5:35 am
  • 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.

    December 19, 2008 at 6:27 pm
  • 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

    December 23, 2008 at 9:58 am
  • 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.

    December 25, 2008 at 3:40 am
  • Vadim


    It is possible. Please contact us if you are interesting in sponsoring this.

    December 25, 2008 at 10:26 am
  • 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.

    March 31, 2009 at 7:24 am
  • Vadim


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

    March 31, 2009 at 7:35 am
  • 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!

    March 31, 2009 at 11:25 am
  • Baron Schwartz

    Hi Michael! Please submit and mention this blog post and Vadim’s name. Thanks! Baron

    March 31, 2009 at 1:07 pm

Comments are closed.

Use Percona's Technical Forum to ask any follow-up questions on this blog topic.