DB2支援的三種表空間SMS、DMS、DMS的自動儲存
DB2中,表空間是資料庫與這個資料庫中儲存的表之間的邏輯層。表空間在資料庫中建立,表在表空間中建立。容器是一個物理儲存裝置。它可以由目錄名、裝置名或檔名標識。容器被分配給表空間。表空間可以跨許多容器(類似於Oracle中datafile的概念),這意味著可以突破作業系統對於一個容器可以包含的資料量的限制。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 表空間相比,SMS 表空間提供的優化選項少而且效能不好。
SMS、DMS與自動儲存
特性 |
SMS |
DMS |
自動儲存 |
是否分段(Striping)? |
是 |
是 |
是 |
預設型別 |
Version 8 |
無 |
Version 9 |
物件管理 |
作業系統 |
DB2 |
DB2 |
空間分配 |
按需增長/收縮 |
預先分配;大小可以收縮和增長,但是需要 DBA 干預。 |
預先分配;可以自動增長。 |
管理的簡便性 |
最好;很少需要調優,甚至不需要 |
好,但是需要一些調優(例如, EXTENTSIZE PREFETCHSIZE |
最好;很少需要調優,甚至不需要 |
效能 |
非常好 |
最好;可通過利用原始容器多獲得 5% 到 10% 的收益 |
最好;但是,可以不使用原始容器 |
表空間最大大小 |
64GB(4K 頁面) |
2TB(4K 頁面) |
2TB(4K 頁面) |
除了使用 SMS 表空間可以簡化管理之外,這兩種儲存模型之間最顯著的差異是表空間的最大大小。在使用 SMS 時,DBA 最多隻能在表空間中放 64GB 的資料。將頁面大小改為 32K,可以將這個限制擴大到 512GB,但代價是每個頁面上的可用空間可能會更少。改為 DMS 模型會將表空間限制擴大到 2TB(4K 頁面大小的情況下)。如果將頁面大小改為 32K,可用空間可以增長到 16TB。儘管還有讓表大小突破 64GB 限制的其他方法,但是最簡單的方法可能是一開始就使用 DMS 表空間。
DMS與自動儲存
DB2 8.2.2 引入了自動儲存的概念。自動儲存允許 DBA 為資料庫設定在建立所有表空間容器時可以使用的儲存路徑。DBA 不必顯式地定義表空間的位置和大小,系統將自動地分配表空間。在 DB2 9 中,資料庫在建立時將啟用自動儲存,除非 DBA 顯式地覆蓋這個設定。
啟用自動儲存的資料庫有一個或多個相關聯的儲存路徑。表空間可以定義為 “由自動儲存進行管理”,它的容器由 DB2 根據這些儲存路徑進行分配。資料庫只能在建立時啟用自動儲存。對於在最初沒有啟用自動儲存的資料庫,不能在以後啟用這個特性。同樣,對於在最初啟用了自動儲存的資料庫,也不能在以後禁用這個特性。
特性 |
非自動儲存 |
自動儲存 |
容器的建立 |
必須在建立表空間時顯式地提供容器。 |
不能在建立表空間時提供容器;它們將由 DB2 自動地分配。 |
容器大小的調整 |
在預設情況下,表空間大小的自動調整是關閉的(AUTORESIZE NO)。 |
在預設情況下,表空間大小的自動調整是開啟的(AUTORESIZE YES)。 |
初始大小 |
不能使用 INITIALSIZE 子句指定表空間的初始大小。 |
使用 INITIALSIZE 子句指定表空間的初始大小。 |
容器的修改 |
可以使用 ALTER TABLESPACE 語句(ADD、DROP、BEGIN NEW STRIPE SET 等等)執行容器操作。 |
不能執行容器操作,因為由 DB2 控制空間管理。 |
管理的簡便性 |
可以使用重定向的恢復操作重新定義與表空間相關聯的容器。 |
不能使用重定向的恢復操作重新定義與表空間相關聯的容器,因為由 DB2 控制空間管理。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-750054/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [DB2]表空間之DMS、自動儲存的DMS表空間DB2
- DB2 檢視錶空間是否自動儲存DB2
- 經驗分享:DB2 V9下使用重定向(部分表空間使用自動儲存)DB2
- 使用oracle procedure儲存過程自動擴充套件表空間空間tablespace_自動化運維Oracle儲存過程套件運維
- 表在表空間中的儲存情況
- 【儲存管理】表空間概念
- 提供自動駕駛DMS系統-影像採集標註服務自動駕駛
- 【儲存管理】建立永久表空間
- innodb表空間儲存結構
- 自動駕駛系列(七)——聊聊人機互動中的DMS駕駛員監控系統自動駕駛
- db2表空間DB2
- 自動undo表空間模式下切換新的undo表空間模式
- oracle 修改表空間儲存路徑Oracle
- db2 sms tablespace 不支援large tablespaceDB2
- 【實驗】兩種方法刪除表中的列與空間儲存釋放
- 為自動駕駛DMS系統提供資料採集標註服務自動駕駛
- 駕駛員監控系統(DMS)
- Oracle9i自動分段空間管理改善分段儲存Oracle
- DB2表空間增加DB2
- db2刪除已經儲存的表儲存過程DB2儲存過程
- Oracle9i的自動分段空間管理改善了分段儲存的本質Oracle
- PostgreSQL儲存智慧-空間聚集儲存SQL
- 測試oracle表空間自動擴充套件特性與分配固定size的關係(儲存屬性)Oracle套件
- Oracle的表空間的儲存管理與最佳化技術Oracle
- linux自動增加表空間Linux
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- 得到表的記錄數和佔用的儲存空間指令碼指令碼
- 作業系統——檔案的三種外存形式及檔案儲存空間的管理方法作業系統
- 表挪動儲存空間後,對之上的sql的執行計劃的影響的探究SQL
- 如何計算自動管理的UNDO表空間大小
- 資料儲存的三種方式
- 分析什麼是文件管理系統 (DMS)?
- Linux 自動增加oracle 表空間LinuxOracle
- 掃描儲存上的新加空間
- win10保留的儲存空間怎麼檢視_win10保留的儲存空間的檢視方法Win10
- db2檢視錶空間和增加表空間容量DB2
- db2 建立bufferpool,表空間DB2
- 聊聊Oracle表空間Offline的三種引數(上)Oracle