There are Four types of delta Merge Operation in SAP HANA Database.
- Auto Merge
- Smart Merge
- Hard and Forced Merges
- Critical Merge
Auto Merge:
The standard method for initiating a merge in SAP HANA is the auto merge. A system process
called mergedog periodically checks the column store tables that are loaded locally. For each
individual table or single partition of a split table, it determines whether or not a merge is
necessary based on certain criteria (for example, size of delta storage, available memory,
time since last merge, and others).
If the active parameter in the mergedog section of the indexserver.ini file is set to yes, auto
merge is active.
Note:
You can activate or deactivate auto merge for an individual table in the TABLES
(SYS) system view. Change the value in the AUTO_MERGE_ON column to TRUE or
FALSE.
Smart Merge:
SAP HANA provides a function that allows the system to check whether or not a delta merge
makes sense. This function is called smart merge. For example, if an application starts loading
relatively large data volumes, a delta merge during the load can have a negative impact both
on the load performance and on other system users. Therefore, the application can disable
the auto merge for those tables being loaded and send a hint to the database to merge once
the load has completed.
When the application issues a smart merge hint to the database to trigger a merge, the
database evaluates the criteria that determine whether or not a merge is necessary. If the
criteria are met, the merge is executed. If the criteria are not met, the database takes no
further action. Only a subsequent hint from the application triggers another evaluation of the
criteria.
If the active parameter in the smart_merge_enabled section of the indexserver.ini file is set to
yes, smart merge is active.
Caution:
For tables that you want to merge with the smart merge, disable the auto merge.
Otherwise, the auto merge and smart merge may interfere with each other.
Hard and Forced Merges:
You can trigger the delta merge operation for a table manually by executing the SQL
statement MERGE DELTA OF "" . This is called a hard merge. It causes the
database to execute the delta merge for the table either immediately if sufficient system
resources are available, or as soon as sufficient system resources become available. The hard
merge is therefore subject to the merge token control mechanism.
If you want the merge to take place immediately regardless of system resource availability,
you can pass an optional parameter. A forced merge may be useful in a situation where there
is a heavy system load, but a small table needs to be merged. It is also useful if a missed
merge of a certain table negatively impacts system performance. To execute a forced merge,
execute the SQL statement MERGE DELTA OF '' WITH PARAMETERS
('FORCED_MERGE' = 'ON') .
Critical Merge:
To keep the system stable, the database can trigger a critical merge. For example, when auto
merge is disabled and no smart merge hints are sent to the system, the size of the delta
storage can grow too large for a successful delta merge to occur. The system initiates a
critical merge automatically when a certain threshold is passed.
EmoticonEmoticon
Note: only a member of this blog may post a comment.