From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Haertel Message-Id: <200102080708.f1878fK92055@ducky.net> To: 9fans@cse.psu.edu Subject: Re: [9fans] So, once I've got the OS up how do I... In-Reply-To: <20010208062037.E5988199E1@mail.cse.psu.edu> Date: Wed, 7 Feb 2001 23:08:41 -0800 Topicbox-Message-UUID: 5d8f9cd6-eac9-11e9-9e20-41e7f4b1d025 >Seriously, can anybody explain why a rational person would buy a Real >Commercial Database? (`Because all the other lemmings are doing it' >isn't a sufficiently-good answer.) I've been waiting 25 years for >such an answer and haven't got one yet. I have mixed feelings about the utility of both the relational model and SQL. Every time I've tried to use the relational model I've almost immediately wanted to do some kind of query that fell outside the scope of the model, and the amazingly baroque SQL "SELECT" statement has always rubbed me the wrong way--the closest I ever came to happiness with the relational model was when I implemented a small, clean query language, having nothing whatever to do with SQL, as a set of Unix shell commands. Even there I ran up against fundamental limitations of the relational model, and haven't messed with any of that stuff for years. However, the other feature that Real Commercial Databases provide is atomic transactions, and those are valuable. If I was, say, a bank, and I needed to do some kind of double entry bookkeeping, updating multiple tables for each transaction, I would definitely want the ability to ensure that either all updates succeeded, or all failed, with no halfway inconsistent states. One problem I see with the Real Commercial Databases is that they typically provide a plethora of features, but to use any single feature you pretty much have to buy into the whole Real Commercial Database way of thinking. So people get confused about what it is they are really getting out of the Real Commercial Databases, and why they are using them, and the result is that the whole field is awash with various poorly founded beliefs about what the costs and benefits are. It is also so buzzword-complete that it's sometimes hard to tell what people are talking about. Here are some sample definitions: buzzword definition ======== ========== relational model "good" ACID guarantees "good" client-server "good" web-enabled "good"