DB2數(shù)據(jù)庫中的SMS與DMS如何正確理解?
以下的文章主要向大家講述的是DB2數(shù)據(jù)庫中的SMS與DMS,在DB2數(shù)據(jù)庫中表空間的存儲方式一共有兩種即SMS(System Managed Space)、DMS(Database Managed Space)。SMS直接利用操作系統(tǒng)的文件系統(tǒng)來管理數(shù)據(jù)。
表空間中的數(shù)據(jù)按照系統(tǒng)中所有容器上進(jìn)行數(shù)據(jù)塊劃分。表空間中的所有的表都被賦予了它自己的文件名,此文件名在所有的容器中使用。文件擴(kuò)展名指示出該文件中存儲的數(shù)據(jù)類型。
DMS是由數(shù)據(jù)庫進(jìn)行表空間的存儲空間控制。當(dāng)定義DMS表空間時,需要選擇設(shè)備或者文件列表,使其屬于該表空間。
DMS表空間和SMS表空間之間的主要差別在于,對于DMS的表空間,存儲空間是在創(chuàng)建表空間時分配的,而不是在需要時在向操作系統(tǒng)申請的。并且,在這兩種類型的表空間上,數(shù)據(jù)的放置也是有一些不同之處。例如:考慮進(jìn)行高效率的表掃描時,數(shù)據(jù)塊在物理上連續(xù)存放是很重要的。對于SMS來說,操作系統(tǒng)的文件系統(tǒng)將決定每個邏輯文件頁面的物理存儲位置。
根據(jù)文件系統(tǒng)上其他活動的級別以及用來確定存放位置的算法不同,這些邏輯連續(xù)的頁面可能會連續(xù)存放,也可能不連續(xù)分配。對于DMS,由于是DB2數(shù)據(jù)庫管理程序直接與磁盤打交道,所以它在理論上可能保證頁面在物理上連續(xù)存放。
但是,應(yīng)該注意的是,當(dāng)使用DMS表空間時,有兩個容器選項:原始設(shè)備(raw)和文件(file)。當(dāng)使用文件選項時,DB2數(shù)據(jù)庫管理程序在創(chuàng)建表空間時向文件系統(tǒng)申請分配整個容器。由于是從文件系統(tǒng)分配得來,導(dǎo)致物理分配通常(但也不保證)是連續(xù)的。當(dāng)使用原始設(shè)備容器時,數(shù)據(jù)庫管理程序直接控制整個設(shè)備,并總能確保數(shù)據(jù)塊中的頁連續(xù)分配。
SMS和DMS表空間相比,SMS表空間特別適合一般用途。SMS表空間能夠提供一定的性能,且管理成本很低。如果需要達(dá)到***的性能,則應(yīng)該選用DMS表空間。因為使用文件容器或者SMS表空間移動數(shù)據(jù)時會發(fā)生雙重緩沖(在DB2數(shù)據(jù)庫管理程序級首先緩沖一次數(shù)據(jù),然后在文件系統(tǒng)再緩沖一次數(shù)據(jù),這就是雙重緩沖),所以使用設(shè)備容器可能提供更好的性能。
上述的相關(guān)內(nèi)容就是對DB2數(shù)據(jù)庫中的SMS和DMS的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- 對DB2 增量備份的正確運用描述
- DB2 存儲過程的異常處理器類型有幾種?
- 對DB2數(shù)據(jù)移動方法的正確解析
- DB2 多分區(qū)數(shù)據(jù)庫備份的正確操作流程演示
- DB2離線與在線全備、增量備份以及恢復(fù)的運行