版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DB2 最佳實(shí)踐: DB2 數(shù)據(jù)庫(kù)存儲(chǔ)機(jī)制執(zhí)行摘要隨著存儲(chǔ)的網(wǎng)絡(luò)化和高度虛擬化,對(duì)于 DBA 或系統(tǒng)架構(gòu)師來(lái)說(shuō),數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)似乎是一項(xiàng)極其復(fù)雜的任務(wù)。糟糕的數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)對(duì)數(shù)據(jù)庫(kù)服務(wù)器有極大的負(fù)面影響。由于 CPU 比物理磁盤(pán)快得多,所以常??梢园l(fā)現(xiàn)性能糟糕的數(shù)據(jù)庫(kù)服務(wù)器,它們面臨非常密集的 I/O ,表現(xiàn)出來(lái)的性能離它們的真正潛能差好多倍。好消息是,保證數(shù)據(jù)庫(kù)存儲(chǔ)的設(shè)計(jì)不犯錯(cuò)誤,比獲得完美的數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)更重要。在如今虛擬化存儲(chǔ)的環(huán)境中,試圖理解數(shù)據(jù)存儲(chǔ)棧的內(nèi)部結(jié)構(gòu),并手動(dòng)調(diào)優(yōu)數(shù)據(jù)庫(kù)表和索引在物理磁盤(pán)上的存儲(chǔ)位置,這些事情通常既不容易完成,也不易于維護(hù)(對(duì)于一般的 DBA 而言)。簡(jiǎn)單性是
2、良好數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)的關(guān)鍵。首先,要確保有足夠的物理磁盤(pán),以避免系統(tǒng)成為 I/O 密集型系統(tǒng)。本文介紹通過(guò)一些易于學(xué)習(xí)的數(shù)據(jù)庫(kù)存儲(chǔ)最佳實(shí)踐獲得健全數(shù)據(jù)庫(kù)服務(wù)器的秘訣,包括以下方面的一些指南和建議:· 物理磁盤(pán)和邏輯單元數(shù)(LUN )· 條帶(Stripe )和條帶化(striping )· 事務(wù)日志和數(shù)據(jù)· 文件系統(tǒng)與原始設(shè)備· 獨(dú)立磁盤(pán)冗余陣列(Redundant Array of Independent Disks ,RAID )設(shè)備· 注冊(cè)表變量和配置參數(shù)設(shè)置· 自動(dòng)化存儲(chǔ)注意:本文所述最佳實(shí)踐用于在常規(guī) OLTP 環(huán)境
3、中部署 DB2 for Linux, UNIX and Windows 。文中討論的建議不一定適用于數(shù)據(jù)倉(cāng)庫(kù)環(huán)境,也不一定適用于將 DB2 數(shù)據(jù)庫(kù)用作第三方軟件底層數(shù)據(jù)庫(kù)的環(huán)境。數(shù)據(jù)庫(kù)存儲(chǔ)簡(jiǎn)介存儲(chǔ)區(qū)域網(wǎng)(Storage Area Networks ,SAN )和網(wǎng)絡(luò)連接存儲(chǔ)(Network Attached Storage ,NAS )從根本上改變了數(shù)據(jù)庫(kù)存儲(chǔ)世界。大約十年前,“磁盤(pán)”一詞指的是具有磁頭和碟片的物理磁盤(pán)。在如今的存儲(chǔ)世界,“磁盤(pán)”是一個(gè)完全虛擬的實(shí)體,它位于存儲(chǔ)網(wǎng)絡(luò)上,可以是單獨(dú)的物理磁盤(pán)、物理磁盤(pán)的一部分、RAID 陣列或者 RAID 陣列的某種組合。最近在文件系統(tǒng)方面取得的
4、進(jìn)步,例如直接和并發(fā) I/O ,讓原始設(shè)備較之于文件系統(tǒng)的所有性能優(yōu)勢(shì)幾乎消失殆盡。雖然摩爾定律對(duì) CPU 處理能力有效,但是并不適用于存儲(chǔ)子系統(tǒng)的速度。盡管 SAN 和 NAS 使存儲(chǔ)通信發(fā)生了變化,但是決定如何存儲(chǔ)比特的底層結(jié)構(gòu)基本不變 機(jī)械主軸轉(zhuǎn)動(dòng)多個(gè)磁性材料的碟片,這些碟片上面是對(duì)信息編碼后得到的比特。雖然主軸速度有所提高,使用 DRAM 和 NVRAM 的存儲(chǔ)控制器上的數(shù)據(jù)緩存亦有所幫助,但是這些進(jìn)步都無(wú)法趕上過(guò)去十年來(lái)處理能力的急劇提升。因此,相對(duì)于 CPU 的處理速度,磁盤(pán)要慢得多。這種速度上的差異使得每個(gè) CPU 核必須配備越來(lái)越多的物理磁盤(pán),以確保系統(tǒng)不成為 I/O 密集型系
5、統(tǒng)。雖然決定每個(gè)物理磁盤(pán)實(shí)際容量的碟片容量有了很大的提高,但是仍然難以達(dá)到適當(dāng)?shù)奈锢泶疟P(pán)數(shù)與 CPU 核的比例。隨著存儲(chǔ)、文件系統(tǒng)和 CPU 處理速度的變化,數(shù)據(jù)庫(kù)存儲(chǔ)自動(dòng)配置和管理的最佳實(shí)踐也在演變。在過(guò)去,可能會(huì)建議 DBA 將表和索引放到確切的物理磁盤(pán)上,甚至是每個(gè)物理磁盤(pán)的哪一部分上。但是在如今的虛擬化存儲(chǔ)世界,對(duì)于一般 DBA 而言,過(guò)去的最佳實(shí)踐顯得不切實(shí)際。本文提供的最佳實(shí)踐則是圍繞如今現(xiàn)實(shí)的存儲(chǔ)環(huán)境而開(kāi)發(fā)的。請(qǐng)參閱“DB2 最佳實(shí)踐: 物理數(shù)據(jù)庫(kù)設(shè)計(jì)最佳實(shí)踐”白皮書(shū),獲得關(guān)于數(shù)據(jù)庫(kù)性能和數(shù)據(jù)庫(kù)操作速度的相關(guān)信息。該白皮書(shū)和其他相關(guān)資料可從 DB2 最佳實(shí)踐專題 獲得。良好數(shù)據(jù)庫(kù)
6、存儲(chǔ)設(shè)計(jì)的目標(biāo)良好的數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)必須有以下重要特征:· 可預(yù)測(cè)的 I/O 和系統(tǒng)性能· 對(duì) I/O 帶寬和容量的均衡使用 避免“熱點(diǎn)(hot-spot )”· 方便的持續(xù)管理 例如增加新存儲(chǔ)· 方便的問(wèn)題診斷· 通過(guò)冗余獲得的高可用性簡(jiǎn)單的數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)“使一切盡量簡(jiǎn)單,但是不過(guò)于簡(jiǎn)單” Albert Einstein在設(shè)計(jì)數(shù)據(jù)庫(kù)存儲(chǔ)時(shí),需要做出很多的選擇,簡(jiǎn)單化是系統(tǒng)架構(gòu)師和 DBA 的秘密武器。本文提供的最佳實(shí)踐提出了一些簡(jiǎn)單的經(jīng)驗(yàn)法則,它們將有助于實(shí)現(xiàn)良好數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)的所有目標(biāo)。這種簡(jiǎn)單化有時(shí)候要付出代價(jià),即不能為特定的表或表空間選擇
7、最優(yōu)的 I/O 特征。具有豐富存儲(chǔ)技能的有經(jīng)驗(yàn)的 DBA ,以及時(shí)間充裕的存儲(chǔ)管理員,往往會(huì)從物理磁盤(pán)中為特別重要的表或索引開(kāi)辟一片存儲(chǔ)。這種方法存在的問(wèn)題是,這樣做也許在設(shè)計(jì)時(shí)能取得最佳性能,但是為了維護(hù)最初的設(shè)計(jì)目標(biāo),最后往往會(huì)得到一個(gè)更難以管理的系統(tǒng)。問(wèn)題診斷幾乎總是很困難最初認(rèn)為足夠用于特別重要的表或索引的存儲(chǔ)帶寬,隨著時(shí)間的推移和應(yīng)用程序的增長(zhǎng)變得不夠起來(lái)。良好數(shù)據(jù)庫(kù)存儲(chǔ)設(shè)計(jì)的要點(diǎn)在于,在動(dòng)態(tài)的系統(tǒng)上,所有目標(biāo)在最初的系統(tǒng)設(shè)計(jì)時(shí)能夠得到滿足,且在數(shù)據(jù)庫(kù)投入使用時(shí)仍然如此。本文描述的簡(jiǎn)單的最佳實(shí)踐可以實(shí)現(xiàn)這些目標(biāo),且?guī)缀醪粫?huì)犧牲任何性能。數(shù)據(jù)庫(kù)存儲(chǔ)成功秘訣考慮實(shí)際的物理磁盤(pán),而不僅僅是
8、存儲(chǔ)空間物理磁盤(pán)與存儲(chǔ)控制器相連,DB2 數(shù)據(jù)庫(kù)服務(wù)器等主機(jī)系統(tǒng)不能直接訪問(wèn)它們,DBA 也不能直接看到它們。存儲(chǔ)管理員以邏輯單元數(shù) 1 (logical unit numbers ,LUN )的形式提供存儲(chǔ)單元,而主機(jī)系統(tǒng)看到的則是真正的 SCSI 磁盤(pán)。但是,LUN 是由存儲(chǔ)管理員提供的完全虛擬的實(shí)體,可映射物理磁盤(pán)的任何組合。一個(gè) LUN 可以是單一 RAID 陣列、RAID 陣列的一部分、一個(gè)物理磁盤(pán)、磁盤(pán)的一部分或者多個(gè) RAID 陣列的“元設(shè)備(meta )”。雖然存儲(chǔ)世界變得更加虛擬化,但事實(shí)上數(shù)據(jù)仍然存儲(chǔ)在機(jī)械磁盤(pán)驅(qū)動(dòng)器上。無(wú)論使用哪家供應(yīng)商的存儲(chǔ)子系統(tǒng),最終數(shù)據(jù)仍存儲(chǔ)在機(jī)械磁
9、盤(pán)驅(qū)動(dòng)器上,也就是旋轉(zhuǎn)的物理磁盤(pán)碟片上。LUN 可提供的存儲(chǔ)帶寬與組成它的實(shí)際物理磁盤(pán)的數(shù)量成正比。雖然存儲(chǔ)控制器緩存可幫助提高存儲(chǔ)帶寬,但 DB2 數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)將相關(guān)數(shù)據(jù)緩存到它們的緩沖池中。這限制了存儲(chǔ)控制器充分減少實(shí)際物理磁盤(pán)需求,以支持 DB2 數(shù)據(jù)庫(kù)服務(wù)器等 I/O 密集型系統(tǒng)的能力。在通常為 I/O 密集型的企業(yè)數(shù)據(jù)庫(kù)系統(tǒng)中,最終結(jié)果是完全找不到實(shí)際物理磁盤(pán)的替代品。除了傳統(tǒng)的 SAN 存儲(chǔ)控制器外,附加的存儲(chǔ)虛擬化層也正在被添加到企業(yè)中,它們進(jìn)一步為 DBA 抽象物理磁盤(pán)。這種虛擬化的例子有 San Volume Controller (SVC) 和 AIX® VIO
10、S 。這些形式的虛擬化可提供稱心的功能增強(qiáng),例如透明地從一組 LUN 向另一組 LUN 遷移的能力,或者多個(gè)主機(jī) LPAR 共享一條光纖通道 Host Bus Adapter (HBA) 的能力。但是,這樣做需要付出一定的代價(jià),通常包括 I/O 路徑中出現(xiàn)更多的子系統(tǒng)。此外,對(duì)于 I/O 密集型系統(tǒng),它們并不能減少對(duì)實(shí)際物理磁盤(pán)的需求。處理高度虛擬化的存儲(chǔ)如本文簡(jiǎn)介部分所述,磁盤(pán)存儲(chǔ)越來(lái)越多地被當(dāng)做一種普通用品,可用存儲(chǔ)空間常常被從其所在物理設(shè)備中抽象出來(lái)。如果您的企業(yè)的 I/O 基礎(chǔ)結(jié)構(gòu)要求使用這樣的存儲(chǔ)系統(tǒng),那么 DBA 需要繼續(xù)確保所提供的虛擬 LUN 真正由專用的物理磁盤(pán)組成。原因是:
11、如果實(shí)際磁盤(pán)太少,跟不上 CPU 的速度,那么企業(yè)系統(tǒng)很快會(huì)變成 I/O 密集型系統(tǒng)。不幸的是,雖然我們這些關(guān)心數(shù)據(jù)庫(kù)性能的人是以實(shí)際磁盤(pán)數(shù)量來(lái)衡量存儲(chǔ)需求的,但存儲(chǔ)管理員卻不同,他們只按空間的概念來(lái)考慮存儲(chǔ)需求。雖然過(guò)去十來(lái)年碟片大小有了長(zhǎng)足的進(jìn)步,但若要增加每個(gè) CPU 核的物理磁盤(pán)數(shù)而不僅僅是空間,只會(huì)變得越來(lái)越難。更糟糕的是,數(shù)據(jù)庫(kù)管理員知道需要多少物理磁盤(pán)來(lái)確保良好性能,卻不得不為擁有太多空間而辯護(hù)。例如,假設(shè)有一個(gè) CPU 核和 20 個(gè)物理磁盤(pán)。這樣的磁盤(pán) -CPU 比例應(yīng)該可以產(chǎn)生足夠的 I/O 并行性來(lái)提供很好的性能。如果每個(gè)磁盤(pán)設(shè)備可以存儲(chǔ) 150 GB ,那么每個(gè) CPU
12、 核有大約 3 TB 的空間。如果有多個(gè) CPU 核,每個(gè)核按 1:20 的比例配備物理磁盤(pán),那么存儲(chǔ)的總量將以驚人的速度增長(zhǎng)。雖然有這么多“空閑”的空間,但重要的是這樣的存儲(chǔ)并不會(huì)過(guò)量。例如,您可能想將一些未使用的存儲(chǔ)分配給其他應(yīng)用程序或進(jìn)程。但是要記住,相互競(jìng)爭(zhēng)的應(yīng)用程序或進(jìn)程發(fā)出太多的每秒 I/O 操作(I/O-operations-per-second ,IOPS )可能導(dǎo)致所有應(yīng)用程序的性能下降。這意味著存儲(chǔ)管理員應(yīng)該抵制誘惑,不要將未使用的空間作為單獨(dú)的 LUN 分配給 DBA 無(wú)權(quán)控制的其他應(yīng)用程序。現(xiàn)在,可以在將數(shù)據(jù)庫(kù)備份到長(zhǎng)期存儲(chǔ)之前,將未使用的空間用作數(shù)據(jù)庫(kù)在線備份或歸檔日
13、志的 staging 區(qū)域。這是非常合理的用法,因?yàn)楫?dāng)執(zhí)行備份時(shí),一切都在您的控制之下。換句話說(shuō),當(dāng)使用這些設(shè)備時(shí),完全由您(而不是其他未知的用戶或應(yīng)用程序)控制。您可以在不需要峰值 I/O 吞吐量的時(shí)候執(zhí)行在線備份。如果使用這樣的策略來(lái)最大化空間使用率,那么要記住,為數(shù)據(jù)和備份使用相同的磁盤(pán)將不可避免地帶來(lái)一定的風(fēng)險(xiǎn)。應(yīng)該適時(shí)地將備份歸檔到外部備份目標(biāo),例如 Tivoli® Storage Manager (TSM) 。由于 CPU 速度有望繼續(xù)增長(zhǎng)(增長(zhǎng)方式是通過(guò)增加 CPU 核提高處理并行性,而不是增加時(shí)鐘頻率),預(yù)期的趨勢(shì)是,為確保數(shù)據(jù)庫(kù)服務(wù)器不成為 I/O 密集型系統(tǒng),每個(gè)
14、系統(tǒng)將需要越來(lái)越多的物理磁盤(pán)。因此,DBA 應(yīng)通過(guò)良好的模式設(shè)計(jì),并利用 DB2 數(shù)據(jù)庫(kù)系統(tǒng)中的高級(jí)功能,例如 MDC 、MQT 和壓縮,盡可能消除 I/O 操作,這一點(diǎn)比以往更重要。相對(duì)于碟片速度,CPU 處理速度有了更快的增長(zhǎng),因此好的經(jīng)驗(yàn)法則是確保每個(gè) CPU 核有 15 到 20 個(gè)專用物理磁盤(pán)。通過(guò)使用多維集群(Multidimensional Clustering ,MDC )等 I/O 技術(shù),以及良好的模式管理和設(shè)計(jì),這個(gè)數(shù)字有可能減少。值得注意的是,在撰寫(xiě)本文之際,此處所說(shuō)的物理磁盤(pán)數(shù)量只針對(duì)企業(yè)中的普通處理器和磁盤(pán)技術(shù)。這包括 IBM POWER5 、Intel®
15、Xeon® 和 AMD® Opteron 處理器。普通的主軸速度是 15000 rpm 。當(dāng)下一代處理器普及時(shí),對(duì)于 I/O 密集型數(shù)據(jù)庫(kù)服務(wù)器,每個(gè)處理器將需要大量的物理磁盤(pán)。為每個(gè)非 DPF DB2 數(shù)據(jù)庫(kù)服務(wù)器 / 每個(gè) DPF 分區(qū)使用專用 LUN 和文件系統(tǒng)最好不要在 DB2 服務(wù)器 / 分區(qū)之間共享 LUN 和物理磁盤(pán)。最佳實(shí)踐是為每個(gè)非 DPF DB2 數(shù)據(jù)庫(kù)服務(wù)器和每個(gè) DPF 數(shù)據(jù)庫(kù)分區(qū)使用專用 LUN 。將 LUN 專用于 DB2 服務(wù)器或分區(qū)確實(shí)會(huì)阻礙將組成該 LUN 的物理磁盤(pán)用于創(chuàng)建單獨(dú)的 LUN ,雖然創(chuàng)建的 LUN 的使用不大可能干擾那些磁盤(pán)的
16、主要用途。但是,如上一節(jié)所述,您應(yīng)該確保這些 LUN 在您的控制之下,并謹(jǐn)慎地加以使用。之前討論的將剩余空間用于備份和歸檔日志的 staging 區(qū)域就屬于這樣的用途。單個(gè)的文件系統(tǒng)應(yīng)該在每個(gè)這樣的 LUN 上創(chuàng)建,并且應(yīng)該專用于單個(gè) DB2 服務(wù)器或 DPF 數(shù)據(jù)庫(kù)分區(qū)。專用的 LUN 和每個(gè) LUN 上專用的文件系統(tǒng)可保持存儲(chǔ)布局的簡(jiǎn)單性,并且有助于問(wèn)題診斷。對(duì)于 DPF 系統(tǒng),建議遵循 IBM Balanced Configuration Warehouse 實(shí)踐。例如,當(dāng)在一個(gè)表上選擇了不恰當(dāng)?shù)姆謪^(qū)鍵時(shí),查詢便不能獲得應(yīng)有的并行性,如果采用上述做法,這個(gè)問(wèn)題就可輕易診斷出來(lái)。當(dāng) LUN
17、 和文件系統(tǒng)專用于數(shù)據(jù)庫(kù)分區(qū)時(shí),如果看到一組 LUN 的繁忙時(shí)間遠(yuǎn)多于其他 LUN ,那么這個(gè)問(wèn)題就變得很明顯了,因?yàn)橐粋€(gè)分區(qū)上存放了所有需要處理的數(shù)據(jù),而其他分區(qū)上的數(shù)據(jù)則相對(duì)較少。最多兩次條帶化存儲(chǔ)控制器直接在控制器固件中提供了杰出的 RAID 條帶化。應(yīng)該將企業(yè)系統(tǒng)設(shè)計(jì)為使用存儲(chǔ)控制器提供的條帶功能。這么做的一個(gè)更方便的途徑是讓存儲(chǔ)控制器暴露一個(gè)單獨(dú)的 RAID 陣列,例如,讓 RAID-5 或 RAID-10 作為一個(gè)單獨(dú)的 LUN 。然后,可以將一個(gè)或多個(gè)這樣的 LUN 提供給 DB2 分區(qū)。當(dāng)把不止一個(gè) LUN 提供給 DB2 數(shù)據(jù)庫(kù)服務(wù)器或 DPF 數(shù)據(jù)庫(kù)分區(qū)時(shí),則使用 DB2
18、數(shù)據(jù)庫(kù)系統(tǒng)容器更細(xì)的條帶。由于兩次條帶化對(duì)所有的系統(tǒng)都算足夠了,要避免使用三次條帶化,例如操作系統(tǒng)的邏輯卷管理器。邏輯卷管理器(LVM )條帶化對(duì)于其他中間件有益,但是 DB2 數(shù)據(jù)庫(kù)系統(tǒng)不同,DB2 數(shù)據(jù)庫(kù)系統(tǒng)中沒(méi)有足夠的容量來(lái)進(jìn)行自己的條帶化。將 DB2 事務(wù)日志與數(shù)據(jù)分開(kāi)為取得最佳可用性,應(yīng)將事務(wù)日志和 DB2 數(shù)據(jù)或表空間分開(kāi),放到不同的物理磁盤(pán)和不同的 LUN 上。應(yīng)該為每個(gè) DB2 分區(qū)提供一個(gè)有專用物理磁盤(pán)的 LUN 用于事務(wù)日志,此外,通常還需為表空間容器或數(shù)據(jù)提供多個(gè) LUN 。雖然日志物理磁盤(pán)相對(duì)于數(shù)據(jù)物理磁盤(pán)的比例很大程度上取決于工作負(fù)載,但較好的調(diào)整準(zhǔn)則是 15% 至
19、25% 的物理磁盤(pán)用于日志,75% 至 85% 的物理磁盤(pán)用于數(shù)據(jù)。使用文件系統(tǒng)替代原始設(shè)備 為每個(gè) LUN 創(chuàng)建一個(gè)文件系統(tǒng)由于性能的原因,直接 I/O 和并發(fā) I/O 幾乎已經(jīng)完全消除了使用原始邏輯卷的需要。文件系統(tǒng)比原始設(shè)備提供更好的可管理性,因?yàn)閱蝹€(gè)文件系統(tǒng)可用作多個(gè)表空間的容器。為一個(gè)數(shù)據(jù)庫(kù)分區(qū)配置的的每個(gè) LUN 都應(yīng)該創(chuàng)建一個(gè)單獨(dú)的文件系統(tǒng),供這個(gè)分區(qū)使用,也就是說(shuō),每個(gè) LUN 一個(gè)文件系統(tǒng)。每個(gè) DB2 分區(qū)通常有:· 一個(gè)事物日志文件系統(tǒng) 使用 LUN 創(chuàng)建,用于分區(qū)的事務(wù)日志。· 多個(gè)數(shù)據(jù)文件系統(tǒng)每個(gè)文件系統(tǒng)都使用它自己?jiǎn)为?dú)的 LUN 創(chuàng)建,用于表空間
20、數(shù)據(jù)。事務(wù)日志使用 RAID-10,數(shù)據(jù)使用 RAID-10 或 RAID-5RAID-10 提供極好的冗余,因?yàn)樗梢越?jīng)受多次物理磁盤(pán)故障。而 RAID-5 只能經(jīng)受一次物理磁盤(pán)故障。但是,RAID-10 增加冗余的代價(jià)是成本比 RAID-5 高很多。如果將 RAID-10 同時(shí)用于日志和數(shù)據(jù),那么將擁有更大的不懼磁盤(pán)故障的韌性。如果只能將 RAID-10 用于存儲(chǔ)數(shù)據(jù)或日志中的一種,那么將它用于日志,而將 RAID-5 用于數(shù)據(jù)。如果選擇將 RAID-5 同時(shí)用于日志和數(shù)據(jù),那么仍然可以擁有非常有韌性的存儲(chǔ)配置;但是,您會(huì)發(fā)現(xiàn)需要更大程度上依賴于數(shù)據(jù)庫(kù)備份。將表空間 EXTENTSIZE
21、設(shè)置為 RAID 條帶大?。ㄈ绻霾坏剑瑒t設(shè)為一個(gè)有助于讀取大塊數(shù)據(jù)的大?。?。RAID 陣列中每個(gè)物理磁盤(pán)上連續(xù)數(shù)據(jù)的總量稱作“條塊(strip )”,橫跨這些全部由條塊組成的陣列的數(shù)據(jù)的總量則稱作“條帶(stripe )”。典型的 RAID 條塊大小是 32kb 、64kb 、128kb 等。RAID-5 4+1 陣列上的條帶大小相當(dāng)于條塊大小的 4 倍。表空間的 EXTENTSIZE 應(yīng)該設(shè)為包括整個(gè) RAID 條帶的頁(yè)數(shù)。例如,一個(gè)使用 RAID-5 4+1 的系統(tǒng),其條塊大小為 128kb ,那么該系統(tǒng)上的條帶大小為 512kb (128kb x 4 )。如果使用的頁(yè)大小為 8kb ,
22、那么將 EXTENTSIZE 設(shè)為 64 (512kb/8kb )較為合適。在虛擬化存儲(chǔ)環(huán)境中設(shè)置表空間盤(pán)區(qū)大小有時(shí)候,無(wú)法知道給定 DB2 表空間容器的文件系統(tǒng)存儲(chǔ)在哪個(gè) RAID 陣列上。如果為數(shù)據(jù)庫(kù)服務(wù)器主機(jī)和存儲(chǔ)控制器配置的 LUN 之間存在其他層或存儲(chǔ)虛擬化,那么就會(huì)出現(xiàn)這種情況。在此情況下,當(dāng)創(chuàng)建表空間時(shí),應(yīng)該將 EXTENTSIZE 設(shè)為一個(gè)有利于預(yù)取程序執(zhí)行有效大塊 I/O 的數(shù)字。較好的經(jīng)驗(yàn)法則是將盤(pán)區(qū)大小設(shè)為 256 KB 。 128 KB 或 512 KB 的盤(pán)區(qū)大小也是不錯(cuò)的選擇。EXTENTSIZE 的默認(rèn)設(shè)置(32 個(gè)頁(yè)面,由 DFT_EXTENT_SZ 配置參數(shù)指
23、定)大多數(shù)情況下應(yīng)該能提供足夠的性能。例如,如果數(shù)據(jù)庫(kù)使用 8 KB 的頁(yè)面,在不知道 RAID 條塊大小方面的詳細(xì)信息時(shí),使用 32 (8 KB x 32 個(gè)頁(yè)面 = 256 KB )的 EXTENTSIZE 應(yīng)該足夠了。即使對(duì)于 4 KB 或 16 KB 的頁(yè)面,32 的 EXTENTSIZE 仍可以分別得到 128 KB 或 512 KB 的盤(pán)區(qū)大小,這符合建議的范圍。設(shè)置 DB2_PARALLEL_IO 實(shí)現(xiàn)最佳 I/O 并行性默認(rèn)情況下,在表掃描期間,DB2 for Linux, UNIX and Windows 的 I/O 服務(wù)器或預(yù)取程序?yàn)槊總€(gè)表空間容器執(zhí)行盤(pán)區(qū)大小的 I/O 。
24、因此,EXTENTSIZE 不僅是 DB2 的條帶化單位,也是預(yù)取程序在連續(xù)預(yù)取期間使用的讀 I/O 大小。如果按照上一節(jié)中的最佳實(shí)踐設(shè)置 EXTENTSIZE ,那么在包含每個(gè) DB2 容器使用的文件系統(tǒng)的(單個(gè))RAID 陣列中,應(yīng)確保一個(gè)盤(pán)區(qū)的數(shù)據(jù)橫跨所有的驅(qū)動(dòng)器,然后就不需要設(shè)置 DB2_PARALLEL_IO 了,因?yàn)閿?shù)據(jù)庫(kù)管理器將自動(dòng)從容器中的所有物理磁盤(pán)中并行地預(yù)取該盤(pán)區(qū)。除了本文提供的方式外,還有其他方式可用于設(shè)置 EXTENTSIZE 和設(shè)計(jì) DB2 系統(tǒng)的條帶化。在某些配置中,另一種方式是將 EXTENTSIZE 設(shè)為使連續(xù)數(shù)據(jù)橫跨每個(gè) RAID 陣列中的一個(gè)物理磁盤(pán)。也就
25、是說(shuō),將 EXTENTSIZE 設(shè)為條塊大小,而不是上一節(jié)推薦的條帶大小。在這樣的配置中,在連續(xù)預(yù)取期間,每個(gè)表空間容器采用單個(gè)盤(pán)區(qū)大小的 I/O 便不適用,因?yàn)樗荒茯?qū)動(dòng)文件系統(tǒng)所基于的 RAID 陣列中的一個(gè)物理磁盤(pán)。對(duì)于這些系統(tǒng),如果想讓數(shù)據(jù)庫(kù)管理器生成多盤(pán)區(qū)大小的預(yù)取請(qǐng)求,并行地驅(qū)動(dòng)用于每個(gè) DB2 表空間容器的物理磁盤(pán),就必須設(shè)置 DB2_PARALLEL_IO 。DB2_PARALLEL_IO 允許用戶顯式地指定每個(gè)容器下的物理磁盤(pán)數(shù),以便為每個(gè)容器生成適當(dāng)數(shù)量的預(yù)取請(qǐng)求。例如,如果每個(gè)表空間容器存在于一個(gè)由 RAID 5 4+1 陣列支持的文件系統(tǒng)上,那么下面是合適的 DB2_P
26、ARALLEL_ IO 設(shè)置: db2set DB2_PARALLEL_IO=*,5“* ”表示該設(shè)置適用于所有表空間。5 表示在每個(gè)容器下有 5 (4+1 )個(gè)物理磁盤(pán),每個(gè)物理磁盤(pán)都應(yīng)該由一個(gè)單獨(dú)的預(yù)取程序所發(fā)出的單盤(pán)區(qū)大小的讀請(qǐng)求來(lái)驅(qū)動(dòng)。以下算法將 DB2_PARALLEL_IO 設(shè)置考慮在內(nèi):· 當(dāng) CREATE or ALTER TABLESPACE 語(yǔ)句上的 PREFETCHSIZE 選項(xiàng)設(shè)為 AUTOMATIC 時(shí),計(jì)算每個(gè)表空間的預(yù)取大小。· 當(dāng) num_ioservers 配置參數(shù)設(shè)為 AUTOMATIC 時(shí),計(jì)算 I/O 服務(wù)器或預(yù)取程序的數(shù)量。(請(qǐng)參閱
27、“不要手動(dòng)調(diào)優(yōu) NUM_IOCLEANERS 、NUM_IOSERVERS 和 PREFETCHSIZE 配置參數(shù)”小節(jié),獲得相關(guān)建議。)使用 NO FILE SYSTEM CACHING 子句N(xiāo)O FILE SYSTEM CACHING 子句支持直接或并發(fā) I/O ,其中任何一個(gè)都適合 DB2 數(shù)據(jù)庫(kù)系統(tǒng)所在的操作系統(tǒng)平臺(tái)。直接或并發(fā) I/O 有效地使 DB2 I/O 操作在文件系統(tǒng)上獲得接近原始設(shè)備的性能。在 DB2 Universal Database, Version 8.2 中,對(duì) NO FILE SYSTEM CACHING 子句的支持已經(jīng)被添加到 CREATE TABLESPAC
28、E 和 ALTER TABLESPACE 語(yǔ)句中。從 Version 9.5 開(kāi)始,對(duì)于那些支持直接或并發(fā) I/O 的文件系統(tǒng),例如 JFS2 、GPFS 和 VxFS ,新創(chuàng)建的數(shù)據(jù)庫(kù)已默認(rèn)如此。使用 DB2 自動(dòng)化存儲(chǔ)讓條帶化無(wú)處不在DB2 自動(dòng)化存儲(chǔ)(AS )技術(shù)是為數(shù)據(jù)庫(kù)配置存儲(chǔ)的一種簡(jiǎn)單而有效的方式。存儲(chǔ)通過(guò) CREATE DATABASE 命令直接提供給數(shù)據(jù)庫(kù),而非表空間。例如: DB2 CREATE DATABASE MYDB ON /data1, /data2, /data3 DBPATH ON /mydbpath這個(gè)例子命令創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),它有 3 個(gè)存儲(chǔ)路徑:data1 、
29、data2 和 data3 。每個(gè)路徑都是一個(gè)單獨(dú)的文件系統(tǒng),每個(gè)文件系統(tǒng)都是通過(guò)專用的 LUN 創(chuàng)建的。(注意:除非另外指定,否則在使用 CREATE DATABASE 命令創(chuàng)建數(shù)據(jù)庫(kù)時(shí)將默認(rèn)使用自動(dòng)化存儲(chǔ)。)CREATE DATABASE 命令上的 DBPATH 參數(shù)被設(shè)為另一個(gè)單獨(dú)的文件系統(tǒng)(/mydbpath ),該文件系統(tǒng)是使用為 DB2 事務(wù)日志提供的 LUN 創(chuàng)建的。事務(wù)日志和 DB2 元數(shù)據(jù)都存放在這個(gè)文件系統(tǒng)上。DB2 數(shù)據(jù)庫(kù)系統(tǒng)創(chuàng)建的默認(rèn)表空間(SYSCATSPACE 、USERSPACE1 和 TEMPSPACE1 )各有 3 個(gè)控制器 對(duì)應(yīng) 3 個(gè)存儲(chǔ)路徑。任何未顯式指
30、定容器而創(chuàng)建的新的表空間也是使用隨處條帶化的方法創(chuàng)建的。例如,考慮以下 DB2 語(yǔ)句: DB2 CREATE TABLESPACE MYTS使用 CREATE TABLESPACE 語(yǔ)句創(chuàng)建的表空間 MYTS 有 3 個(gè)容器,每個(gè)容器對(duì)應(yīng)一個(gè)存儲(chǔ)路徑。雖然使用自動(dòng)化存儲(chǔ)不妨礙在同一個(gè)數(shù)據(jù)庫(kù)中定義系統(tǒng)管理空間(SMS )或數(shù)據(jù)庫(kù)管理空間(DMS )的表空間或文件,但是自動(dòng)化存儲(chǔ)通常會(huì)消除這方面的需要。由于 DB2 存儲(chǔ)管理器使用簡(jiǎn)單的隨處條帶化方法,自動(dòng)化存儲(chǔ)的最佳實(shí)踐是使用容量一致的存儲(chǔ)路徑或文件系統(tǒng)。這樣可確保并行性保持一致,不至于使某個(gè)存儲(chǔ)路徑過(guò)早地被填滿,而導(dǎo)致某些部分的表空間的條帶化寬度不同于其他表空間。當(dāng)需要為數(shù)據(jù)庫(kù)增加空間時(shí),應(yīng)盡量均衡擴(kuò)展所有已有的路徑。也就是說(shuō),等量地增加每個(gè)文件系統(tǒng)的容量。如果不能均衡擴(kuò)展存儲(chǔ)路徑,那么使用 ALTER DATABASE 命令的 ADD STORAGE ON 子句增加一組新的(大小均等的)存儲(chǔ)路徑。這組新的存儲(chǔ)路徑應(yīng)該與原有存儲(chǔ)路徑有相同的 I/O 功能。理想情況下,應(yīng)該同時(shí)添加與之前定義的存儲(chǔ)路徑數(shù)量相同的存儲(chǔ)路徑。例如,為了給之前創(chuàng)建的數(shù)據(jù)庫(kù) MYDB 增加空間,最佳選擇是等量增加文件系統(tǒng) /data1 、/data2 和 /data3 的容量。如果做不到,那么應(yīng)該增加一組新的存儲(chǔ)路徑(文件系統(tǒng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 林副產(chǎn)品購(gòu)銷(xiāo)合同
- 施工工程進(jìn)度保證信
- 踐行社會(huì)主義核心價(jià)值觀
- 房屋租賃合同范本完整
- 農(nóng)業(yè)技術(shù)產(chǎn)品售后服務(wù)協(xié)議
- 掛靠合作協(xié)議簡(jiǎn)單
- 沙石運(yùn)輸質(zhì)量協(xié)議書(shū)
- 鋼筋批發(fā)購(gòu)買(mǎi)
- 代收貨款合同書(shū)
- 房屋買(mǎi)賣(mài)合同的簽訂與法律糾紛處理
- 倉(cāng)庫(kù)溫濕度分布驗(yàn)證報(bào)告
- 【A科技公司員工招聘問(wèn)題調(diào)查研究及優(yōu)化策略13000字(論文)】
- 英語(yǔ)社團(tuán)-趣配音活動(dòng)總結(jié)
- 國(guó)開(kāi)電大本科工程數(shù)學(xué)(本)在線形考(形成性考核作業(yè)5)試題及答案
- 肩關(guān)節(jié)Constant評(píng)分表實(shí)用文檔
- 改革開(kāi)放史學(xué)習(xí)通課后章節(jié)答案期末考試題庫(kù)2023年
- 國(guó)家開(kāi)放大學(xué)電大《美學(xué)原理》形考任務(wù)1-4試題和答案
- 關(guān)于2023地貧工作計(jì)劃6篇
- 清掃保潔及垃圾清運(yùn)承包合同
- PCB焊盤(pán)與孔設(shè)計(jì)規(guī)范(new)
- 儲(chǔ)存場(chǎng)所預(yù)先危險(xiǎn)性分析表
評(píng)論
0/150
提交評(píng)論