• SAP HANA Video Tutorials

SAP HANA - 資訊建模器



SAP HANA 資訊建模器;也稱為 HANA 資料建模器,是 HANA 系統的核心。它能夠在資料庫表之上建立建模檢視,並實現業務邏輯以建立有意義的分析報告。

資訊建模器的功能

  • 為分析和業務邏輯目的提供儲存在 HANA 資料庫物理表中的事務資料的多種檢視。

  • 資訊建模器僅適用於基於列的儲存表。

  • 資訊建模檢視被基於 Java 或 HTML 的應用程式或 SAP 工具(如 SAP Lumira 或 Analysis Office)用於報表目的。

  • 也可以使用 MS Excel 等第三方工具連線到 HANA 並建立報表。

  • SAP HANA 建模檢視充分發揮了 SAP HANA 的強大功能。

資訊檢視有三種類型,定義如下:

  • 屬性檢視
  • 分析檢視
  • 計算檢視

行儲存與列儲存

SAP HANA 建模檢視只能在基於列的表之上建立。將資料儲存在列表中並不是什麼新鮮事物。早些時候,人們認為將資料儲存在基於列的結構中會佔用更多記憶體,並且效能未得到最佳化。

Row vs Column Store

隨著 SAP HANA 的發展,HANA 在資訊檢視中使用了基於列的資料儲存,並展示了列表相對於行表的真正優勢。

列儲存

在列儲存表中,資料垂直儲存。因此,類似的資料型別會像上面的示例中所示那樣組合在一起。它藉助記憶體計算引擎提供更快的記憶體讀寫操作。

在傳統的資料庫中,資料以基於行的結構(即水平)儲存。SAP HANA 以基於行和基於列的結構儲存資料。這為 HANA 資料庫提供了效能最佳化、靈活性和資料壓縮。

將資料儲存在基於列的表中具有以下優勢:

  • 資料壓縮

  • 與傳統的基於行的儲存相比,對錶的讀寫訪問速度更快

  • 靈活性和並行處理

  • 以更高的速度執行聚合和計算

有多種方法和演算法可以將資料儲存在基於列的結構中——字典壓縮、遊程壓縮等等。

在字典壓縮中,單元格以表格中的數字形式儲存,數字單元格始終比字元單元格具有更高的效能。

在遊程壓縮中,它以數字格式儲存單元格值的乘數,乘數顯示錶中重複的值。

Column Store

功能差異 - 行儲存與列儲存

如果 SQL 語句需要執行聚合函式和計算,則始終建議使用基於列的儲存。在執行 Sum、Count、Max、Min 等聚合函式時,基於列的表始終表現更好。

如果輸出需要返回完整的行,則首選基於行的儲存。下面的示例使理解更容易。

Row vs Column Store Functional

在上面的示例中,在使用 Where 子句對 sales 列執行聚合函式 (Sum) 時,它只會在執行 SQL 查詢時使用 Date 和 Sales 列,因此,如果它是基於列的儲存表,那麼它將是效能最佳化的,速度更快,因為只需要來自兩列的資料。

在執行簡單的 Select 查詢時,必須在輸出中列印完整的行,因此在這種情況下建議將表儲存為基於行的表。

資訊建模檢視

屬性檢視

屬性是資料庫表中不可測量的元素。它們表示主資料,類似於 BW 的特徵。屬性檢視是資料庫中的維度,或用於在建模中連線維度或其他屬性檢視。

重要功能:

  • 屬性檢視用於分析檢視和計算檢視。
  • 屬性視圖表示主資料。
  • 用於過濾分析檢視和計算檢視中維度表的大小。
Attribute View

分析檢視

分析檢視利用 SAP HANA 的強大功能對資料庫中的表執行計算和聚合函式。它至少有一個包含度量和維度表主鍵的事實表,並圍繞包含主資料的維度表。

重要功能:

  • 分析檢視旨在執行星型模式查詢。

  • 分析檢視包含至少一個事實表和多個包含主資料的維度表,並執行計算和聚合。

  • 它們類似於 SAP BW 中的 InfoCube 和 Info 物件。

  • 分析檢視可以在屬性檢視和事實表之上建立,並執行諸如銷售單位數量、總價格等計算。

計算檢視

計算檢視用於分析檢視和屬性檢視之上執行復雜的計算,而這些計算是分析檢視無法執行的。計算檢視是基礎列表、屬性檢視和分析檢視的組合,用於提供業務邏輯。

重要功能:

  • 計算檢視可以使用 HANA 建模功能以圖形方式定義,也可以用 SQL 編寫指令碼。

  • 它旨在執行復雜的計算,而這些計算是 SAP HANA 建模器的其他檢視(屬性檢視和分析檢視)無法執行的。

  • 藉助內建函式(如 Projects、Union、Join、Rank)在計算檢視中使用一個或多個屬性檢視和分析檢視。

廣告