About Percona

History

  • MySQL wasn't using their own InnoDB software that they bought out until 5.5 (5.1 included an older version that they were maintaining themselves)
  • Oracle bought out MySQL, and has not been improving much on InnoDB
  • InnoDB was released as a modular plugin, which is how it works in 5.5
  • Percona forked InnoDB, created ExtraDB

About

  • Open-source software (GNU GPL)
  • MySQL consulting

Software

Why InnoDB / XtraDB?
  • Row-locking versus table-locking (MyISAM)
  • Transactional support - atomic commits
  • Binary logging for replication
  • Foreign key support
Percona Server
  • Percona Server - Drop-in replacement for MySQL. Not a MySQL fork. All client applications use the same protocol, so there is no compatability issues.
XtraDB
  • XtraDB is 100% compliant with InnoDB features and SQL - another drop-in
Percona XtraDB Cluster
  • Extremely easy to setup (less than one hour on initial trial)
  • Very minor changes to database configuration
  • Master-master-master setup - three or more masters
  • Synchronous replication
  • Can add / remove servers at anytime
  • Cluster software is using third-party software, not MySQL's codeset
XtraBackup
  • Hot backups – make backups while running server without affecting service
  • InnoDB locks table while using mysqldump
  • Throttles backups based on system load
Monitoring
  • Plugins for Nagios, cacti
Utilities
Configuration
  • Ubuntu + Percona + my settings
  • UTF-8 connections and collations by default
  • InnoDB tables by default
  • Strict startup checks – will crash if InnoDB doesn't load
  • No table caching
  • Slow query logs (more than one second)
  • Compatible with existing Ubuntu configurations, drop-in replacement for existing servers (uses native sockets, data directories, transaction log size)

Deployment

  • Maintain a 5.1 and a 5.5 release set
  • Ubuntu repositories
  • Gentoo ebuild in the works
  • Migration is as simple as a MySQL upgrade (dump, restore tables)