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.