Merge RLV Store into IQ Main Store

Over time, or when thresholds are triggered, the data committed in-memory is merged to the IQ main store, through an asynchronous data transfer process, the RLV store merge.

The merge of RLV-enabled table data into the IQ main store uses one of two approaches:
  1. Non-blocking (background) merge: Transactions normally still read and write to the RLV store while a non-blocking merge is in progress. There is a possible impact on runtime operations due to the merge's use of system resources. The non-blocking merge briefly locks write-access to the table being merged. This may result in a brief pause, but will not cause transactions to fail.
    • The non-blocking merge is initiated by the server as needed.  The server merge evaluator executes a merge periodically, at a configurable interval. The merge can also be triggered by automated merge thresholds.
    • It is also possible to execute a non-blocking merge manually. However, this is not recommended.
  2. Blocking (foreground) merge: The table containing the data to be merged into the IQ main store is locked while the merge takes place. The RLV merge operates as a transaction which creates a new version of the table. The visibility of this table version follows normal table versioning rules.
    • Certain events trigger a blocking merge to execute automatically.
    • In the event that you need to execute a manual merge, on most occasions you would run a blocking merge.
Related concepts
RLV Store Persistence and Durability
Manage Memory for the RLV Store
The RLV Store Merge