Friday, March 16, 2007

how companies mismanage their data and why it matters

(Begin soapbox speech.)

Company X has a set of computer servers with a great, big shared directory space. People put files in directories (a.k.a. folders) in this space--think of it as one great big disk drive. Because of the way the company sets up its permission system, everyone can write everywhere. So, what happens? Person A has a directory there. Person B starts working inside person A's directory. Person A doesn't realize it and deletes person B's changes.

It should be impossible for this problem to happen. The first, simplest, most basic thing Company X should do is give each person his or her own directory and set the permissions so that only the directory's owner can change the files in that directory. If you want to change someone else's file, you copy it to your directory and make the changes there. Then the other person can copy it back.

Second, there's no way to recover the changes because Company X runs their back-ups once a week. This problem also shouldn't happen. Company X really ought to be running what are called "incremental backups" and doing it every hour. An incremental backup is simply a copy of only the stuff that's changed since the last backup (incremental or otherwise). They don't take a lot of space, and they can save your butt, or at least your workers' time.

Finally, if you just do the simple trick of controlling write permissions on directories, you can get into a situation where no-one knows which copy of the file is the "official" copy. There are lots of great ways to deal with this problem, too. For at least the last couple decades, software called "version control systems" has existed. It's designed to solve exactly this problem. CVS is free and widespread, but it has some limitations. Subversion is the new kid on the block, also free, that's designed to replace CVS. If you want a commercial product, how about BitKeeper? Many others exist, too.

In other words, these problems are expensive to the company, they've been around for a long time, and they're easy to fix. Please, please do so.

(This concludes this soapbox. Had this been an actual rant, the attention signal at the beginning would have been followed by scorching rhetoric with minimal factual content.)

No comments: