Page 1
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 1/32
Best Practices for Database Administrators
Sheeri K. CabralDatabase Administrator
The Pythian Group, www.pythian.com
[email protected] MySQL User Conference & Expo
Page 2
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 2/32
MIRE
● Make It Really Easy
● Automate
● Document
● As for your brain......
Page 3
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 3/32
Use your brain for CPU, not storage!
(use a request tracking system!)
Page 4
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 4/32
Monitoring Basics
● Graph (Cacit)
● Alert (Nagios)
● Check your checks
Page 5
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 5/32
Tradeoffs
● Tradeoffs always exist
● Think about them
Page 6
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 6/32
Most Commonly Given Advice
● Backup
● Restore
● What do you use backups for?
Page 7
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 7/32
In Case of Failure.....
● Restore from backup
● Master/Slave
● Master/Master
● Cluster
Page 8
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 8/32
DR? HA!
● Test your DR/HA plans
● What scenarios do they cover?
● What scenarios do they NOT cover?
Page 9
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 9/32
Ounces of Prevention
● Configuration vs. reality
● Possible memory usage
● Disk space / tablespace size
Page 10
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 10/32
Pounds of Cure
● Error Logs
● Slow Query Logs
● Query Review
Page 11
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 11/32
Query Profile
● mk-query-profiler
● mysqlreport
● SHOW STATUS before and after
● Is every index being used?
Page 12
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 12/32
What Does This Query Do?
● SELECT amount, created FROM
payments where user='sheeri'
Page 13
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 13/32
What Does This Query Do?
● SELECT amount, created FROM
payments where user='sheeri'
vs
● SELECT /* find payments for
customer */ amount, created FROMpayments where user='sheeri'
Page 14
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 14/32
Data Profile
● PROCEDURE ANALYSE()
● What does each column, table do?
● What's in a name?
Page 15
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 15/32
Does It Make Sense?
● Can you “read” the data?
● Question “best practices”
● Then, make some!
Page 16
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 16/32
Schema Profile
● Start normal
● Denormalize if necessary
● Descriptive foreign keys can prevent denormalization
● Stored procedures for developers
Page 17
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 17/32
Replication
● Be careful of TRIGGERs – And any DML from SP or UDF
● Sync often with mk-table-sync
● Handle duplicates carefully
Page 18
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 18/32
Maintenance
● Partition
● Archive
● Purge
● Static data
Page 19
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 19/32
Manage User Expectations
● Constant report refreshes
● Aggregate data once every hour or 15 minutes
● Split off processing:
– customer/non-customer
– internal/external
Page 20
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 20/32
Creative Suggestions – Forums
● COUNT(*) for paging
● LIMIT 0,n+1
● Cache each page of forum
– First page can have up to n+5 entries
Page 21
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 21/32
Creative Suggestions – Calculations
● Limited set of calculations?
– Distance between zip codes in the US
● Calculate the same thing more than once?
● Calculating easy constants?
Page 22
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 22/32
Foreign Keys
● Application still has to handle problems
Page 23
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 23/32
And that's just ACL's!
Summary
Page 24
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 24/32
When I Walk In the Door
● alerting
● request tracking
● graphing
● documentation
Page 25
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 25/32
My Toolbox
● EXPLAIN
● Ma'atkit
● hackmysql.com (mysqlsla, mysqlreport)
● MySQL Manual
Page 26
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 26/32
Also Useful
● mytop
● innotop
Page 27
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 27/32
Testing, Testing...is this thing on?
● Functional
● Load
● Start now!
Page 28
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 28/32
Consider
● master/master vs. read_only slave
● Learn the foundations
● Semi-dynamic data
Page 29
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 29/32
Redundancy
● Make everything replaceable
– Kickstart
– Automated config management
● Including yourself!
– Don't you want a vacation?
Page 30
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 30/32
Be a Good DBA
● Prove your work to yourself
● Be clear
Page 31
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 31/32
Page 32
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 32/32
Sheeri Cabral
[email protected]
www.sheeri.com