Information Storage for Dummies (and how to make it secure)

Doing a lot of database work for a client right now so now it’s a good time to recap on where you can store your information. This might be basic stuff , but it’s essential basic stuff.

  • Spreadsheets, of which Microsoft Excel is the most popular. How the PC and Microsoft began their 25 year reign. Ironically their availability online (care of Google Docs and Google Spreadsheets) threatens to end the PC era and usher in the Web 2.0 one.Spreadsheets are never secure. If I can get a copy of them (and letting me read one means that I have a copy) then I can read everything. Everything. Most Excel passwords can be cracked within seconds.
  • Take a couple of spreadsheets, glue them together and put links between the sheets. Now you’ve more of less got an entry level database, such as Microsoft Access. It’s aimed at people who need more power than Excel, but are not developers.

    The trouble is that Access is not secure (see problem above) and that it doesn’t scale very well (for more than a couple of people using it at once). Both Access and Excel come with versions of Microsoft Office.

Access Splash Screen

  • So you have your information, and now you want to stick it on the web. MySql is the database of choice. Free, lightweight and with excellent tool support (e.g. phpMyAdmin), MySql is what powers this website. If you know what you’re doing (e.g. Google or Amazon) it will scale very very well.
  • For most people , the next step up is to a serious Enterprise database. Oracle, MS Sql-Server and it’s cousin Sybase are the main contenders in this area. DB2 from IBM is a distant fourth place while Sybase is strong in financial institutions. While MySql is catching up in features, most companies chose one of the main three because of their track record, a long list of people and vendors that support them, and because of ‘lock-in’. Once you choose a database it’s very hard to change.

So there you have it. Don’t let me see you trying to run a company on Excel or Access again. Or at least, don’t complain to me when it falls over!

Using a database to store business rules

On a recent client project, we ended writing more than 300 business rules to reflect some of the financial decision making that they applied to an application (excuse me if I’m being suitably vauge with this). Many of these rules would be shared across applications. The rules engine used was the Java based JBoss rules engine (formerly known as Drools).

Obviously , these rules need to be stored somewhere. Most large organisations are comfortable with the idea of using a Database such as Oracle or Sql-Server to carry out this task. This article , for version 2 of Drools but also applicable to the latest release, shows you how to use a database to store your business rules.