March 5, 2018 by Kenneth Fisher
My very first SQL Homework post was about taking a backup. The vast majority of people who work with databases (there might be some reporting people who are exceptions) need to know how to take a backup. If nothing else you need to know how to save your work. But, as important as knowing how to take a backup is, you need to know how to recover even more. In fact, not knowing things like how much data you can lose, or how long you have to perform the recovery can cost you your job. So here is your homework for this month.
- What does RPO stand for? More importantly what is your RPO? Yes, I mean at work. You need to know not only your baseline RPO but any exceptions that exist, and there are almost always exceptions.
- What does RTO stand for? Same thing. What’s your RTO? Both the baseline and any exceptions.
- Now for the million dollar question. Can your current backup schedule support these times? If yes great! Move on to the next bullet point. If not, make plans on how to modify it in order to support your RPO and RTO. If that’s not possible then you might need to re-negotiate one or both.
- Yay! You now have confidence you can, or soon will be able to support your RPO and RTO for a disaster. What about a minor disaster? In fact, it might be so minor it doesn’t get called a disaster. What happens when a user or developer comes to you and says “Oops, we deleted a row of data. Can you get it back for us?”. This is an operational restore. Still important but you probably don’t have an RPO or RTO for this. Both are likely to be more generous than in the case of a true disaster, but you still want to know you can cover what needs to be done.
No grades this time. If you can’t do all of the things above and you are a DBA then you need to learn how. Period. If you aren’t careful you might be learning how while you are updating your resume. If you are a developer or BI person (reporting, ETL etc), well, maybe this is less important to you specifically, maybe not. But trust me, this knowledge isn’t going to hurt you. In fact, your DBA may not be thinking beyond production. You are more affected by what happens in the development and test environments than they are, you might want to have a talk with your DBA and negotiate your own RPO and RTO. Be ready to justify this to the business btw, because they are the ones paying for the storage to save the backups and the time for the DBA to deal with all of it.
This is important stuff! So make sure you have your i’s dotted and your t’s crossed and be prepaired before you actually need it.