象ORACLE一樣,也有表空間,但又多了一個容器的概念,
表空間作爲數據庫與包含實際表數據的容器對象之間的一層 。
而容器是一個物理存儲設備。它可以由目錄名、設備名或文件名標識。容器被分配給表空間。
表空間可以跨許多容器,這意味着可以突破操作系統對於一個容器可以包含的數據量的限制。
DB2 支持三種表空間:
* 系統管理的空間(System-Managed Space,SMS):由操作系統的文件系統管理器分配和管理空間。
在DB2 9 之前,如果不帶任何參數創建數據庫或表空間,就會導致所有表空間作爲 SMS 對象創建。
*數據庫管理的空間(Database-Managed Space,DMS):由數據庫管理程序控制存儲空間。
這種表空間本質上是一種特殊用途的文件系統實現,可以最好地滿足數據庫管理程序的需要。
*DMS 的自動存儲(Automatic Storage With DMS):自動存儲實際上不是一種單獨的表空間類型,
而是一種處理 DMS 存儲的不同方式。DMS 容器需要比較多的維護,在 DB2 V8.2.2 中引入了自動存儲,作爲簡化空間管理的方式。
特性 | SMS | DMS | 自動存儲 |
是否分段(Striping)? | 是 | 是 | 是 |
默認類型 | Version 8 | 無 | Version 9 |
對象管理 | 操作系統 | DB2 | DB2 |
空間分配 | 按需增長/收縮 | 預先分配;大小可以收縮和增長,但是需要 DBA 干預。 | 預先分配;可以自動增長。 |
管理的簡便性 | 最好;很少需要調優,甚至不需要 | 好,但是需要一些調優(例如, EXTENTSIZE PREFETCHSIZE ) |
最好;很少需要調優,甚至不需要 |
性能 | 非常好 | 最好;可通過利用原始容器多獲得 5% 到 10% 的收益 | 最好;但是,可以不使用原始容器 |
表空間最大大小 | 64GB(4K 頁面) | 2TB(4K 頁面) | 2TB(4K 頁面) |
DB2 9 自動使用自動存儲,並且不可轉換。
特性 | 非自動存儲 | 自動存儲 |
容器的創建 | 必須在創建表空間時顯式地提供容器。 | 不能在創建表空間時提供容器;它們將由 DB2 自動地分配。 |
容器大小的調整 | 在默認情況下,表空間大小的自動調整是關閉的(AUTORESIZE NO)。 | 在默認情況下,表空間大小的自動調整是打開的(AUTORESIZE YES)。 |
初始大小 | 不能使用 INITIALSIZE 子句指定表空間的初始大小。 | 使用 INITIALSIZE 子句指定表空間的初始大小。 |
容器的修改 | 可以使用 ALTER TABLESPACE 語句(ADD、DROP、BEGIN NEW STRIPE SET 等等)執行容器操作。 | 不能執行容器操作,因爲由 DB2 控制空間管理。 |
管理的簡便性 | 可以使用重定向的恢復操作重新定義與表空間相關聯的容器。 | 不能使用重定向的恢復操作重新定義與表空間相關聯的容器,因爲由 DB2 控制空間管理。 |