程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據庫中的SMS與DMS如何正確理解?

DB2數據庫中的SMS與DMS如何正確理解?

編輯:DB2教程

以下的文章主要向大家講述的是DB2數據庫中的SMS與DMS,在DB2數據庫中表空間的存儲方式一共有兩種即SMS(System Managed Space)、DMS(Database Managed Space)。SMS直接利用操作系統的文件系統來管理數據。

表空間中的數據按照系統中所有容器上進行數據塊劃分。表空間中的所有的表都被賦予了它自己的文件名,此文件名在所有的容器中使用。文件擴展名指示出該文件中存儲的數據類型。

DMS是由數據庫進行表空間的存儲空間控制。當定義DMS表空間時,需要選擇設備或者文件列表,使其屬於該表空間。

DMS表空間和SMS表空間之間的主要差別在於,對於DMS的表空間,存儲空間是在創建表空間時分配的,而不是在需要時在向操作系統申請的。並且,在這兩種類型的表空間上,數據的放置也是有一些不同之處。例如:考慮進行高效率的表掃描時,數據塊在物理上連續存放是很重要的。對於SMS來說,操作系統的文件系統將決定每個邏輯文件頁面的物理存儲位置。

根據文件系統上其他活動的級別以及用來確定存放位置的算法不同,這些邏輯連續的頁面可能會連續存放,也可能不連續分配。對於DMS,由於是DB2數據庫管理程序直接與磁盤打交道,所以它在理論上可能保證頁面在物理上連續存放。

但是,應該注意的是,當使用DMS表空間時,有兩個容器選項:原始設備(raw)和文件(file)。當使用文件選項時,DB2數據庫管理程序在創建表空間時向文件系統申請分配整個容器。由於是從文件系統分配得來,導致物理分配通常(但也不保證)是連續的。當使用原始設備容器時,數據庫管理程序直接控制整個設備,並總能確保數據塊中的頁連續分配。

SMS和DMS表空間相比,SMS表空間特別適合一般用途。SMS表空間能夠提供一定的性能,且管理成本很低。如果需要達到最佳的性能,則應該選用DMS表空間。因為使用文件容器或者SMS表空間移動數據時會發生雙重緩沖(在DB2數據庫管理程序級首先緩沖一次數據,然後在文件系統再緩沖一次數據,這就是雙重緩沖),所以使用設備容器可能提供更好的性能。

上述的相關內容就是對DB2數據庫中的SMS和DMS的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved