On Jan 2, 2007, at 12:57 , Andreas Raab wrote:
Howard Stearns wrote:
Yes, I'm quite serious. I'm asking what kinds of problems RDBMS are uniquely best at solving (or at least no worse). I'm not asking whether they CAN be used for this problem or that. I'm asking this from an engineering/mathematics perspective, not a business ("we've always done things this way" or "we like this vendor") perspective.
The main benefit: They work.
For some definition of 'work', yes. My experience so far is more that they are 'perceived' to work by enterprisey management-types. "If it's got a database (preferably Oracle), then it must be a real business system. Otherwise it's some weird toy". This perception is not to be ignored lightly, but it isn't the same as actual technical merit and not necessarily backed by facts.
There is no question how to use them, apply them to problems, map them into different domains etc.
Really? A pretty smart acquaintance of mine who does "enterprise" consulting with a company that's actually pretty damn good (and has a pretty good reputation and track record AFAICT) once asked the not entirely rhetorical question why, in this day and age, every CRUD application turns into a PhD thesis.
The Sports system I was supposed to improve had a very complicated schema, but all the interesting data had to be stored in serialized dictionaries anyway because it simply wasn't regular enough. During the development of the replacement (which doesn't use an RDB at all), we were presented with a 'standardized' relational schema for the domain. We fell over laughing. I don't think we could have printed it on an A0 sheet. And that isn't the only time I have seen this sort of thing.
I did come up with a schema that would have worked, and apparently our DBAs were quite impressed with it, but I wasn't, as it was really just a meta-model for defining arbitrary key-value pairs and relations between them.
This has all been worked out, there is nothing new to find out, just a book or two to read. From an engineering perspective that is vastly advantageous since it represents a solution with a proven track-record and no surprises.
At least not until you put the system into production and wonder why it doesn't actually work at all, or performs worse than 2 people doing the same job manually.
Marcel