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
- Offer an amazing toolset:
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)