Overview of transactions and versioning
290
Subdividing transactions
You can identify important states within a transaction and return to them
selectively or cause other actions to occur by using savepoints. Savepoints are
discussed further in “Savepoints within transactions”.
Introduction to concurrency
Adaptive Server IQ can execute more than one transaction at the same time.
The term concurrency refers to this ability. Special mechanisms within the
database server allow IQ transactions to execute concurrently without
interfering with each other.
How concurrency works in IQ
While executing the SQL statements that comprise one transaction, the
database server can execute some or all of the statements in other transactions.
Transactions processed at the same time are said to be concurrent.
Adaptive Server IQ's approach to concurrency is designed especially for the
data warehouse. Typically, in a data warehouse environment, many users need
to read from the database, but only the DBA needs to update it. However, there
is often a need to be able to make those updates while other users continue to
request and receive query results.
Adaptive Server IQ allows many simultaneous connections by many users to
one database. It can also process transactions from more than one connected
user or application concurrently.
Adaptive Server IQ ensures that all database operations occur within a
transaction, and that these operations do not interfere with each other. It does
so by setting access restrictions at the table level, and by using a technique
called snapshot versioning, described in “Introduction to versioning”. On a
given table, IQ allows concurrent processing of multiple read transactions, but
only one write transaction. This approach maintains the internal consistency of
the database.