When people do not understand how much a server is being under pressure when it has to deal with an unsuitable data structure, why not let them feel it on their own body? These days I am facing the challenge of making clients understand, when and why it is a good idea to store their data in a so-called data warehouse and an OLAP cube.
Using good old paper, glue and a Rubiks Cube, I have created some kind of a mental torture instrument that lets the users become a human server, while I am pretending to be an impatient user.
First I present a piece of paper showing a normalized database, representing a typical ERP system containing information about purchases, products and customers. All for a fictional company. I then ask the user to calculate the revenue for a specific product purchased by a specific customer. The needed information is all spread out into different tables, why the user has to navigate much around and store a relatively high amount of information in their short-term memory, to find the correct answer. That will stress out most users as I am standing there waiting for the answer.
I then present the next piece of paper showing a denormalized data warehouse, where the calculation is easier to perform. That helps the user a lot. However, it is nothing compared to when I introduce the modified Rubiks Cube, and the user can read the result right away.
Letting the users become a human server, really makes them understand that if they get stressed out, a regular server might face the same problem as well. In that way, a simple and analog metaphor can easily explain what is really hard to explain using words.