Everyone seems to assume that having a central database is a good idea. Well, I’m sorry, but “everyone” is wrong. Dead, flat-out WRONG. Get over it.
Now (if you’re still with me), before you conclude that I’m insane or just stupid, let me point out the applicability of a concept that’s been around in computing, oh let’s say, more than half a century – the difference between “ logical” and “physical.” Generally speaking, we get things done in the world of computers by concentrating on the logical world. Then we apply a logical-to-physical mapping, and that makes things work in the real world. We do this all the time. Practically everything in computing involves layers and layers of logical to physical mappings – you get layers because the “physical” layer you thinking you’re mapping to often itself turns out to be logical, and needs mapping again to another layer, and so on recursively.
However familiar we all are with logical mappings, and however much we depend on them in our daily lives, we also work in a world of assumptions. There are a set of practices we have grown up with or inherited, and we simply continue them. How could it be otherwise? If you spend too much time questioning assumptions, you’ll be paralyzed and never get anything done.
The “central database” and how to implement it is one of those deep-down assumptions. There has got to be one reality, one SSN per customer, one balance. This is true and good. I accept it, as a concept that applies to a database at the logical level. But at the physical level?? Exactly one physical copy of the data in a single physical database (not counting backups, etc.)??? Hey, remember that thing we do all the time, that logical-to-physical mapping thing? How about one logical copy of the data in a single logical database, embodied in as many physical databases as are required to get the job done…now, there’s an idea…seems promising, yes?
So why is, when I walk into some data centers, there is a huge, company-existence-threatening drama about the – get this – one physical database??!!
It’s so big, it’s slowing down, it’s freezing up almost every day now, what can we do? We’ve already (pick your favorite):
- “upgraded” to Oracle
- “upgraded” to Oracle RAC
- “upgraded” to Sun/HP/IBM mega-servers
- “upgraded” to ultra-expensive super-storage
Whine, whine, we’ve spent all this money, “everyone” said we were doing the right thing, now the problem is back, I’m going to lose my job, customers are leaving and/or threatening, my business is under siege, I’ve had the “best” people on the case for months, I’m still in trouble, what can I do???
Go back and re-read the opening paragraph, the one about central databases being bad – unequivocally, supremely, annoyingly BAD. Remember that paragraph? Now, re-read it in two alternate versions, remembering the concept that pervades your everyday existence in computing, logical-to-physical mappings:
- Having a central logical database is a good (as in: terrific, why would you have it any other way) idea
- Having a central physical database is a bad (as in: awful, what are you, stupid) idea
Any discussion? Any questions? Everyone cowed or shamed into submission? Good.
Now, if you’re not already in the good place, stop reading stupid sarcastic blogs and go get it done!! On the other hand, if you are already in the good place, I hereby give you permission to wallow in glorious feelings of superiority and smug satisfaction for a little break before you go back and do something useful.
Comments