best practices for database administrators presentation
Post on 31-May-2018
216 Views
Preview:
TRANSCRIPT
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
cabral@pythian.com2008 MySQL User Conference & Expo
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......
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!)
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
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
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?
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
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?
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
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
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?
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'
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'
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?
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!
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
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
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
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
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
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?
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
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
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
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
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
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!
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
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?
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
8/14/2019 Best Practices for Database Administrators Presentation
http://slidepdf.com/reader/full/best-practices-for-database-administrators-presentation 31/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
cabral@pythian.com
www.sheeri.com
top related