Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site osiris.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!petrus!bellcore!decvax!genrad!panda!talcott!harvard!seismo!umcp-cs!aplvax!osiris!eric From: eric@osiris.UUCP (Eric Bergan) Newsgroups: net.database Subject: Re: UNIX dbms Message-ID: <493@osiris.UUCP> Date: Thu, 29-Aug-85 15:43:10 EDT Article-I.D.: osiris.493 Posted: Thu Aug 29 15:43:10 1985 Date-Received: Sun, 1-Sep-85 12:14:19 EDT Distribution: net Organization: Johns Hopkins Hospital Lines: 48 Time to add my two cents worth. A couple of years ago, I did a fairly extensive comparison of Unify and Ingres (RTI version). There seemed to be some major failings in Unify. The locking for concurrency control was insufficient, to do it correctly required the applications programmer to determine what needed to be locked. And even then, deadlock resolution was by timeout, not a more active algorithm to detect deadlock. At the time of the comparison, Unify had not implemented any kind of reliable journalling facility. This is extremely important in production applications. I do not know if they have remedied this by now. In terms of performance, Unify was faster on simple things (selects, appends, replaces), but much slower on more complex tasks, such as joins, aggregates, and projects. While it was usually twice as fast on the simple things, it was often orders of magnitude slower on the more complex transactions. This was due to the lack of a query optimizer to try and determine the most efficient query tree. Also, while Unify does provide a query language, it does not allow it to be embedded in programs. For the application developer, Unify provides function calls that implement the access methods. But note: there is no simple call to do a join, or an aggregate. As I have said, this review was done a couple of years ago, so things may have changed. I also have not looked at Informix to see how it handles these issues. Oracle, to the best of my knowledge, does provide these more advanced features, but we did not do any performance testing between Ingres and Oracle. The sales fliers for Mistress 32 also indicate that it provides these more advanced features, but I can not personally confirm or deny that claim. Basically, the bottom line again depends on what you are going to do. Unify is probably better in smaller environments, or for embedding in products that will not require much maintenance and do not support much concurrent access to data. Ingres is a better choice when building larger products, where data integrity is a bigger concern, and where the cpu and disk horsepower are more likely to be there to support it. -- eric ...!seismo!umcp-cs!aplvax!osiris!eric