Monday, January 26, 2009

Gas prices and pureXML / Benzinpreis

Do you remember the times when it was common to manually update the gas prices? Gas station attendants had to climb a ladder to replace digits. Sometimes there was a goof-up or, with increasing gas prices, ran out of some digits. The good thing was that changes to the gas price were not that frequent as they are today. To the gas station every change was a (more or less) cumbersome act.

Today we have electronic displays. Changes to the gas price happen with the press of a button or even without. Gas stations are far more flexible about when and how frequent to adjust prices. They can react faster to the market and are not even bound to always have the 9/10th of a cent. Sometimes you'll find a 1/10th or 2/10th cheaper station few meters away.

Why do I tell you about gas prices? Well, the reason is that yesterday during a walk (!!!) I passed such a display while thinking about a DB2 defect I was working on. Then it dawned on me that it is a nice comparison to pureXML. Working with just relational storage, you have to change the database schema when you want to react to market changes. Sometimes you goof-up, sometimes you run out of easy modeling options (see above). However, with the introduction of XML storage in the database, you get the needed flexibility. It is far simpler and way faster to react to market changes. You can introduce new "fields", i.e., store additional properties without changing the database schema, often without even changing the application. Once you have mastered the first step (using XML to store the "old stuff"), try to use pureXML in even advanced ways. The result could be that you are able to leave the "everything ends on 9/10th" behind you and start beating the competition...

Frueher mussten die Preise noch manuell angepasst werden, indem man auf die Leiter stieg und die Ziffern austauschte. Heute werden die Preise per Knopfdruck angepasst, leider aendern sich durch die Vereinfachung auch haeufiger die Preise fuer den Verbraucher. Einige Tankstellen gehen noch einen Schritt weiter und zeigen nicht nur die "alten" Preise mit den neuen elektronischen Anzeigen an. Sie aendern auch die Nachkommastellen von "9/10" auf "8/10", um billiger als die Konkurrenz um die Ecke zu sein.

XML kann aehnlich genutzt werden. Zunaechst ist es durch die erhoehte Flexibilitaet einfacher, ohne Aenderung des Datenbankschemas neue Eigenschaften in einer Tabelle zu speichern. Man kann schneller und guenstiger auf Anforderungen reagieren. Dies ist aber nur der erste Schritt. Hat man diesen gemeistert, kann man schauen, wie man die Vorteile von pureXML noch staerker nutzt. Das Resultat ist dann vergleichbar mit den Benzinpreisen und dem Abloesen vom starren "9/10"-Preis.


Leon said...

Henrik, I love your analogy of price changes and the schema flexibility that XML provides. I think that many of us in the IT are so focused on the speed of execution that we forget that responsiveness to change is as important. Having pureXML support in DB2 is great. Having it available in the free DB2 Express-C is even better :-)


Henrik Loeser said...

Leon, having pureXML available in the free DB2 Express-C is nice to try things out on your machine. Guess what I have installed and show to customers?



Related Posts with Thumbnails