溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

DB2支持的三種表空間SMS、DMS、DMS的自動(dòng)存儲(chǔ)

發(fā)布時(shí)間:2020-07-25 09:46:05 來(lái)源:網(wǎng)絡(luò) 閱讀:1166 作者:彼岸花妖艷 欄目:數(shù)據(jù)庫(kù)

 DB2支持的三種表空間SMS、DMS、DMS的自動(dòng)存儲(chǔ) 


DB2中,表空間是數(shù)據(jù)庫(kù)與這個(gè)數(shù)據(jù)庫(kù)中存儲(chǔ)的表之間的邏輯層。表空間在數(shù)據(jù)庫(kù)中創(chuàng)建,表在表空間中創(chuàng)建。容器是一個(gè)物理存儲(chǔ)設(shè)備。它可以由目錄名、設(shè)備名或文件名標(biāo)識(shí)。容器被分配給表空間。表空間可以跨許多容器(類(lèi)似于Oracledatafile的概念),這意味著可以突破操作系統(tǒng)對(duì)于一個(gè)容器可以包含的數(shù)據(jù)量的限制。DB2 支持三種表空間:

·         系統(tǒng)管理的空間(System-Managed Space,SMS在這里,由操作系統(tǒng)的文件系統(tǒng)管理器分配和管理空間。在DB2 9 之前,如果不帶任何參數(shù)創(chuàng)建數(shù)據(jù)庫(kù)或表空間,就會(huì)導(dǎo)致所有表空間作為 SMS 對(duì)象創(chuàng)建。

·         數(shù)據(jù)庫(kù)管理的空間(Database-Managed SpaceDMS):在這里,由數(shù)據(jù)庫(kù)管理程序控制存儲(chǔ)空間。這種表空間本質(zhì)上是一種特殊用途的文件系統(tǒng)實(shí)現(xiàn),可以最好地滿足數(shù)據(jù)庫(kù)管理程序的需要。

·         DMS 的自動(dòng)存儲(chǔ)(Automatic Storage With DMS):自動(dòng)存儲(chǔ)實(shí)際上不是一種單獨(dú)的表空間類(lèi)型,而是一種處理DMS 存儲(chǔ)的不同方式。DMS 容器需要比較多的維護(hù),在 DB2 V8.2.2 中引入了自動(dòng)存儲(chǔ),作為簡(jiǎn)化空間管理的方式。

SMS 表空間需要的維護(hù)非常少。但是,與 DMS 表空間相比,SMS 表空間提供的優(yōu)化選項(xiàng)少而且性能不好。

 

SMS、DMS與自動(dòng)存儲(chǔ)

特性

SMS

DMS

自動(dòng)存儲(chǔ)

是否分段(Striping)?

默認(rèn)類(lèi)型

Version 8

無(wú)

Version 9

對(duì)象管理

操作系統(tǒng)

DB2

DB2

空間分配

按需增長(zhǎng)/收縮

預(yù)先分配;大小可以收縮和增長(zhǎng),但是需要 DBA 干預(yù)。

預(yù)先分配;可以自動(dòng)增長(zhǎng)。

管理的簡(jiǎn)便性

最好;很少需要調(diào)優(yōu),甚至不需要

好,但是需要一些調(diào)優(yōu)(例如, EXTENTSIZE PREFETCHSIZE

最好;很少需要調(diào)優(yōu),甚至不需要

性能

非常好

最好;可通過(guò)利用原始容器多獲得 5%  10% 的收益

最好;但是,可以不使用原始容器

表空間最大大小

64GB4K 頁(yè)面)

2TB4K 頁(yè)面)

2TB4K 頁(yè)面)

 

除了使用 SMS 表空間可以簡(jiǎn)化管理之外,這兩種存儲(chǔ)模型之間最顯著的差異是表空間的最大大小。在使用 SMS 時(shí),DBA最多只能在表空間中放 64GB 的數(shù)據(jù)。將頁(yè)面大小改為 32K,可以將這個(gè)限制擴(kuò)大到 512GB,但代價(jià)是每個(gè)頁(yè)面上的可用空間可能會(huì)更少。改為 DMS 模型會(huì)將表空間限制擴(kuò)大到 2TB4K 頁(yè)面大小的情況下)。如果將頁(yè)面大小改為 32K,可用空間可以增長(zhǎng)到 16TB。盡管還有讓表大小突破 64GB 限制的其他方法,但是最簡(jiǎn)單的方法可能是一開(kāi)始就使用 DMS 表空間。

 

 

DMS與自動(dòng)存儲(chǔ)

DB2 8.2.2 引入了自動(dòng)存儲(chǔ)的概念。自動(dòng)存儲(chǔ)允許 DBA 為數(shù)據(jù)庫(kù)設(shè)置在創(chuàng)建所有表空間容器時(shí)可以使用的存儲(chǔ)路徑。DBA不必顯式地定義表空間的位置和大小,系統(tǒng)將自動(dòng)地分配表空間。在 DB2 9 中,數(shù)據(jù)庫(kù)在創(chuàng)建時(shí)將啟用自動(dòng)存儲(chǔ),除非 DBA顯式地覆蓋這個(gè)設(shè)置。

啟用自動(dòng)存儲(chǔ)的數(shù)據(jù)庫(kù)有一個(gè)或多個(gè)相關(guān)聯(lián)的存儲(chǔ)路徑。表空間可以定義為 “由自動(dòng)存儲(chǔ)進(jìn)行管理”,它的容器由 DB2根據(jù)這些存儲(chǔ)路徑進(jìn)行分配。數(shù)據(jù)庫(kù)只能在創(chuàng)建時(shí)啟用自動(dòng)存儲(chǔ)。對(duì)于在最初沒(méi)有啟用自動(dòng)存儲(chǔ)的數(shù)據(jù)庫(kù),不能在以后啟用這個(gè)特性。同樣,對(duì)于在最初啟用了自動(dòng)存儲(chǔ)的數(shù)據(jù)庫(kù),也不能在以后禁用這個(gè)特性

特性

非自動(dòng)存儲(chǔ)

自動(dòng)存儲(chǔ)

容器的創(chuàng)建

必須在創(chuàng)建表空間時(shí)顯式地提供容器。

不能在創(chuàng)建表空間時(shí)提供容器;它們將由 DB2 自動(dòng)地分配。

容器大小的調(diào)整

在默認(rèn)情況下,表空間大小的自動(dòng)調(diào)整是關(guān)閉的(AUTORESIZE NO)。

在默認(rèn)情況下,表空間大小的自動(dòng)調(diào)整是打開(kāi)的(AUTORESIZE YES)。

初始大小

不能使用 INITIALSIZE 子句指定表空間的初始大小。

使用 INITIALSIZE 子句指定表空間的初始大小。

容器的修改

可以使用 ALTER TABLESPACE 語(yǔ)句(ADDDROP、BEGIN NEW STRIPE SET 等等)執(zhí)行容器操作。

不能執(zhí)行容器操作,因?yàn)橛?span> DB2 控制空間管理。

管理的簡(jiǎn)便性

可以使用重定向的恢復(fù)操作重新定義與表空間相關(guān)聯(lián)的容器。

不能使用重定向的恢復(fù)操作重新定義與表空間相關(guān)聯(lián)的容器,因?yàn)橛?span>DB2 控制空間管理。

 

在DB2中表空間的存儲(chǔ)方式有兩種,SMS(System Managed Space)和DMS(Database Managed Space)。
  
  SMS直接利用操作系統(tǒng)的文件系統(tǒng)來(lái)管理數(shù)據(jù)。表空間中的數(shù)據(jù)按照系統(tǒng)中所有容器上進(jìn)行數(shù)據(jù)塊劃分。表空間中的所有的表都被賦予了它自己的文件名,此文件名在所有的容器中使用。文件擴(kuò)展名指示出該文件中存儲(chǔ)的數(shù)據(jù)類(lèi)型。
  
  DMS是由數(shù)據(jù)庫(kù)進(jìn)行表空間的存儲(chǔ)空間控制。當(dāng)定義DMS表空間時(shí),需要選擇設(shè)備或者文件列表,使其屬于該表空間。
  
  DMS表空間和SMS表空間之間的主要差別在于,對(duì)于DMS的表空間,存儲(chǔ)空間是在創(chuàng)建表空間時(shí)分配的,而不是在需要時(shí)在向操作系統(tǒng)申請(qǐng)的。并且,在這兩種類(lèi)型的表空間上,數(shù)據(jù)的放置也是有一些不同之處。例如:考慮進(jìn)行高效率的表掃描時(shí),數(shù)據(jù)塊在物理上連續(xù)存放是很重要的。對(duì)于SMS來(lái)說(shuō),操作系統(tǒng)的文件系統(tǒng)將決定每個(gè)邏輯文件頁(yè)面的物理存儲(chǔ)位置。根據(jù)文件系統(tǒng)上其他活動(dòng)的級(jí)別以及用來(lái)確定存放位置的算法不同,這些邏輯連續(xù)的頁(yè)面可能會(huì)連續(xù)存放,也可能不連續(xù)分配。對(duì)于DMS,由于是數(shù)據(jù)庫(kù)管理程序直接與磁盤(pán)打交道,所以它在理論上可能保證頁(yè)面在物理上連續(xù)存放。
  
  但是,應(yīng)該注意的是,當(dāng)使用DMS表空間時(shí),有兩個(gè)容器選項(xiàng):原始設(shè)備(raw)和文件(file)。當(dāng)使用文件選項(xiàng)時(shí),數(shù)據(jù)庫(kù)管理程序在創(chuàng)建表空間時(shí)向文件系統(tǒng)申請(qǐng)分配整個(gè)容器。由于是從文件系統(tǒng)分配得來(lái),導(dǎo)致物理分配通常(但也不保證)是連續(xù)的。當(dāng)使用原始設(shè)備容器時(shí),數(shù)據(jù)庫(kù)管理程序直接控制整個(gè)設(shè)備,并總能確保數(shù)據(jù)塊中的頁(yè)連續(xù)分配。
  
  SMS和DMS表空間相比,SMS表空間特別適合一般用途。SMS表空間能夠提供一定的性能,且管理成本很低。如果需要達(dá)到最佳的性能,則應(yīng)該選用DMS表空間。因?yàn)槭褂梦募萜骰蛘逽MS表空間移動(dòng)數(shù)據(jù)時(shí)會(huì)發(fā)生雙重緩沖(在數(shù)據(jù)庫(kù)管理程序級(jí)首先緩沖一次數(shù)據(jù),然后在文件系統(tǒng)再緩沖一次數(shù)據(jù),這就是雙重緩沖),所以使用設(shè)備容器可能提供更好的性能。


SMS是系統(tǒng)管理的表空間,DMS是數(shù)據(jù)庫(kù)管理的表空間。
SMS在老的DB2版本使用,在新DB2版本中推薦使用DMS。
DMS可以使用裸設(shè)備,SMS不可以使用。
DMS可以將數(shù)據(jù)對(duì)象分開(kāi)存放,例如常規(guī)數(shù)據(jù)、索引、大字段等,都可以分開(kāi)存放,SMS做不到這點(diǎn)。
這是SMS和DMS的主要區(qū)別,除此之外,還有一些細(xì)節(jié)上的區(qū)別,可參考DB2的相關(guān)文檔

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI