Mar 20 2013

Laws You Break at Your Peril

Laws of Thermodynamics

TANSTAAFL

Gods of the Copybook Headings

All magic comes with a price

Winter Is Coming

My adult years started with a pretty thorough education in physics thanks to Uncle Sugar and the Navy Nuclear Power School. The laws of thermodynamics were carved into our brains (along with Baumgart’s Law*). Experience has taught me that all these other statements are more or less riffs on the concepts put forward by the fundamentals of the laws of thermodynamics. They’re just applications of the same within social spheres. In short, if you have a physical engineering background, you tend to be a realist. But note, I’m not a pessimist. I just recognize a simple thing. No matter how positive my thoughts are, no matter my belief in the righteousness of our application or business, no matter the utterly sublime nature of our offerings, I can’t make an electron travel more than about 18 inches in one millisecond.

Sorry.

What am I talking about? I’m talking about trade-offs. I’m talking about the fact that you really can’t get a free lunch, that you have to be prepared to pay the piper, that water is wet and fire does burn, that preparations for winter are not crazy. I’m talking about dealing with physical reality as it is, not how we’d wish it to be.

I was talking to a group of people about checking the consistency of your database. I made the suggestion that you should be checking that consistency as frequently as is practical within your system. If it wasn’t problematic for a whole slew of reasons, I’d probably run the check 3-5 times a day. Why? Because, when you get database inconsistencies, it almost always leads to data loss. So, the more frequently you can check, the better. I acknowledge, for most of us, that means we’re probably only checking once a day or once a week. Some of us are checking even less than that, for, debatable, but, probably, sound reasons relating to the nature of the business, the size of the database and the type of data. And, it’s worth noting, I’ve only had about five instances of corrupt databases over a long career.

But, one person from the audience disagreed. This person had systems that required up-time above everything. While he did run consistency checks, he would try to fix errors by deleting & modifying data rather than going to a restore. Up-time was everything. And, while he had more frequent inconsistencies in his databases, by and large he worked around the problems rather than taking the system offline and he saw zero problem with that.

You know what, I’m not going to argue. That may be an acceptable approach for that person, their data and the business they support. But, you need to make that kind of decision with all those sayings above in your mind. Because if you leave a corrupted page in your database, you’re right, it’s no big deal. Until that page gets split or rearranged or something else happens that your corruption suddenly grows. And now it’s not one page (remember, up to 8k worth of rows) but several (all with 8k worth of rows) and the likelihood of additional splits along with additional corruption grows. You can take risks, but you better be prepared for what might follow on to those risks.

You don’t think you’ll ever need to recover to a point in time, so you think log backups are crazy. Cool. Until you need it. Winter is coming. Doing data loads to your system is taking too long, so you turn off automated statistics updates. Saves you time, but you might notice a change in how queries run. TANSTAAFL. No need to run backups because your system is running a on a RAID 5 set of disks. Excellent until your database is corrupted. All magic comes with a price. You think all this crazy talk about storing relational data in a relational fashion is just job insurance for the lazy and incompetent you can force any kind of behavior you need into your SQL Server instance. ¬†And it works great with one row:

And that after this is accomplished, and the brave new world begins
When all men are paid for existing and no man must pay for his sins,
As surely as Water will wet us, as surely as Fire will burn,
The Gods of the Copybook Headings with terror and slaughter return!

In short, you can ignore stuff only so long. Sooner or later, entropy wins. Because of that, you need to make active decisions that bring order out of chaos, not lead to more and more chaos. And, no matter what, you can’t wish stuff into being. You have to do the work to prepare your systems, repair your systems, or maintain your systems.

 

 

 

* Lt. Baumgart was one of our instructors (Heat Transfer and Fluid Flow) and a total geek on horror films. Time permitting, we could get a good horror film conversation started. During those conversations, Baumgart’s Law was created. Baumgart’s Law states: In every horror film, there’s at least one incredibly stupid person. To explain, they usually announce themselves, “I don’t want to go up into the attic where I’ve heard all those horrific noises,” just before they do their incredibly stupid maneuver. This doesn’t always lead to their demise, but they are always there. It holds fairly true.

8 Comments

  • By G Bryant McClellan, March 20, 2013 @ 9:51 am

    I might have guessed you were an engineer. That explains a lot. I started out in ME before I went to CS. It probably also explains why I rarely disagree with you.

  • By Chuck, March 20, 2013 @ 9:58 am

    I missed going to Orlando by a hair when I decided to party in Milwaukee instead of studying for my Machinist Mate A school final.

    $ years sounded better than 6 to me by that point.

    USN!

  • By Chuck, March 20, 2013 @ 9:59 am

    typo on above.

    4 years in our fine Navy sounded better than 6 by that point is what I meant to say.

  • By Geoff Hiten, March 20, 2013 @ 11:21 am

    The reason there is an incredibly stupid person in a horror flick A.K.A. “Baumgart’s Law” is the same reason a Red Shirt dies at the beginning of every Star Trek episode. Someone has to demonstrate how the monster works.

  • By Grant Fritchey, March 20, 2013 @ 12:52 pm

    No, it doesn’t work. The best examples of Baumgart’s Law require full, or at least partial, knowledge that there is a monster in place. It’s the “The serial killer just offed my boyfriend/girlfriend, let me grab a flashlight.” behavior.

  • By Geoff Hiten, March 20, 2013 @ 1:15 pm

    OK. Similar ends but different purposes.

  • By Penney, May 29, 2013 @ 12:54 am

    Thanks on your marvelous posting! I actually enjoyed
    reading it, you may be a great author.I will ensure that I bookmark your
    blog and may come back from now on. I want to encourage one to continue your great
    work, have a nice day!

  • By mac repairs, June 24, 2013 @ 5:53 am

    Whether it be for pc repairs or mac repairs, backup your data regularly, and to as many devices
    as you have at your disposal, either external drives or online with the many cloud storage
    facilities available. The most common type of failure is due to the operating system,
    which is generally the easiest and cheapest recovery scenario.
    Data Recovery is big business and its very important to realise
    data damage falls in a few different categories.

Other Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment