relational for what? [was: Design Principles Behind Smalltalk, Revisited]

Marcel Weiher marcel at metaobject.com
Wed Jan 3 07:26:10 UTC 2007


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




More information about the Squeak-dev mailing list