SAP HANA. Operación Delta Merge

Buenas tardes compañeros. Hoy me gustaría hablar sobre una operación tan regular e importante que tiene lugar en la base de datos de SAP HANA como Delta Merge.





En el concepto de base de datos de HANA, los cambios en las tablas de columnas no ocurren directamente en la tienda principal. Esto se debe a que el área MAIN está optimizada para operaciones de lectura, no para operaciones de escritura. Todas las operaciones de escritura se llevan a cabo en un área especial llamada tienda Delta. En este caso, las operaciones de lectura se realizan desde ambas áreas.





Periódicamente es necesario actualizar el área de almacenamiento principal de las tablas de columnas (tienda principal) con el contenido del área de tienda delta. El proceso de fusión de estas dos áreas se denomina fusión delta. Este proceso se puede dividir en tres etapas: la operación realizada inmediatamente antes de la fusión, durante la fusión y después de la fusión. El proceso de fusión delta se puede representar esquemáticamente de la siguiente manera:





Representación esquemática de una operación Delta Merge
Representación esquemática de una operación Delta Merge

En la primera etapa (antes del inicio de la operación de fusión delta), vemos que hay dos áreas Main1 y Delta1. La lectura se realiza desde ambas áreas, pero la escritura se produce solo en el área Delta1.





delta merge, Main2 Delta2. Main1 Main2 ( 1). (committed) Delta1 Main2 ( 2). (uncommitted) Delta 1 Delta2 ( 3). Main1, Delta1, Delta2. Delta2.





, , Main1 Delta1 . Main2 Delta2. Delta2.





, ( ) delta merge . , Delta1 Delta2 , .





Delta Merge.





Tipos de operaciones de fusión delta
Delta Merge

, . mergedog, SQL. , (implicit) merge, mergedog , Recovery Log replay.





Delta merge

delta merge , (Auto), , , (Critical), . .





Auto merge.  MERGE :





indexserver.ini -> [mergedog] -> activate (boolean), default: true





indexserver.ini -> [mergedog] -> check_interval (ms), default: 60000





indexserver.ini -> [mergedog] -> auto_merge_decision_func





[mergedog] true. ( check_interval) mergedog merge . Auto merge auto_merge_decision_func.





Critical merge.  MERGE mergedog . Critical merge :





indexserver.ini -> [mergedog] -> critical_merge_decision_func





Delta Merge

DELTA MERGE. :





Hard Force merge





, , MERGE. Hard merge :





MERGE DELTA OF “<table_name>” [FORCE REBUILD]





DELTA MERGE ( ) . FORCE REBUILD , delta merge, , , (decision function), .





WITH PARAMETERS (‘FORCED_MERGE’ = ‘ON’) FORCED MERGE, .





Smart merge





merge . , BW. . , Smart merge , .





indexserver.ini -> [mergedog] -> smart_merge_enabled





indexserver.ini -> [mergedog] -> smart_merge_decision_func





Smart merge :





MERGE DELTA OF “<table_name>” WITH PARAMETERS (‘SMART_MERGE’ = ‘ON’)





! , .





SAP ABAP TREX_EXT_MERGE_DELTA_INDEX smart merge .





Memory merge





SAP HANA 1.0 SP8 Memory merge, Hard merge. , , .





! . , .





Merge Monitor

. Merge Monitor.





( 2057046) , , . , .





() Merge . merge token, FORCE MERGE. Merge . . , , load_balancing_func indexserver.ini. merge, . , token_per_table.





Delta Merge, M_DELTA_MERGE_STATISTICS, . HOST_DELTA_MERGE_STATISTICS _SYS_STATISTICS. Merge. Merge TYPE ‘MERGE’. :





Valores en el campo TYPE de las vistas M_DELTA_MERGE_STATISTICS y HOST_DELTA_MERGE_STATISTICS
TYPE M_DELTA_MERGE_STATISTICS HOST_DELTA_MERGE_STATISTICS

Delta Merge M_JOB_PROGRESS.





, Delta merge , . : main () + main () + delta. , .





delta merge (TYPE='SPARSE' M_DELTA_MERGE_STATISTICS), Pool/OptimizeCompression/<schema>:<table>. , .





Delta Merge

Delta Merge . LAST_ERROR ERROR_DESCRIPTION M_DELTA_MERGE_STATISTICS HOST­_DELTA_MERGE_STATISTICS. SQL HANA_Tables_ColumnStore_Merges.





SAP KBA 2057046 – FAQ: SAP HANA Delta Merges





HANA. delta merge , . Basis, BW .








All Articles