[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ulysse::rdb_vms_competition

Title:DEC Rdb against the World
Moderator:HERON::GODFRIND
Created:Fri Jun 12 1987
Last Modified:Thu Feb 23 1995
Last Successful Update:Fri Jun 06 1997
Number of topics:1348
Total number of notes:5438

308.0. "Questions on Ingres via Rdb" by COL01::GOETTLICH () Tue Feb 21 1989 16:40

Hi,

one of our customers wrote a real 'bad' comparison concerning Rdb and Ingres.
Now we are analyzing this report and are trying to find out which points are 
really true and which points are wrong.
As we don't know Ingres very well there are a lot of questions we can't answer 
on our own - so we beg you to help us as far as you are able to do.


Thanks in advance,
Birgit

Here is the list of open questions:

1) How Ingres works in a VAX-Cluster & a LAVC ?
   Are there any known problems or disadvantages via Rdb?

2) Is Ingres/SQL an accepted ANSI standard?

3) Is Ingres/Forms an accepted ANSI standard - do they only use SQL-statements?
   What are the advantages of Ingres/Forms? 
   How does it fit together with the standard SQL/Forms / ANSI/SQL?

4) Do you have any informations about 'nested transactions'?
   How do they work?
   What are the benefits of 'subtransactions'?
   Do we have something comparable within Rdb?

5) Does Ingres offer the possibility to make one query over a database and a 
   RMS-file using embedded SQL? 
   (For example one join concerning the database and a RMS-file?

6) Can they really do an "online-backup"?

7) Do they have the possibility to define a timeout for deadlocks?

8) Are there advantages concerning the lock mechanism of Ingres (Lock 
   Escalation) via Rdb (Adjustable locking)?
   Does Ingres allow you to manage the number of locks within an application?
   Do you know any documentations / comparisons / publications concerning the 
   two lock mechanism?

9) Is it true that every user has two processes? One frontend and one backend 
   process? 
   How do they work?
   What are the advantages via ACMS - is it really easier to realize 
   extensions?   

10) Are there any known restrictions concerning the updates of views within 
    Ingres?

    
T.RTitleUserPersonal
Name
DateLines
308.1Some answers.BANZAI::CARPENTERExiled CanardThu Feb 23 1989 13:53145
1) How Ingres works in a VAX-Cluster & a LAVC ?
   Are there any known problems or disadvantages via Rdb?

    There is a master-slave relationship amongst the nodes. Rdb/VMS completely
    supports VAX Clusters.

2) Is Ingres/SQL an accepted ANSI standard?

    Ingres V5.0 was not ANSI standard.  I believe it was written before
    the standards were finalized.  Ingres SQL V6.1 is much closer to the
    standard, if not entirely compliant.  From what I have heard applications
    need to be converted to use SQL V6.1.  RTI is supplying a conversion   
    package, however it sounds like additional manual work must also be
    done in many cases.

3) Is Ingres/Forms an accepted ANSI standard - do they only use SQL-statements?
   What are the advantages of Ingres/Forms? 
   How does it fit together with the standard SQL/Forms / ANSI/SQL?

    Ingres/Forms is NOT an accepted ANSI standard.  You use a utility called
    VIFRED (visual forms editor) to create a form.  It is similar to using
    either TDMS or FMS.  You can use the form from either a 4GL (like QBF
    query by forms or RBF report by forms or a 3GL program (which can be
    written in SQL).

    I am not aware of any standard SQL/forms.  I thought the standards for
    forms were FIMS.

4) Do you have any informations about 'nested transactions'?
   How do they work?
   What are the benefits of 'subtransactions'?
   Do we have something comparable within Rdb?

    With Ingres you can create savepoints.  This allows you to partially abort
    a transaction.  The user specifies one or more savepoints within a 
    transaction.  They then can abort to a particular savepoint.  All updates
    to that savepoint are undone, all updates done prior to that savepoint
    are preserved.

        BEGIN TRANSACTION
            :
            :
        SAVEPOINT A         (all updates prior to savepoint B are preserved)
            :
            :
        SAVEPOINT B
            :                (all updates done here are aborted)
            :    
        ABORT TO SAVEPOINT B
            :
        END TRANSACTION


    Savepoints allow the user to do 'What if' type of processing.  There is
    no savepoint capability in Rdb.  

5) Does Ingres offer the possibility to make one query over a database and a 
   RMS-file using embedded SQL? 
   (For example one join concerning the database and a RMS-file?

    In order to do any queries with multiple databases, or a database and an
    RMS file, INGRES/STAR software is required.  Although this is their 
    distributed database functionality, it is also needed to access 
    multiple databases.
    
    In RTI's demonstration session they show accessing an RMS file and an 
    INGRES database.  All they are doing is linking 2 .obj files together, 
    one that accesses the RMS file, and one that accesses INGRES.

    They do not have 2 phase commit.

6) Can they really do an "online-backup"?

    On VMS, INGRES uses the VMS backup utility.  You run one of their
    utilities, CKPDB, which in turn invokes VMS backup.  The backup must be
    done OFFLINE.  If you don't use after image journaling, you can use
    VMS backup directly instead of using CKPDB.

    They also have utilities to unload a database (UNLOADDB) or copy some tables
    (COPYDB) from a database.  They call these their backup utilities as well.
    I presume these could be done online.

7) Do they have the possibility to define a timeout for deadlocks?

    On VMS, INGRES uses the VMS lock manager to detect deadlocks.
    Using the VMS sysgen parameter,DEADLOCK_WAIT , you can set the
    number of seconds between every deadlock check.

    With Ingres you can set a NODEADLOCK parameter.  For single statement
    transactions, all locks are preclaimed before the query is executed.
    This works with table level locks only.

    You can also specify a timeout for locked resources (how long you want 
    to wait if the resource needed is locked). The default is to wait forever.

8) Are there advantages concerning the lock mechanism of Ingres (Lock 
   Escalation) via Rdb (Adjustable locking)?
   Does Ingres allow you to manage the number of locks within an application?
   Do you know any documentations / comparisons / publications concerning the 
   two lock mechanism?

    Ingres either locks a table or a page.  The optimizer is used to
    estimate the number of pages that a query will touch.  If it 
    estimated ten pages or less, page locks will be used, otherwise
    table locks will be used.  If more than ten pages are locked, the
    locks are escalated to table locks.  The statistics the optimizer uses
    need to be gathered manually by running a utility, OPTIMIZEDB. If the
    statistics are out of date, or there is a great deal of overflow,
    the optimizer may choose page locks incorrectly, then need to escalate to 
    table locks.  This escalation can lead to deadlocks in heavily concurrent 
    environments. They do not have record level locking.
    
    Note: the number of pages is a user settable parameter

    Rdb is capable of locking at a finer level of granularity (row level),
    thus greater concurrency is possible.  
    
    The Ingres Database Administrator's Guide is the only source I have seen
    for information on locking.

9) Is it true that every user has two processes? One frontend and one backend 
   process? 
   How do they work?
   What are the advantages via ACMS - is it really easier to realize 
   extensions?   

    In Ingres V5.0, this was true. The front-end process is the user 
    interface, the backend process handled all database access.  Communication
    between the two processes was done via mailboxes.  This architecture
    has often been criticized, and is changed with Ingres V6.1.  You can
    now specify the number of backend processes you want.  This new 
    architecture is now a client-server model, with each user having their
    own client front-end process, and a settable number of backend server
    processes.


10) Are there any known restrictions concerning the updates of views within 
    Ingres?

    Some updating of views is permitted.  If a view is made up of only one
    base table, any field may be updated. (Same as Rdb)

    If a view is composed of multiple tables, any column that is not part
    of the where/with predicate can be updated.  No rows can be appended
    or deleted from the view.
308.2Not ANSICOOKIE::BERENSONVAX Rdb/VMS VeteranMon Feb 27 1989 16:4812
>2) Is Ingres/SQL an accepted ANSI standard?
>
>    Ingres V5.0 was not ANSI standard.  I believe it was written before
>    the standards were finalized.  Ingres SQL V6.1 is much closer to the
>    standard, if not entirely compliant.  From what I have heard applications
>    need to be converted to use SQL V6.1.  RTI is supplying a conversion   
>    package, however it sounds like additional manual work must also be
>    done in many cases.

Even with V6.1 they are far from the standard.  For example, they do not
support ANSI Module Language AT ALL.