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