With in-memory row-level versioning (RLV) for SAP® Sybase® IQ, more than one user can modify the same table
concurrently, users can wait for transaction locks instead of having to retry, and a hybrid
storage model optimizes data write-access, without sacrificing read-access performance.
- Concurrent Table Writes – in earlier versions of SAP Sybase IQ, incoming stream
data had to be batched, and run serially, which caused conversion overhead,
and latency in data availability. With in-memory row-level versioning, the
IQ server allows concurrent, low-latency modifications to tables. This means
that multiple connections can modify the same table, as long as they are
adding or modifying different rows
- Blocking and Locking – with earlier versions of SAP Sybase IQ, a transaction
would lock a table, blocking all other connections from writing to the table
while the transaction was open. These other connections would have to
implement retry logic through a form of looping, which affected performance.
In-memory row-level versioning supports multi-version concurrency control
(MVCC), for version management at the row level. Connections can wait for
locks (on either the table or a single row), eliminating the need for retry.
- Hybrid Storage – in-memory row-level versioning introduces the row-level versioning (RLV)
store to SAP Sybase IQ. The new RLV store combines with
the existing on-disk IQ main store to provide a hybrid storage mechanism
that combines the extreme performance and low-latency of the in-memory store
with the robust high-performance and scalability of on-disk storage.
Immediate data modifications (load table / insert / update / delete) occur
within the write-optimized RLV store. The RLV store is periodically merged
into the read-optimized IQ main store through asynchronous data transfer.
Thus, most data in an IQ table can be accessed via indexes, and provides
expected IQ query performance.