SAP HANA。オペレーション・デルタ・マージ

こんばんは、同僚。今日は、Delta Merge のような SAP HANA データベースで行われている定期的かつ重要な操作についてお話したいと思います。





HANA データベースの概念では、列テーブルへの変更はメイン ストアで直接行われることはありません。これは、MAIN 領域が書き込み操作ではなく読み取り操作に最適化されているためです。すべての書き込み操作は、デルタ ストアと呼ばれる特別な領域で行われます。この場合、両方の領域から読み出しが行われます。





定期的に、列テーブル (メイン ストア) のメイン ストレージ エリアをデルタ ストア エリアの内容で更新する必要があります。これら 2 つの領域をマージするプロセスは、デルタ マージと呼ばれます。このプロセスは、マージの直前、マージ中、マージ後の 3 つの段階に分けることができます。デルタ マージ プロセスは、次のように概略的に表すことができます。





デルタ マージ操作の概略図
デルタ マージ操作の概略図

最初の段階 (デルタ マージ操作の開始前) では、Main1 と Delta1 の 2 つの領域があることがわかります。読み出しは両方の領域から行いますが、書き込みは 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.





デルタ マージ操作の種類
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’. :





M_DELTA_MERGE_STATISTICS および HOST_DELTA_MERGE_STATISTICS ビューの TYPE フィールドの値
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