SAP HANA 信息建模

2018-11-30 18:23 更新

SAP HANA信息建模,也稱(chēng)為HANA數(shù)據(jù)建模,是HANA系統(tǒng)的核心。它可以在數(shù)據(jù)庫(kù)表的頂部創(chuàng)建建模視圖,并實(shí)現(xiàn)業(yè)務(wù)邏輯以創(chuàng)建有意義的分析報(bào)表。

信息建模的特點(diǎn)

  • 提供存儲(chǔ)在HANA數(shù)據(jù)庫(kù)的物理表中的事務(wù)數(shù)據(jù)的多個(gè)視圖,用于分析和業(yè)務(wù)邏輯目的。

  • 信息建模僅適用于基于列的存儲(chǔ)表。

  • 信息建模視圖由基于Java或HTML的應(yīng)用程序或SAP工具(如SAP Lumira或Analysis Office)用于報(bào)表目的。

  • 也可以使用第三方工具(如MS Excel)連接到HANA并創(chuàng)建報(bào)表。

  • SAP HANA建模視圖利用SAP HANA的實(shí)力。

有三種類(lèi)型的信息視圖,定義為:

  • 屬性視圖
  • 分析視圖
  • 計(jì)算視圖

行與列存儲(chǔ)

SAP HANA建模視圖只能在基于列的表格的頂部創(chuàng)建。將數(shù)據(jù)存儲(chǔ)在基于列的表格中并不是什么新事物。早些時(shí)候,人們假設(shè)在基于列的結(jié)構(gòu)中存儲(chǔ)數(shù)據(jù)需要更多的內(nèi)存大小,而不是性能優(yōu)化。

行與列存儲(chǔ)
隨著SAP HANA的發(fā)展,HANA在信息視圖中使用了基于列的數(shù)據(jù)存儲(chǔ),并展示了基于列的表的真正優(yōu)勢(shì)。

列存儲(chǔ)

在列存儲(chǔ)表中,數(shù)據(jù)是垂直存儲(chǔ)的。因此,類(lèi)似的數(shù)據(jù)類(lèi)型匯集在一起??,如上例所示。它借助內(nèi)存計(jì)算引擎提供更快的內(nèi)存讀取和寫(xiě)入操作。
在常規(guī)數(shù)據(jù)庫(kù)中,數(shù)據(jù)存儲(chǔ)在基于行的結(jié)構(gòu)中,即水平存儲(chǔ)。SAP HANA可在基于行和列的結(jié)構(gòu)中存儲(chǔ)數(shù)據(jù)。這在HANA數(shù)據(jù)庫(kù)中提供了性能優(yōu)化,靈活性和數(shù)據(jù)壓縮。
在基于列的表中存儲(chǔ)數(shù)據(jù)具有以下優(yōu)點(diǎn):

  • 數(shù)據(jù)壓縮

  • 與傳統(tǒng)的基于行的存儲(chǔ)相比,對(duì)表的讀取和寫(xiě)入更快

  • 靈活性和并行處理

  • 以更高的速度執(zhí)行聚合和計(jì)算

有多種方法和算法可以將數(shù)據(jù)存儲(chǔ)在基于列的結(jié)構(gòu)中 - 字典壓縮,運(yùn)行長(zhǎng)度壓縮等等。
在字典壓縮中,單元格以數(shù)字的形式存儲(chǔ)在表中,而與字符相比,數(shù)字單元格總是性能優(yōu)化的。

在運(yùn)行長(zhǎng)度壓縮中,它以數(shù)字格式保存乘數(shù)與單元格值,乘數(shù)在表中顯示重復(fù)值。

列存儲(chǔ)

功能差異 - 行與列存儲(chǔ)

如果SQL語(yǔ)句必須執(zhí)行聚合函數(shù)和計(jì)算,則始終建議使用基于列的存儲(chǔ)。基于列的表在運(yùn)行聚合函數(shù)(如Sum,Count,Max,Min)時(shí)總是執(zhí)行得更好。

當(dāng)輸出必須返回完整的行時(shí),首選基于行的存儲(chǔ)。下面給出的示例使其易于理解。

功能差異

在上面的例子中,當(dāng)使用Where子句在sales列中運(yùn)行Aggregate函數(shù)(Sum)時(shí),它在運(yùn)行SQL查詢(xún)時(shí)只使用Date和Sales列,因此如果它是基于列的存儲(chǔ)表,那么它將進(jìn)行性能優(yōu)化,更快速,因?yàn)閿?shù)據(jù)只需要來(lái)自?xún)闪小?/p>

在運(yùn)行一個(gè)簡(jiǎn)單的Select查詢(xún)時(shí),必須在輸出中打印完整行,因此建議在此情況下將表存儲(chǔ)為Row。

信息建模視圖

屬性視圖

屬性在數(shù)據(jù)庫(kù)表中是不可測(cè)量的元素。它們代表主數(shù)據(jù),類(lèi)似于BW的特性。屬性視圖是數(shù)據(jù)庫(kù)中的維度,或用于在建模中連接維度或其他屬性視圖。

其重要特點(diǎn)是: 

  • 屬性視圖可用于分析視圖和計(jì)算視圖。
  • 屬性視圖代表主數(shù)據(jù)。
  • 用于在分析視圖和計(jì)算視圖中過(guò)濾維度表的大小。

屬性視圖

分析視圖

分析視圖使用SAP HANA的功能對(duì)數(shù)據(jù)庫(kù)中的表執(zhí)行計(jì)算和聚合函數(shù)。 它具有至少一個(gè)事實(shí)表,其具有維度表的度量和主鍵,并且由維度表包圍的包含主數(shù)據(jù)。

其重要特點(diǎn)是:

  • 分析視圖旨在執(zhí)行星型模式查詢(xún)。

  • 分析視圖至少包含一個(gè)事實(shí)表和帶有主數(shù)據(jù)的多維表,并執(zhí)行計(jì)算和聚合

  • 它們與SAP BW中的信息塊和信息對(duì)象類(lèi)似。

  • 可以在屬性視圖和事實(shí)表之上創(chuàng)建分析視圖,并執(zhí)行計(jì)算,例如銷(xiāo)售的單位數(shù)量,總價(jià)格等。

計(jì)算視圖

計(jì)算視圖在分析視圖和屬性視圖之上使用,以執(zhí)行復(fù)雜計(jì)算,這對(duì)分析視圖是不可能的。計(jì)算視圖是基于列的表,屬性視圖和提供業(yè)務(wù)邏輯的分析視圖的組合。

其重要特點(diǎn)是:

  • 計(jì)算視圖使用HANA建模功能或SQL中的腳本定義圖形。

  • 它被創(chuàng)建以執(zhí)行復(fù)雜的計(jì)算,這是其他視圖無(wú)法實(shí)現(xiàn)的,如SAP HANA建模的屬性視圖和分析視圖。

  • 一個(gè)或多個(gè)屬性視圖和分析視圖在內(nèi)置函數(shù)(如項(xiàng)目,聯(lián)合,聯(lián)接,計(jì)算視圖中的排名)的幫助下消耗。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)