天天看點

S/4 HANA中的資料庫鎖政策

S4中的新的MM資料模型以及HANA的Insert-only特性允許物料憑證的并行處理,提高了貨物移動相關的吞吐量。由此,資料庫鎖的應用情況也發生了變化。下文将介紹這些變化(基于S4 1610)。

S4中的新的MM資料模型以及HANA的Insert-only特性允許物料憑證的并行處理,提高了相關的吞吐量。由此,資料庫鎖的應用情況也發生了變化。下文将介紹這些變化(基于S4 1610)。

本文連結:http://www.cnblogs.com/hhelibeb/p/9059153.html

英文原文:Lock strategies in S/4HANA 1610

Key figure模型和Account模型

在SAP S/4 HANA, on-premise edition 1610中,物料估價不再需要排它鎖(exclusive locking),這包含所有價格控制為“移動平均價”的和所有特殊庫存類型的物料,因為HANA是一個Insert-only資料庫,是以它允許物料憑證的并行處理。

因為在S/4HANA OP1610和CE1608中,新的MM-IM資料模型将舊的key figure模型變為了account模型(還添加了53個幫助快速計算/統計的附加列),這允許更細粒度的延遲數量鎖定。

下面就是Key figure模型和Account模型的例子,

Key figure模型:

S/4 HANA中的資料庫鎖政策

Account模型

S/4 HANA中的資料庫鎖政策

對于Key figure模型模型而言,必須在物料和工廠級别上加鎖。但是通過Account模型,可以在物料、工廠、存儲位置、存儲辨別、特殊存儲辨別級别加鎖(原則上可以在新模型中任何定義了庫存的級别上加鎖)。是以,即便是在過去很可能發生鎖碰撞的情況下,現在也能并行處理了。

移動平均價的鎖

當貨物移動改變了庫存價值(SALK3)和已估計庫存(LBKUM)的時候,移動平均價必須據此調整,這會産生一個V1級别的更新,并且在更新結束前一直需要一個排它鎖。數量/價值的變化主要來源于貨物移動帶來的外部值(比如,來自于采購訂單)。然而,如果變化的來源僅僅是舍入差異,移動平均價将不會再調整。

建立批次時的鎖(分割評估)

如果建立了物料主資料或者由一個貨物移動帶來改變時,還是需要排它鎖的。如果使用了分割評估,且必須建立新的批次的話,貨物移動會建立物料主資料。

對不允許負庫存的工廠的延遲共享鎖

S/4 HANA OP1610和CE1608引入了一個新的增加吞吐量的選項。這個選項可以在配置中設定,對延遲鎖政策(late lock strategy),不允許再使用排它鎖,而是使用延遲共享鎖(late shared locks),這使得物料憑證的并行處理成為了真正的現實。

庫存檢查在這種情況下依然是可行的,因為所有的處理程序都會把他們的提取發送到鎖伺服器,此時,鎖伺服器将成為庫存變更的第二存儲(第一存儲是資料庫),資料的計算會從第一和第二存儲進行。

批次主資料變更時的鎖

從S/4 HANA OP1610和CE1608開始,為了物料憑證過賬時的碰撞率,對于批次物料行項目而言,批次鎖隻會在批次主資料變更時存在,例如生産日期或best before date變更、且與資料庫中現有值不同時。

對On-the-fly calculations的優化

由于on-the-fly calculation,聚合數量變化會存儲到混合和聚合表中,成為實際庫存資料。這使得對這些表的讀通路要比Suite on HANA慢。

為了将on-the-fly calculation的劣勢轉變為優勢,S/4 HANA OP1610和CE1608會引入以下特性:

  • 在預讀取階段,隻有物料主資料會被讀取到内部緩存中,這是通過純物料主資料視圖來從資料庫中檢索資料的。
  • 在行項目進行中,庫存數量會從資料庫的Account模型中讀取,并且這隻會在庫存減少、且禁止負庫存的情況下才會進行。

是以,對于S/4 HANA OP1610和CE1608而言,為延遲鎖政策的進行的調整允許物料憑證處理的平行處理,而從資料庫讀取庫存數量的政策和庫存檢查的政策減少了單個物料憑證的處理時間。總之,相較于過去的S/4 HANA OP1511和Suite on HANA,新版本的系統減少了物料憑證的處理時間。

允許負庫存的工廠的鎖政策

  1. 在延遲鎖政策下,不再加任何鎖。
  2. 不會再從資料庫進行庫存判斷,也不會再進行庫存檢查(在兩種鎖政策下都是)。