複製鏈接
請複製以下鏈接發送給好友

VSAM

鎖定
VSAMVirtual storage access method 虛擬存儲訪問方法是IBM磁盤文件存儲訪問方法, 首先使用在0S/VS2操作系統中,然後使用在多虛擬存儲架構,然後在z/OS。 作為一個面向記錄的文件系統,VSAM由四個數據集組成。關鍵字順序數據集KSDS, 關聯記錄數據集RRDS, 實體順序數據集ESDS和線性數據集LDS。 KSDS,RRDS和ESDS由記錄組成, 而LDS只包含無固定記錄結構的字節流。
中文名
VSAM
外文名
Virtual Storage Access Method
定    義
一種虛擬存取方法
基本特徵
數據保護,設備獨立性等
四種類型處理
鍵控直接處理,控件順序處理等
功    能
空間分配、產生替換索引

VSAMVSAM基本概念

虛擬存儲技術的發展,為文件管理系統開拓了新的方向,而基於虛擬存儲概念而研製發展的虛擬存取方法,在IBM系列的機器中也已經普遍地使用。
VSAM(Virtual Storage Access Method)是一種虛擬存取方法,它是為了與直接存取存儲設備DASD(Direct Access Storage Device--能夠在文件上直接地存取任何記錄的設備)一起使用而研製的文件管理系統。
VSAM 存取文件記錄的方法將不依賴於存放記錄的外部設備類型,而是通過這個記錄對文件開始點的相對位移(相對位移以字節為單位計算)來訪問記錄。相對位移值就稱之為相對字節地址RBA(Relative Byte Address)。文件開始點地址定為0。
VSAM方法允許使用三種不同的數據組織,每一種數據組織均可採用不同的處理方法。包括了對在DASD上文件的自動空間分配、產生替換索引等功能。
VSAM方法還有一組服務性的程序--------存取方法服務AMS(Access Method Service)。這組服務性程序可以定義和維護VSAM文件,把記錄輸入到VSAM文件中、為文件建立一個或多個替換索引、複製和打印文件、產生文件的副本、恢復失效的數據、把順序存取方法( SAM)文件和索引順序存取方法(ISAM)文件轉換成VSAM格式、並且能對已轉換成VSAM格式的ISAM文件進行處理。

VSAM基本特徵

VSAM1。自動的數據空間分配

VSAM的數據空間全是通過獨立的目錄來管理的。該目錄描述了在系統中的全部VSAM文件的邏輯屬性和物理屬性。用於 VSAM 的數據空間是動態的,如需要則可增加更多的空間。

VSAM2。數據保護

VSAM方法利用它本身的設計和存取控制參數,可以對數據進行保護。VSAM的設計允許用户僅通過指定正確的目錄信息來存取數據,目錄本身指向數據,在目錄中所存儲的信息都受到VSAM所限制。

VSAM3。設備獨立性

VSAM方法允許在不同類型的磁盤設備上處理,而不必重新進行程序設計。事實上,在邏輯上 VSAM文件被設計成連續的區域,唯一的限制是:VSAM文件必須全部存儲在同樣的設備類型的卷中。

VSAM4。數據移植性

VSAM方法提供了在不同操作系統下VSAM文件互換的可能性。

VSAM2。VSAM的數據組織

所謂的文件組織形式,是指數據記錄在文件中的排列方式。而文件的存取方法是指從文件找到數據記錄的方法。VSAM 所使用的數據,均具有一定的組織結構以及存取方法,用户可以選擇三種類型的數據組織及其相應的存取方法:
1。鍵順序數據組織(Indexed Sequential Organization)
2。進入順序數據組織(Sequential Organization)
3。相對記錄數據組織(Relative Organization)
這三種數據組織
所對應的數據集就分別稱為:
1。鍵順序數據集KSDS(Key Squenced Data Set)
2。進入順序數據集ESDS(Entry Squenced DataSet)
3。相對記錄數據集RRDS(Relative Record Data Set)
存取方法

VSAM數據條帶技術基本要素

要弄明白數據條帶的優點,就有必要了解一下這種技術的原理。VSAM在控制區(CA)裏按順序擺放了I/O基礎單元--控制間隔(CIs)諸如CA1,CA2等等控制區,它們包含了很多磁道,這些磁道呈直線安放在直接存取存儲器(DASD)上。如果集羣擴展到其它卷,VSAM仍遵循同一規則在控制區裏有序安放控制間隔。
條帶式排列提高了按序處理效率,因為系統可以同時發起針對多卷的並行I/O訪問動作。條帶化幫助關鍵訪問比如在線應用能夠實現即時訪問一個卷的數據,而無需等待I/O結束對另一個數據卷的訪問。
VSAM還支持“層級”理念。IBM把該理念定義為將會包含在“I/O包”中的數據卷。實際上,一層代表了一個數據組擴展區,它們共享相同的數據記錄。當一個數據組擴展時,擴展區可能延伸到不同的數據捲上。VSAM可能會得到進一步優化,識別出每個層分別屬於哪個數據卷。
用户可以對除AIXs(輔助索引)之外幾乎所有類型的VSAM集羣進行條帶化。IBM也可以把條帶化限制在一個集羣的數據組件上。
IBM提醒VSAM要支持多達16條帶。這意味着控制區可能伸展至16個磁道而非傳統的15個磁道,並且包含更多的控制間隔。對於(KSDS)關鍵性排序數據組,這就意味着指向數據模塊(索引序列組)的索引控制間隔可能沒有足夠空間引用控制區的控制間隔。這就表明其本身是控制區末端不使用的控制間隔,或者説是某種空間浪費。為了充分利用這部分空間,存儲管理員一定要用較大的控制間隔來覆蓋默認的索引控制間隔。

VSAM鍵順序數據組織允許四種類型的處理:

1。鍵控直接處理(根據主鍵對單個邏輯記錄的處理)。
2。鍵控順序處理(在邏輯序列中根據主鍵對一系列邏輯記錄的處理)。
3。直接訪問處理(根據在文件中的位置,對單個邏輯記錄的處理)。
4。順序訪問處理(在物理序列中,根據在文件中的位置,對一系列邏輯記錄的處理)
VSAM數據集
為了滿足用户的需要,程序員可以選擇不同的數據結構(數據集 / 文件)。
3。1。KSDS
與ISAM文件一樣,KSDS文件根據用户在每個記錄中所定義的鍵字段作為次序,也就是文件中的記錄根據在每個記錄中的鍵字段的排序序列而定位,每個記錄在鍵字段有唯一的一個值。VSAM使用與每個記錄相結合的鍵,把記錄插入到文件中,或者從文件中檢索記錄,記錄的存取次序可以是隨機的,也可以是順序的。
VSAM文件可以有多個索引。這就是指文件中的記錄,既有主鍵,也有次級鍵(替換鍵),但最多能有253個次級鍵,可以是記錄中的任何字段,但必須有固定的長度和位置。
替換鍵與主鍵一樣具有同樣的功能,而且,與主鍵相比,替換鍵的鍵值不必是唯一的值,因此在應用處理中允許用户能充分利用其靈活性。
數據記錄 數據記錄 。。。。。 數據記錄
KEY10 KEY88 KEY1000
根據數據記錄的鍵順序而組織的鍵順序文件
3。2。ESDS
包含在文件中的記錄,是以當時進入的先後順序而存儲在ESDS中,而
且,這種進入順序並不關心記錄的內容,由於沒有用鍵去標識該記錄,因而沒有建立主索引。但是,ESDS可以定義一個或多個替換索引。記錄的次序是固定的,不會移動的。因此,將不會通過文件分配自由空間,新記錄的插入要放在文件的末端,同時也不能縮短、增長、刪除記錄,用户要訪問這些記錄時,必須按其原來寫入記錄的次序而順序地訪問文件中的記錄。 所以,從本質上來説,ESDS是順序文件,與SAM文件的處理方法類似。
RRDS相對記錄文件也沒有索引,在其固定長度的槽串中,僅有其相對記錄號。相對記錄號從 1到N,其中N是能夠存儲在文件中最大的記錄數。
每一記錄佔一個槽,並且根據槽的相對記錄號而存儲或檢索記錄,而記錄的內容與進入的順序無關。在相對記錄文件中的記錄組成的控制區間中,正如它們進入順序文件或鍵順序文件一樣,每個控制區間包含相同數量的槽,每個槽的大小就是記錄長度,由用户在文件初始化定義時指定。 [1] 
參考資料
  • 1.    With the exception of catalogs, page spaces and swap[NB 1] spaces, which unauthorized applications could access only via specialized OS services. Not to mention the fact that it's been in VSE for ever too and is used in z/VSE