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.