級別: 中級
developerWorks 中國網(wǎng)站編輯團隊, 編輯, IBM
2009 年 5 月 19 日
通過本文了解數(shù)據(jù)庫存儲的最佳實踐,具體包括磁盤和邏輯單元數(shù)(LUNs)、條帶和條帶化、事務(wù)日志和數(shù)據(jù)、文件系統(tǒng) vs 裸設(shè)備、獨立的磁盤冗余陣列(RAID)設(shè)備、注冊變量和配置參數(shù)設(shè)置以及自動存儲等方面的指南和推薦。
更多最佳實踐,請參考 DB2 最佳時間專題:DB2 for Linux, UNIX, and Windows 最佳實踐。
內(nèi)容提要
在一個網(wǎng)絡(luò)和高度虛擬的存儲世界中,正確的數(shù)據(jù)庫存儲設(shè)計對 DBA 或系統(tǒng)架構(gòu)師來說似乎是一個令人恐懼的任務(wù)。
較差的數(shù)據(jù)庫存儲設(shè)計有可能在一個數(shù)據(jù)服務(wù)器上產(chǎn)生顯著的負面影響。 CPUs 的速度遠遠超過了磁盤,要找出 I/O 限制并且在多數(shù)時間處于低于它們潛在能力性能低下的數(shù)據(jù)庫服務(wù)器并不容易。
不過,一個好的消息是,比起得到的是絕對正確的結(jié)果,得到數(shù)據(jù)存儲設(shè)計的錯誤更為重要。嘗試理解存儲內(nèi)部堆棧并手動調(diào)整,數(shù)據(jù)庫表和索引應(yīng)該放置在哪個磁盤的哪一部分是一個鍛煉,在鏡頭的虛擬存儲世界中,這既不容易達到也不容易維持(對大多數(shù)的 DBA 來說)。
簡單是保證良好數(shù)據(jù)庫設(shè)計的關(guān)鍵。最基本要確保有一個足的磁盤夠數(shù)目以保證系統(tǒng)不會變成 I/O 限制。
本文通過下面的數(shù)據(jù)庫存儲最佳實踐、包括指南和建議,下面為一個健康的數(shù)據(jù)庫服務(wù)器開了個處方:
- 磁盤和邏輯單元數(shù)(LUNs)
- 條帶和條帶化
- 事務(wù)日志和數(shù)據(jù)
- 文件系統(tǒng) vs 裸設(shè)備
- 獨立的磁盤冗余陣列(RAID)設(shè)備
- 注冊變量和配置參數(shù)設(shè)置
- 自動存儲
數(shù)據(jù)庫存儲介紹
在十年前,“磁盤”這個詞是指一個物理主軸磁頭和盤片。在今天的存儲世界中,一個磁盤是存在于存儲網(wǎng)絡(luò)某個地方完全虛擬的實體,并且特可以是一個單獨的物理磁盤、物理磁盤的一部分、一個 RAID 陣列或者一些 RAID 陣列的組合。
最近對文件系統(tǒng)的增強,比如直接和并發(fā)的 I/O,已經(jīng)幾乎消除了裸設(shè)備對文件系統(tǒng)的所有的性能優(yōu)勢。
當(dāng) CPU 處理器保持摩爾定律的時,它并沒有應(yīng)用到存儲系統(tǒng)的速度上。不管像 SAN 和 NAS 中所介紹的存儲通信的改變,還是比特在底層基礎(chǔ)架構(gòu)上如何存儲基本上是一樣的 - 機械的轉(zhuǎn)子旋轉(zhuǎn)多個磁盤片,在它上面編碼比特信息。
轉(zhuǎn)
速增加,并使用 DRAM 和 NVRAM
來緩沖存儲控制數(shù)據(jù)時有所幫助,這些持續(xù)取得的進步哪一個都無法跟上處理能力再過去十年中增加的數(shù)量級。結(jié)果就是和 CPU
速度相比,物理磁盤的速度越來越慢。這個速度差異每顆 CPU 需要一個日益增加的磁盤數(shù)目來保證系統(tǒng)不發(fā)生 I/O
限制。鑒于盤的能力,決定每個轉(zhuǎn)子的實際能力已經(jīng)有大幅度的提升了,然而要實現(xiàn)物理磁盤對每顆 CPU 內(nèi)核有一個恰當(dāng)?shù)谋壤匀环浅@щy。
鑒
于存儲、文件系統(tǒng)和 CPU 處理速度的變化,對于數(shù)據(jù)庫存儲供應(yīng)和管理的最佳實踐也在發(fā)展。過去一個 DBA
可能被建議去判斷單獨的表和索引應(yīng)該放置在哪個物理磁盤上、在每塊磁盤的哪個區(qū)域。在今天的虛擬存儲世界中,對于大多數(shù) DBA
過去的最佳實踐是不切實際的。
這篇文章介紹的最佳實踐是基于今天的存儲系統(tǒng)發(fā)展的。
數(shù)據(jù)庫性能和操作速度的相關(guān)信息參見“數(shù)據(jù)庫設(shè)計最佳實踐”。那篇白皮書和其它在開發(fā)者園地上信息管理方面的文章http://www.ibm.com/developerworks/data.
良好數(shù)據(jù)庫存儲設(shè)計的目標(biāo)
好的數(shù)據(jù)庫存儲設(shè)計有以下特征:
- 可預(yù)知的 I/O 和系統(tǒng)性能
- 均衡使用可用 I/O 帶寬和能力 - 避免“熱點”
- 動態(tài)管理很簡單 - 例如添加新的存儲
- 判斷問題很簡單
- 通過冗余實現(xiàn)高可用性
簡單的數(shù)據(jù)庫存儲設(shè)計
“Make everything as simple as possible, but not simpler ”
在數(shù)據(jù)庫存儲設(shè)計的無數(shù)選擇中,簡單是系統(tǒng)架構(gòu)師和 DBA 的秘密武器。這篇文檔介紹的最佳實踐提出了簡單的經(jīng)驗,將對達到良好的數(shù)據(jù)庫存儲設(shè)計這個目標(biāo)有所幫助。
簡
單,有時候就來自于對一個特定的表或表空間沒有選擇最優(yōu) I/O 特性,總有這么一種可能,一個富有經(jīng)驗的 DBA
擁有高超的存儲技能并可以沒有時間限制的去為一個非常重要的表或者索引配置一個存儲。然而這樣做的問題是,就算能達到設(shè)計的最佳性能,為了維護原始對象,
這也經(jīng)常造成對一個系統(tǒng)的管理變得更加復(fù)雜。
好的數(shù)據(jù)庫存儲設(shè)計的要點是,在一個動態(tài)系統(tǒng)上,實現(xiàn)所有目標(biāo)應(yīng)該是最初的系統(tǒng)設(shè)計的一部分,并應(yīng)該在數(shù)據(jù)庫運行過程中長期進行。這篇文檔簡單的最佳實踐描述達到了這些目標(biāo)并且?guī)缀鯖]有性能損失。
數(shù)據(jù)庫存儲成功的處方
考慮實際的磁盤,而不僅僅考慮存儲空間
像
DB2 數(shù)據(jù)庫服務(wù)器這樣的主機系統(tǒng)并不能直接訪問物理磁盤(連接到存儲控制器的),并且它們對 DBAs 也不是直接可見的。存儲管理提供存像
LUNs 這樣的儲單元,它在主機系統(tǒng)上表現(xiàn)為真實的 SCSI 磁盤。然而,一個 LUN
是一個完全虛擬的實體,由一個存儲管理器提供,并可以映射到任何磁盤組合。一個單獨的 LUN 可能是一個 RAID 陣列、一個 RAID
陣列的一部分、單塊磁盤、一塊磁盤的一部分或者多個 RAID 陣列的“中繼”。
當(dāng)存儲世界可能已經(jīng)變得越來越虛擬化時,事實上數(shù)據(jù)仍然存放在機械的磁盤驅(qū)動上。不管是誰的第三方的存儲子系統(tǒng),最終數(shù)據(jù)都是存放在機械的磁盤驅(qū)動里,也就是物理磁盤。能從通過提供 LUN 得到的存儲的帶寬是和 LUN 包含實際磁盤數(shù)目成比例的。
當(dāng)
存儲控制器高速緩存幫助提高存儲帶寬,DB2
數(shù)據(jù)庫系統(tǒng)已經(jīng)在緩沖池中緩存了相關(guān)數(shù)據(jù)。這使得它不大可能像存儲控制高速緩存那樣可以大量減少對物理磁盤的需求,以支持像 DB2
數(shù)據(jù)庫服務(wù)器這樣的 I/O 密集型系統(tǒng)。在一個經(jīng)常有密集 I/O 的企業(yè)數(shù)據(jù)庫系統(tǒng)中,最終的結(jié)果就是根本不能替代真正的物理硬盤。
除
了傳統(tǒng)的 SAN 存儲控制器,存儲虛擬化的附加層,對 DBA 而言高度抽象的物理磁盤被添進企業(yè)中。這些虛擬化的例子包括 San Volume
Controller (SVC) 和 AIX VIOS 。這些虛擬化窗口可以提供令人滿意的功能增強,比如遷移能力、透明、從一個 LUNs
集合到另外一個,或者為了共享光纖信道 Host Bus Adapter (HBA) 支持多個 LPARs 的能力。然而它們這么做是以產(chǎn)生包括在
I/O 路徑上添加子系統(tǒng)為代價的,并且通過進一步虛擬化存儲 , 常常使得 DBA 達到這個目的更加困難。
因此最佳設(shè)計的高性能 DB2 數(shù)據(jù)庫服務(wù)器不包括任何額外的虛擬化,比如 SVC 或者 AIS VIOS 。如果一個企業(yè)的 I/O 基礎(chǔ)架構(gòu)需要用到這樣的子系統(tǒng),DBAs 需要持續(xù)確提供的保虛擬 LUNs 從真正專們的物理磁盤的到支持。
由
于 CPU 處理速度,增加了一個大量的相對磁盤速度,一個好的調(diào)整標(biāo)準(zhǔn)是確保每個 CPU 有 15 到 20 個專用磁盤,這個數(shù)字可以通過應(yīng)用像
DB2 壓縮、多維集群(MDC)、固化查詢表(MQT)這樣的 I/O 技術(shù),而得到減少并能更好的設(shè)計、計劃和管理。
值得注
意的是,在撰寫本文的時候,磁盤的數(shù)目是假設(shè)處理器和磁盤技術(shù)是在企業(yè)中普遍的技術(shù)。包括 Power 5、Intel Xenon 和 AMD
Opeteron 處理器。普遍的磁盤轉(zhuǎn)速是每分鐘 15000 轉(zhuǎn)??梢灶A(yù)見,隨著下一代處理器的普及,對 I/O
密集的數(shù)據(jù)庫服務(wù)器而言,每個處理器內(nèi)核將需要更多的磁盤。
如果只有太少的物理磁盤來保證 CPUs 忙碌,一個企業(yè)系統(tǒng)很快會發(fā)生 I/O 限制。不幸的是我們關(guān)心的是那些數(shù)據(jù)庫性能相關(guān)的存儲通信在物理磁盤數(shù)目方面,剩下大多數(shù)他的存儲管理員考慮的是存儲在空間上的需要
因為在過去十年中盤的大小已經(jīng)得到了充分的提高每個 CPU 獲得充足的磁盤數(shù)目變得更高了。
通常為每顆 CPU 內(nèi)核提供 20 個磁盤并且每個 150GB 大小,你將擁有 3TB 的可用空間。為了滿足性能需求每,顆 CPU 3TB 的可用空間會導(dǎo)致空閑空間。
在不考慮空間浪費的情況下,保證存儲管理員不通過給其他用戶提供空間(給其他數(shù)據(jù)庫或其他應(yīng)用程序)來利用這些空閑空間或者吧 LUN 分給其他數(shù)據(jù)庫分區(qū)。
你可以適度利用這些空間作為在線備份或者歸檔日志被歸檔到磁帶之前的臨時空間。如果為了空間利用最大化而使用這個策略,你必須了解數(shù)據(jù)和備份共享了相同的磁盤。因此備份必須及時的被歸檔到外部存儲目標(biāo),例如 Tivoli Storage Manager (TSM).
這個技術(shù)可以很好的利用多余的空間,因為它完全在 DBAs 的控制之下,比如什么時候進行備份;并且備份通常在非 I/O 吞吐量高峰執(zhí)行。
由
于預(yù)計 CPU 速度會持續(xù)增長,即使在額外并行狀態(tài)下,內(nèi)核尤其是時鐘頻率的趨勢是每個 CPU 內(nèi)核需要更多的物理磁盤,以確保數(shù)據(jù)庫不發(fā)生
I/O 限制更為重要。而非之前的 DBAs 花費時間去確保他們通過良好的模式設(shè)計和利用 DB2 的高級功能,如 MDC、MQTs
和壓縮,消除了盡可能多的 I/O 操作。
每個 non-DPF 的數(shù)據(jù)庫服務(wù)器 /DPF 分區(qū) 有專用 LUNs 和文件系統(tǒng)
對于每個 non-DPF DB2 數(shù)據(jù)庫服務(wù)器和每個 DPF 數(shù)據(jù)庫分區(qū)專用 LUNs 是一個最佳實踐。一個單獨的文件系統(tǒng)應(yīng)該被創(chuàng)建在每個這樣的 LUN 上并且應(yīng)該只被一個單獨的 non-DPF DB2 書庫服務(wù)器或者 DPF 數(shù)據(jù)庫分區(qū)使用。
專用 LUNs 和每個 LUN 的文件系統(tǒng)保持了存儲不去簡單并有助于問題診斷。
對于 DPF 系統(tǒng),這是推薦的并在 IBM Balanced Configuration Warehouse 得到遵守。
關(guān)
于這個技術(shù)如何幫助問題判斷的一個例子是,表上挑選不當(dāng)?shù)姆謪^(qū)鍵將阻止一個查詢得到全的并行性。當(dāng)數(shù)據(jù)庫分區(qū)有專用 LUNs
和文件時這個問題就變得很明顯了,當(dāng)你看到一組 LUNs 比其他 LUNs
更忙,因為一個分區(qū)擁有需要處理的所有的數(shù)據(jù),而其他分區(qū)只有一點相關(guān)數(shù)據(jù)。
最多兩次條帶化
存
儲控制器在控制器固件中提供了杰出的 RAID
條帶化功能。企業(yè)系統(tǒng)應(yīng)該被設(shè)計成使用存儲控制器提供的條帶功能。這么做的一個更方便的途徑是讓存儲控制器暴露一個單獨的 RAID 陣列,例如,讓
RAID-5 或者 RAID-10 作為一個單獨的 LUN 。一個或多個這樣的 LUNs 可以提供給 DB2 分區(qū)。
當(dāng)不止一個 LUN 提供給一個 DB2 數(shù)據(jù)庫服務(wù)器或者 DPF 數(shù)據(jù)庫分區(qū),則使用 DB2 數(shù)據(jù)庫系統(tǒng)容器間更細的條帶。
因為兩層條帶化對所有的系統(tǒng)都算足夠了,要避免使用一個三層條帶化,想操作系統(tǒng)邏輯卷管理器。邏輯卷管理器(LVM)條帶化對于非 DB2 數(shù)據(jù)庫系統(tǒng)的其它自己沒有條帶能力中間件來說是有好處的。
把 DB2 事務(wù)日志和數(shù)據(jù)分開
為了最好的可用性,把事務(wù)日志和 DB2 數(shù)據(jù)分或表空間分開,分別放在不同的磁盤和在不同的 LUNs 上。應(yīng)該為每個 DB2 分區(qū)上的事務(wù)日志提供專門的磁盤,并且一般情況下有多個 LUNs 給它的表空間容器,或數(shù)據(jù)。
日志磁盤數(shù)目對數(shù)據(jù)磁盤數(shù)目的比例完全取決于工作負載,一個比較好的調(diào)整標(biāo)準(zhǔn)是 15% 到 25% 的磁盤給日志,75% to 85% 的磁盤給數(shù)據(jù)。
用文件系統(tǒng)替代裸設(shè)備 - 每個 LUN 一個文件系統(tǒng)
直接 I/O 和并行 I/O 已經(jīng)幾乎完全消除了為了性能需要使用裸設(shè)備的需求。文件系統(tǒng)提供了比裸設(shè)備要更好地管理能力,像一個文件系統(tǒng)可以作為一個容器被多個表空間使用。
一個 LUN 用于一個數(shù)據(jù)庫分區(qū)時,應(yīng)該被用于創(chuàng)建一個單獨的文件系統(tǒng)給分區(qū)使用,即每個 LUN 一個文件系統(tǒng)。
每個 DB2 分區(qū)一般有:
- 一個事務(wù)日志文件系統(tǒng) - 使用 LUN 創(chuàng)建,用于分區(qū)的事務(wù)日志。
- 多個數(shù)據(jù)文件系統(tǒng) - 每個文件系統(tǒng)是使用它自己單獨的 LUNs 創(chuàng)建,用于表空間數(shù)據(jù)。
事務(wù)日志使用 RAID-10,數(shù)據(jù)使用 RAID-10 or RAID-5
RAID-10 能通過夠容忍多個磁盤故障來提供極好的冗余。不過,RAID-10 的成本比 RAID-5 高。不像 RAID-10,RAID-5 只能容忍一個磁盤故障。
對于事物日志來書 RAID-10 是一個極好的選擇。
如果可以承受,RAID-10 對數(shù)據(jù) LUNs 也同樣是極好的選擇。另外,對數(shù)據(jù) LUNs 一個好的選擇是 RAID-5,它的成本比 RAID-10 低。
設(shè)置 DB2_PARALLEL_IO 注冊變量
默認情況下,DB2 數(shù)據(jù)庫管理器并不知道一個并行 RAID 設(shè)備被用于它的表空間容器。設(shè)置 DB2_PARALLEL_IO 注冊變量讓數(shù)據(jù)庫系統(tǒng)知道這一點。
DB2_PARALLEL_IO 的語法允許你指定受影響的表空間和每個容器的并行度,即每個容器下面的磁盤數(shù)目。
例如,如果 RAID-5 4+1 LUNs 作為數(shù)據(jù) LUNs 提供并且在每個 LUN 上創(chuàng)建了文件系統(tǒng),一個合理的 DB2_PARALLEL_IO 設(shè)置如下:
db2set DB2_PARALLEL_IO= *:4
|
“ * ”通配符告訴 DB2 管理器應(yīng)用這個設(shè)置到所有的表空間(就像我們打算條帶化一切)而且每個容器的磁盤數(shù)是 4.
根據(jù)條帶的大小來設(shè)置 EXTENTSIZE 子句的值
在一個 RAID 陣列中每個磁盤上連續(xù)的數(shù)據(jù)的總量叫作“條帶”,而且這些分布在一個陣列中的組成所有條帶的數(shù)據(jù)量,叫一個“條帶”。
一般 RAID 條帶大小是 32kb, 64kb, 128kb,等等。
一個 RAID-5 4+1z 陣列有一個等于 4 倍帶大小的條帶,因為在這個陣列里有 4 個 non-parity 磁盤。
表空間的 EXTENTSIZE 應(yīng)該被設(shè)置成可以包含一個 RAID 條帶的頁碼數(shù)目。
例如,在一個有 128kb 條大小的系統(tǒng)上使用 RAID-5 4+1,條帶大小是 512kb(128kb x 4)。如果頁大小使用 8kb,那么一個 EXTENTSIZE 為 64(512kb/8kb)比較合適。
使用 NO FILE SYSTEM CACHING 子句
NO FILE SYSTEM CACHING 字句啟用直接 I/O 或并發(fā) I/O,無論哪個一個都適用于 DB2 數(shù)據(jù)庫系統(tǒng)運行的操作系統(tǒng)平臺。直接 I/O 或并發(fā) I/O 使 DB2 I/O 操作在文件系統(tǒng)上像裸設(shè)備一樣有效率。
從 DB2 通用數(shù)據(jù)庫 8.2 版本開始,在 CREATE TABLESPACE 和 ALTER TABLESPACE 命令中就添加了對 NO FILE SYSTEM CACHINAG 子句的支持。
使用 DB2 自動存儲來讓條帶化無處不在
DB2 自動存儲(AS)技術(shù)是一個簡單而有效的方法來為一個數(shù)據(jù)庫提供存儲。使用 CREATE DATABASE 命令,存儲是提供給數(shù)據(jù)庫的而不是單獨的表空間。例如:
DB2 CREATE DATABASE MYDB ON /data1, /data2, /data3 DBPATH ON /mydbpath
|
這個命令創(chuàng)建了一個數(shù)據(jù)庫,它有 3 個存儲路徑:data1、data2 和 data3 。這 3 個路徑都是單獨的文件系統(tǒng),每一個都是使用一個專門的 LUN 創(chuàng)建的。
DBPATH 參數(shù)設(shè)置到另外一個使用 LUN 創(chuàng)建的單獨的文件系統(tǒng)(/mydbpath),用于 DB2 事務(wù)日志。事務(wù)日志和 DB2 元數(shù)據(jù)都存在于這個文件系統(tǒng)。
DB2 數(shù)據(jù)庫系統(tǒng)創(chuàng)建的默認的表空間(SYSCATSPACE、USERSPACE1 和 TEMPSPACE1)每個都擁有 3 個容器 - 每一個容器都在這 3 個存儲路徑下。
任何新的表空間在創(chuàng)建時不指定容器,也將使用條帶化一切的方式。
例如,考慮下面 DB2 命令:
DB2 CREATE TABLESPACE MYTS
|
使用這個命令創(chuàng)建的 MYTS 表空間也有 3 個容器,在每個存儲路徑上有一個。
當(dāng)使用自動存儲并不意味你不能在這個數(shù)據(jù)庫里創(chuàng)建系統(tǒng)管理表空間(SMS)或者數(shù)據(jù)庫管理表空間(DMS),自動存儲使你不需要定義它們。
因為 DB2 存儲管理器使用一個簡單的無處不在條帶方法,自動存儲的最佳實踐是使用存儲路徑或者文件系統(tǒng),而且它們在能力上沒有區(qū)別。這確保并行性保持一致,因為一個存儲路徑不被過早填滿因而導(dǎo)致一些表空間的一部分和其他部分有條帶寬度差異。
當(dāng)需要往數(shù)據(jù)庫中添加空間時,嘗試統(tǒng)一擴展現(xiàn)有的所有路徑。這樣在每個文件系統(tǒng)上增加相同的數(shù)量。
如果你不能統(tǒng)一擴展存儲路徑,使用 ALTER DATABASE 來添加一個新的路徑集合。理想的情況是應(yīng)該一起添加之前定義的相同數(shù)目存儲路徑。
例如,為了給之前創(chuàng)建的 MYDB 數(shù)據(jù)庫增加空間,最好的選項是通過增加相同的數(shù)量來提高文件系統(tǒng) /data1、 /data2 和 /data3 的能力。
如果不能,那么應(yīng)該添加一組具有和原來相同 I/O 特征的新的存儲路徑(文件系統(tǒng))
DB2 ALTER DATABASE STORAGE ADD /data4, /data5, /data6
|
因為遠離存儲是統(tǒng)一大小,當(dāng)它們裝滿就是一起滿,表空間需要從額外的存儲中為容器分配新的條帶集 —每個容器路徑一個。
不要手動調(diào)整 NUM_IOCLEANERS、 NUM_IOSERVERS、和 PREFETCHSIZE 配置參數(shù)
這些參數(shù)的默認值是 AUTOMATIC 。 DB2 數(shù)據(jù)庫管理器在為這些參數(shù)選擇正確值上做得非常好;因此它們不需要手動調(diào)整。
建議 & 最佳實踐 |
|
- 每顆 CPU 內(nèi)核使用 15-20 DEDICATED 磁盤
- 為 non-DPFDB2 數(shù)據(jù)庫服務(wù)器 /DPF 數(shù)據(jù)庫分區(qū)分配 LUNs
- 最多條帶化兩次
- 把 DB2 事務(wù)日志和數(shù)據(jù)分別放在不同的磁盤和 LUNs
- 使用文件系統(tǒng)替代裸設(shè)備—一個 LUN 創(chuàng)建一個文件系統(tǒng)
- 對事務(wù)日志使用 RAID-10,對數(shù)據(jù) LUNs 使用 RAID-10 或者 RAID-5
- 設(shè)置 DB2_PARALLEL_IO 注冊變量
- 設(shè)置 RAID 條帶大小的 EXTENTSIZE
- 通過使用 NO FILE SYSTEM CACHING 子句來使用直接 I/O 或者并發(fā) I/O
- 對無處不在的條帶化使用 DB2 自動存儲對 NUM_IOCLEANERS、NUM_IOSERVERS 和 PREFETCHSIZE 使用 AUTOMATIC(默認)。
|
總結(jié)與結(jié)論
手動映射單獨的數(shù)據(jù)庫表和索引到單獨的磁盤和磁盤的一部分是十年前的最佳實踐。馴服復(fù)雜、虛擬化、網(wǎng)絡(luò)化存儲的關(guān)鍵是數(shù)據(jù)庫存儲設(shè)計盡可能保持簡單。
首先這看起來是違法直覺的,對復(fù)雜的事務(wù)進行簡單化要好于進一步復(fù)雜化。雖然簡單化并不總是那么容易,本文提供的最佳實踐提供了成功設(shè)計數(shù)據(jù)庫存儲的一個很容易遵循的的方法。
首先,一個 DBA 的時間和精力最好花費在優(yōu)化數(shù)據(jù)庫模式上,而不是物理數(shù)據(jù)庫存儲。優(yōu)化模式包括使用像 MDCs、MQTs、壓縮、創(chuàng)建恰當(dāng)?shù)乃饕h除不恰當(dāng)?shù)乃饕@樣的功能。最后,如果沒有比 1 更高的吞吐量或比低于 1 的 I/O 就不需要執(zhí)行所有這些。
參考資料
學(xué)習(xí)
獲得產(chǎn)品和技術(shù)
-
現(xiàn)在可以免費使用 DB2。下載 DB2 Express-C,這是為社區(qū)提供的 DB2 Express Edition 的免費版本,它提供了與 DB2 Express Edition 相同的核心數(shù)據(jù)特性,為構(gòu)建和部署應(yīng)用程序奠定了堅實的基礎(chǔ)。
- 下載 信息管理軟件試用版,體驗它們強大的功能。
討論
關(guān)于作者
 |
|
 |
developerWorks 中國網(wǎng)站編輯團。
|
|