September 20, 2014

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 http://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 http://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 http://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: http://www.percona.com/contacts.html

About Vadim Tkachenko

Vadim leads Percona's development group, which produces Percona Clould Tools, the Percona Server, Percona XraDB Cluster and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.

Comments

  1. Wilfried Schobeiri says:

    Got any benchmarks for performance against InnoDB

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

  3. Vadim says:

    Wilfried Schobeiri,

    Only internals, working on preparation of informative results.

  4. Vadim says:

    Carsten,

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

  5. 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 :)

  6. Vadim says:

    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.

  7. Edouard LAURENT says:

    Vadim,

    is it plan to do entreprise support for this plugin ?

    thx
    Edouard

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

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

  10. Vadim says:

    Dathan,

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

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

  12. Vadim says:

    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

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

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

  15. Excellent! Glad to see this, guys.

    A new toy to play with. :-)

  16. Edouard says:

    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

  17. 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 http://www.percona.com/contacts.html if you’re interested in that.

  18. Steven Roussey says:

    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.

  19. Log Buffer says:

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

    Log Buffer #128

  20. Brad Fino says:

    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.

  21. Vadim says:

    Brad,

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

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

  23. Vadim says:

    Michael,

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

  24. 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!

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

Speak Your Mind

*