Buy Percona ServicesBuy Now!

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

 | December 16, 2008 |  Posted In: Percona Software


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:

Vadim Tkachenko

Vadim Tkachenko co-founded Percona in 2006 and serves as its Chief Technology Officer. Vadim leads Percona Labs, which focuses on technology research and performance evaluations of Percona’s and third-party products. Percona Labs designs no-gimmick tests of hardware, filesystems, storage engines, and databases that surpass the standard performance and functionality scenario benchmarks. Vadim’s expertise in LAMP performance and multi-threaded programming help optimize MySQL and InnoDB internals to take full advantage of modern hardware. Oracle Corporation and its predecessors have incorporated Vadim’s source code patches into the mainstream MySQL and InnoDB products. He also co-authored the book High Performance MySQL: Optimization, Backups, and Replication 3rd Edition.


  • 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 🙂

  • Kevin,

    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.

  • Dathan,

    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

  • 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.

  • 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.

  • 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, 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.

  • 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.

  • 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,

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

  • 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!

Comments are closed