Author: way0utwest

  • Probabilities and Disaster Recovery

    The risk of an event is sometimes inversely proportional to its impact.

    When I talk about disaster recovery, one of the key things that I try to stress is the idea that the amount of effort and resources you devote to the problem is often scaled to the risk of loss. It doesn’t help the company if you decide to spend $1mm to ensure extremely high availability and zero data loss for a system that generates $20k in revenue a year. It might not be worth spending $100k to protect a system from more than a day of downtime if your daily revenue is less than $5,000, but it might be. You have to decide this in your environment.

    However when we talk about disaster recovery is seems that the vast majority of people plan for a data center failure, or a hurricane, or a major disaster. Those are possibilities, but the risk of them happening is low. It’s rare that a major disaster will hit any particular part of the world and therefore the risk is often very low. With a low risk, it might not be worth spending a lot of money on extra hardware to handle a situation that may never occur. I know that most of the time the management I’ve worked for haven’t felt it was worth spending a lot of money to prepare for a major disaster. There are systems that are worth duplicating to ensure high availability, and in many cases it does seem that management is willing to pay for spare systems when downtime is an issue.

    The most common disaster that I seem to hear about is the “whoops” disaster. A disaster that’s human error, a situation where someone makes a mistake in data entry. The most common “whoops” for DBAs seems to be the UPDATE or DELETE without a WHERE clause, but it seems these days there’s no shortage of issues occurring from applications that allow users to manipulate large batches of information.Yet it seems that too often I don’t see management making the preparation for this type of disaster a priority.

    There are numerous ways to handle these types of disasters. You can set up log shipping on a delay, even to a secure workstation (remember to secure production data), to give you time to respond to a situation and recover data. There are numerous tools, such as Red Gate’s Virtual Restore and SQL Backup Pro, that allow you to mount a backup file or recovery a single object from a backup file without impacting the full database. There are log reader tools that allow you to recover data or undo transactions from the transaction log whenever issues arise. Many of these tools have a price, but the cost of downtime is usually higher. Even the cost of losing other work when highly paid professionals are spending time recovering data across hours instead of minutes would justify the cost of purchasing one of these tools instead of the cost of time spent building a data recovery solution.

    Whether you build or buy a tool to help you deal with a “whoops” disaster, you ought to ensure that you make some preparations here. The risk of you losing revenue from this type of disaster is much higher than spending weeks building a plan that provides for recovery in the event of a catastrophic disaster.


    The Voice of the DBA Podcasts

  • Big Gaps

    Emacs was my favorite editor in college

    I saw this piece on Learning Unix from Miguel  de Icaza that brought back memories. Michael is a well known developer that is working an open source implementation of .NET called Mono. He worked at Microsoft and continues to bring .NET to other platforms, but he primarily works on Unix based systems. The post laments the lack of basic Unix knowledge and tricks from many of the developers he meets. His recommendation is a few books and tutorials to learn shell commands, emacs, and more.

    Those bring back memories for me since I learned to use emacs early in college. I went through tutorial and enjoyed the editor much more than vi and learned to take advantage of shell commands for quick scripts or tools that would make my programming tasks easier. Those skills helped me when I moved to the DOS/Windows world and scripted many tasks, and even helped in SQL Server with the scripting tasks is SSIS and SQLCMD. As I look over PowerShell scripts these days, I find myself seeing the same constructs as I saw in Korn shell, but with different syntax.

    As I read the piece, I asked myself a question over and over, which I couldn’t answer completely. I did, however think it would make a good Friday poll and decided to ask the rest of you for your opinion:

    What basics do you find many data professionals lacking and what do you recommend to help them?

    I know people need to learn how to back up a database, and they should learn T-SQL to some extent, but what basic skills would you point people towards? What books or resources would you recommend?

    I know we have some great basic articles here at SQLServerCentral that everyone should read, like Managing Transaction Logs. I think we’ve tried to address the basics with the Stairway series on various topics. However I’m sure there are holes in our catalog as well as some very common things that many of you would like to recommend to every DBA or developer. You have your chance today to help compile a list.

    Steve Jones


    The Voice of the DBA Podcasts

  • Quick Recovery Techniques Webinar

    The slides for the SQLServerCentral webinar #13 are available here on the blog. Download them from the link below

    Quick Recovery Techniques PPT

    There aren’t notes in there, but if you have questions, let me know. The recording of the webinar will be up in the Training section of SQLServerCentral next week.

  • A Secure Application Model

    I like the AppStore, but would like to be able to choose from other stores besides Apple's.

    Amazon introduced a Cloud Reader for the Kindle, and the Financial Times pulled their iPhone app out of Apple’s store and introduced an HTML5 web application. All of these moves point to the fact that companies are finding Apple’s 30% fees for revenue to be a bit onerous and want to find a way to reduce their costs. That makes sense, and my suspicion is that Apple will ease their terms at some point as companies move to their own web model of building and deploying applications instead of building native iOS apps.

    I don’t think the AppStore model is dying, however. One of the things that I have noticed in the apps between the iPhone and the Android devices at the ranch is that the quality of the iOS apps is higher. It’s rare that I have crashes, there is more consistency between the various interfaces, things work as you expect, and they run well. It’s not that Android apps are horrible, but outside of the large company apps, the quality of any particular app is likely to be lower. That’s expected because there is no gate that prevents someone from building a poor quality app and deploying it in the Android marketplace.

    However there’s another thing I take from this. The most important part of the app is the data or the content. Companies are arguing over who gets how much of the profits from various content delivery methods. Some companies think 30% is too much, some don’t. However, it doesn’t change things for the consumer since many of us will pay the same price, though I suspect we might pay more in an open market. If they could, companies might give away apps for free, but then charge a small amount for the information, which will add up over time to be more than the cost of an app right now.

    One of the things I like about the AppStore is that quality control check. While anyone can submit an app, Apple has been slow, and sometimes inconsistent in how the approve or reject the items. That’s good for quality, bad if you want an app that doesn’t meet Apple’s vague standards. I’d like a more open market, but I also want some quality standards. Windows has been open in that we’ve been able to download applications that anyone has written and install them. Windows has also suffered from the proliferation of malware as well as the poor quality of so many pieces of software that are available for download.

    In my ideal world, we’d have some secure application models, essentially app stores that were run by different companies. Amazon has an Android store, but I wish they had an iOS one as well (and WP7). Microsoft could run a store, but so could any other enterprises that had the resources to vet the software, manage a marketplace, and gain the trust of consumers. I could even see eBay getting into the game, allowing developers to auction off their software after it had received some stamp of approval from the company.

    That’s the direction I hope we are moving in, but I’m not sure if we’ll get there.

    Steve Jones


    The Voice of the DBA Podcasts