天天看點

《SAP入門經典(第4版•修訂版)》——3.4 SAP資料庫基礎知識

本節書摘來自異步社群《sap入門經典(第4版•修訂版)》一書中的第3章,第3.4節,作者:【美】george anderson著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

sap入門經典(第4版•修訂版)

掌握了硬體和作業系統的知識細節之後,現在我們可以把注意力轉到在下層支援sap業務應用的資料庫了,看看它所承擔的角色。在選擇資料庫時,還應像選擇硬體平台和os時一樣慎重挑選。鑒于平台和sap版本限制,您可能隻有一兩種資料庫可選(這就凸顯了把sap基礎設施作為一個整體計算平台加以考慮的重要性)。主流的資料庫sap均能支援,包括microsoft sql server(最終将可以搭配sql azure使用)、ibm db2和多種oracle資料庫産品。sap自己本身也有名為maxdb的資料庫,它的發展非常有意思,目前一般來說隻有小型系統才會使用。sap在2010年收購了sybase,現在它已經在向原來的sybase客戶宣傳,它在将來的某個時間将會向基于sap-on-sybase資料庫平台提供有限支援。

microsoft sql server隻能運作在基于windows的作業系統上。對能運作在windows、linux和所有主要unix作業系統上的oracle,sap均能支援。db2獲得的支援更廣泛一些,因為它運作在ibm的傳統大型機系統上。

大多數部署sap的it部門都會根據他們目前支援的平台以及自己對各種平台的經驗和熟悉程度來選擇資料庫提供商和資料庫版本。但是這可能是在犯一個代價高昂的錯誤,因為大量由資料庫管理者(dba)來完成的傳統工作在sap環境中根本就不必要。這就是說,sap會把大量管理和維護底層資料庫的複雜工作“剝離”掉。是以,鑒于各種資料庫具有相似的性能、可更新特性和差異巨大的定價模式,請一定要對oracle、sql server和db2予以考慮。

除了價格,還應考慮每種資料庫的高可用性方案。叢集、鏡像和快照,或克隆能力都是重要的差別點。其他選項也很有用,比如日志傳送(log shipping)就會為災難恢複提供支援。

3.4.1 資料庫基本知識

無論您選擇哪種資料庫,像sap這樣的企業應用歸根結底都是由程式和這些程式建立和使用的資料構成的,而資料庫要做的就是将這些資料以一種有意義的方式組織起來,使程式能夠快捷友善地通路和查找它們,進而完成需要這些資料才能完成的有用工作,例如運作财務報表或建立銷售訂單。對于大多數sap元件來說(如erp),程式和資料會存放在同一個資料庫中。

各種元件一般都需要有自己的資料庫(盡管有少數例外)。例如,由sap erp、sap netweaver企業門戶(ep)和sap crm構成的“生産環境”包含有3個不同的生産資料庫。在每個sap系統中,資料庫都擔當着重要的角色,因為sap元件和應用程式使用的所有資料都存放在資料庫裡。最簡形式的資料庫由表、列(稱為字段)和行(稱為記錄或資料)構成。資料庫的基本結構與microsoft excel這樣的電子表格的概念十分相似,其中用列存放一行一行的記錄(資料)。資料庫與電子表格最大的差別隻是資料庫可以包含多張(同時也是極大的)表,而這些表通過關系互相關聯。是以,資料庫可以被看作是一種複雜度更高而且極其有用的電子表格。

3.4.2 表、索引和結構

sap資料庫可以包含千千萬萬個存儲着資訊的表。有些産品,如erp,可以包含超過40000張表;而複雜度稍弱的系統,如sap netweaver process integration(pi)包含的表可能不到10000張。請注意,在大多數sap系統中,10%的表容納了90%的資料,是以,某些表的體積會變得碩大無比而且變化無常,而另一些則善于保持體形,而且相對來說更加靜态。但無論如何,所有這些表都是通過既定關系互相綁定在一起的。而正是這套互相連接配接的表建立了所謂的關系資料庫管理系統(rdbms)。

除了容納原始資料,資料庫還會存儲索引,索引用于幫助提高檢索資料的速度。對索引的最佳描述是一個内容表,或者把它看作是縮減成了幾個關鍵字段的一個資料庫表的副本。這種縮減版副本中的資料根據一些預定義标準進行存儲,以便能夠快速通路資料。并非所有副本表的字段都會進入索引,而索引會包含有一個指針,指向實際表的相關記錄。可能會讓您大吃一驚的是,索引的體積大約會占到整個sap資料庫體積的50%!

sap還使用另一種被稱為透明表的概念,它是一種隻在運作時刻包含資料的sap資料表。當abap/4資料字典中的表被激活時,系統會自動建立一個透明表。這種透明表與您在abap/4資料字典中的資料庫表同名。它的每個字段也都與相應的資料庫字段同名,但是字段的順序可能會不同。字段順序變化使新字段可以插入到表中,而不必對其進行轉換,進而能夠加快運作時刻的資料通路速度。

最後,對資料結構有所了解也非常重要。您隻需記住資料結構是一組邏輯上有隸屬關系的内部字段即可。資料結構要在sap abap/4資料字典中激活和定義,它們隻是臨時包含資料(在程式執行過程中)。資料結構與資料庫表的差別主要有以下3方面。

結構不包含或反映相關的abap/4資料字典表。

結構不包含主鍵。

結構沒有任何技術特征,例如類、大小、範疇或緩沖規格等。