MySQL Overview Jed Reynolds Write Your Questions on the Board! Landscape, Engines, HA, Performance Questions
Overview Landscape MySQL Engines Replication High Availability High Performance Questions
RDBMS Landscape Smaller: SQLite, FireBird, BerkeleyDB MySQL, PostgeSQL, SQL Server MySQL Enterprise, NDB Larger: Oracle Enterprise, DB2, other OLTP
Oracle v MySQL? Boring
MySQL Landscape Various Editions: Community,Standard, Standard, Enterprise User Tools: Workbench, Query Analyzer, Monitor Commercial Variants Percona, Kickfire Sister projects: MariaDB, askmonty.org Drizzle, drizzle.org
MySQL Engines InnoDB (v: XtraDB, PBXT, Aria) ACID, Triggers, Transactions, MVCC MyISAM Non ACID, fast NDB – in memory, cluster BerkeleyDB - keystore Memory Archive Federated
MySQL Replication Built in, simple, multi-master Log shipping Single threaded Capture log position and snapshot Ignore some tables Cross-engine
High Availability No Backup: No Replication: No HA You Want Montioring Backup your logs and data N+1, N+2 sized pools Health criteria Single v. Multi master, failover Table Maintenance, Partitioning Failure containment (when do you shard?)
High Performance 1)Avoid the database 1)Is a DB correct tool? 2)Pregenerated results? 3)Application caching? 4)Results caching, memcache
Multiple Data Stores? Your RDBMS doesn't need to do it all NoSQL is vague Document, key store, or graph Full Text indexes: Sphinx, Lucene, Solr
2: Avoid your disk 1)Judcial query caching 2)Order by + group by = filesort 3)Avoid table scans, use indexes 4)Multi Column Indexes
3:Concurrency 1)Table locking 2)Separate servers/engines per task 3)Replication 4)Partitioning 5)Sharding
4:Disk thruput 1)Raid 2)Partitioning 3)Sharding
5:Maintenance Contain maintenance impact Practice in your dev env Alters, Indexing Optimize Table Repair Table
Questions, Sources Does Luke Skywalker use Oracle or CouchBase? Askmonty.org Drizzle.org Percona.com mysqlperformanceblog.com Maatkit
Thank Blog.bitratchet.com Sunday: Penguin Bike Ride After Talks!