| 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.
|
| >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.
|