小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

分區(qū)的威力(翻譯)

 qzg589 2005-09-09

分區(qū)的威力(翻譯)

[日期:2005-07-08] 來源:CSDN  作者: [字體: ]

分區(qū)的威力

Dwaine R. Snow and Paul C. Zikopoulos

笑熬漿糊

 

原文出處:《DB2 Magazine Quarter 2, 2003 · Vol. 8, Issue 2

英文原文(由于文章翻譯未經(jīng)授權(quán),請?jiān)谵D(zhuǎn)載時保留原文鏈接)

 

 


人們對分區(qū)有很多的誤解。多倫多實(shí)驗(yàn)室的專家們對這個有用的功能進(jìn)行了正名。

 

DB2 數(shù)據(jù)庫分區(qū)的往往是存在很多誤區(qū)。對于Linux、Unix以及Windows平臺上的DB2 UDB 8.1 版本所做的變動有助于簡化DB2 分區(qū)。我們將解釋這些變動,澄清一些分區(qū)的神話,以及說明您應(yīng)該考慮分區(qū)的時機(jī)和理由。

 

DB2 UDB 8.1 For Linux \Unix\WindowsDB2產(chǎn)品家族中以前稱之為DB2 UDB 企業(yè)版和企業(yè)擴(kuò)展版的產(chǎn)品整合成為一個單獨(dú)的產(chǎn)品中。這個 新的DB2 企業(yè)服務(wù)器版(ESE) 包含了數(shù)據(jù)庫分區(qū)的功能(從前是作為單獨(dú)提供的產(chǎn)品) ,作為一個計(jì)費(fèi)的項(xiàng)目,現(xiàn)在被稱為數(shù)據(jù)庫分區(qū)功能(注:直譯——database partitioning feature DPF)。當(dāng)DB2的用戶們發(fā)現(xiàn)自己需要開始分區(qū)時,那么他們可以馬上開始而不需要其他一些額外的代碼—— 他們僅僅需要DPF的許可協(xié)議。

 

DPF的真相

關(guān)于數(shù)據(jù)庫分區(qū)的神話在DB2中隨處可見(參見表1)。對于分區(qū)基礎(chǔ)的快速概攬將幫助你區(qū)別真?zhèn)尾⑶易龀鲞m當(dāng)?shù)姆謪^(qū)決策。

1 : 圍繞DB2 數(shù)據(jù)分區(qū)的神話和事實(shí)

無論是否有DPF,DB2都支持并行查詢處理。圖1展示了安裝在一個4SMP(對稱多處理)服務(wù)器DB2 ESE。在這個假設(shè)中。一個獨(dú)立的查詢可以自動使用這個服務(wù)器上所有的CPU和物理磁盤。對于依靠需要數(shù)據(jù)的子集進(jìn)行處理的子代理提供分區(qū)內(nèi)部的并行機(jī)制。DB2 使用I/O的預(yù)存取把從磁盤發(fā)送的數(shù)據(jù)反饋到這些子代理當(dāng)中。這種并行機(jī)制對用戶、應(yīng)用程序以及DBA都是透明可見的。

 

1不帶有DPFDB2 ESE的并行機(jī)制

 

DPF選項(xiàng)增加了在一組機(jī)器中或邏輯上位于某個SMP服務(wù)器中的數(shù)據(jù)庫進(jìn)行分區(qū)的能力。依靠DPF,一幅數(shù)據(jù)庫圖像可以跨越多臺機(jī)器(存儲),并且它對于用戶和應(yīng)用程序來說仍然還是一幅完整數(shù)據(jù)庫圖像。

 

考慮四路的SMP服務(wù)器組的情況。 (在這篇文章里,我們將使用術(shù)語數(shù)據(jù)庫分區(qū)而不是集群,因?yàn)榧和ǔJ侵父呖煽啃缘墓收限D(zhuǎn)移配置或者用于衡量系統(tǒng)的分區(qū)組。) 使用DPF,在圖1中所討論到的并行操作可以擴(kuò)展到橫跨多臺SMP 機(jī)器(參見圖2)。這樣的好處就是有一個雙并行操作。 你可以跨越多臺機(jī)器或者邏輯數(shù)據(jù)庫分區(qū)來平衡這些并行操作。這樣的處理被稱之為分區(qū)之間的并行機(jī)制。

 

2 : 橫跨多臺機(jī)器的使用DPF的并行機(jī)制


分區(qū)之間的并行機(jī)制通常在多臺服務(wù)器執(zhí)行,但越來越多的用戶現(xiàn)在都一些大型的SMP箱中進(jìn)行該操作(參見圖3)。

 

3 : 單獨(dú)的SMP服務(wù)器中的擁有DPFDB2 ESE.

 

什么時候(為什么)需要進(jìn)行分區(qū)

那么,你應(yīng)該去做分區(qū)嗎?在以下的情況下你應(yīng)該考慮分區(qū):

·         你的服務(wù)器擁有大量可用內(nèi)存。即使DB2 v864位支持,多分區(qū)已經(jīng)被證明可以提供比單獨(dú)的SMP 并行機(jī)制更多的內(nèi)存的有效使用和更多的線性可擴(kuò)展性。

·         系統(tǒng)將包括多臺服務(wù)器,或有超過6 12 個的CPU。

·         數(shù)據(jù)庫工具的操作速度是你的業(yè)務(wù)操作的關(guān)鍵所在。

·         為裝載數(shù)據(jù)或提取,轉(zhuǎn)換,負(fù)荷處理操作提供的批處理窗口數(shù)量是有限的。

·         數(shù)據(jù)倉庫的滾動窗口數(shù)據(jù)更新的需求使并行SQL處理和其他日志空間成為根本。

分區(qū)在這些情況下顯得特別有意義。 但是分區(qū)所提供的一些其它的好處使得它變得更有魅力。這些好處有:

查詢的可擴(kuò)展性 使用DPF的一個最明顯的理由就是它可以增加查詢工作量和insert, update,和 delete 操作的性能。把一個單獨(dú)的大型數(shù)據(jù)庫分區(qū)為很多定數(shù)量的較小的數(shù)據(jù)庫以加速這些操作因?yàn)槊恳粋€數(shù)據(jù)庫分區(qū)都擁有它們自己的一套數(shù)據(jù)。

 

比如說你想要掃描一個包含100 million行數(shù)據(jù)的表。對于一個單獨(dú)的數(shù)據(jù)庫分區(qū)而言,這次掃瞄會要求獨(dú)立的數(shù)據(jù)庫管理器去搜索所有100 million個紀(jì)錄。如果你把你的數(shù)據(jù)庫系統(tǒng)分區(qū)為使用50 臺數(shù)據(jù)庫分區(qū)服務(wù)器并且將這100 million條記錄均勻的分配到他們之間的話,那么每一個數(shù)據(jù)庫分區(qū)上的數(shù)據(jù)庫管理器僅僅需要掃描2 million行。如果每一個掃描都在同一個時間并且以相同的速度執(zhí)行的話,那么掃瞄完成的時間大約是前者的2%。

DPF提供類似于線性可擴(kuò)展性和使用工具來完成基礎(chǔ)設(shè)施構(gòu)建。這樣它可以根據(jù)需要增加容量而不需要新技術(shù)或者單獨(dú)安裝

 

DB2 優(yōu)化器是基于并行機(jī)制。換句話說,它保留了如何在系統(tǒng)中對于底層數(shù)據(jù)進(jìn)行分區(qū)的信息。使用這些信息,優(yōu)化器考慮不同的查詢執(zhí)行策略和一個低成本的選擇。當(dāng)在比較不同的執(zhí)行策略時,它會考慮到不同的操作的內(nèi)在的并行機(jī)制和在數(shù)據(jù)庫分區(qū)之間傳遞消息的開銷。

 

在大量數(shù)據(jù)或者處理器和分區(qū)的數(shù)量增加的時候,DB2可提供類似線性的可擴(kuò)展性。但是,分區(qū)可能提供的最大好處的機(jī)會取決于它所相關(guān)的工作量、最大容量表的大小以及其它一些因素。一般情況下,我們推薦:每個CPU上面的原始數(shù)據(jù)(僅是表的大?。┑臄?shù)量應(yīng)該基于在被使用服務(wù)器上的CPU的功率。比如說pSeries p690-class CPU,我們會建議每個處理器150-200GB。而對于使用Linux或者WindowsxSeries-class CPU(或任何IntelAMD的機(jī)器),我們會推薦每處理器75-150GB。記住,這些只是一般情況下的推薦,在實(shí)際情況下會有一些不同的。

 

體系架構(gòu)的限制 DPF已經(jīng)突破了一些DB2的體系架構(gòu)的限制。例如,在DB2中表的最大容量是64GB4KB的頁面大小(雖然32KB的頁面大小可以支持到512GB)。DB2中表和表空間大小限制是建立在每個分區(qū)的基礎(chǔ)上。因此,在多個分區(qū)中對一個數(shù)據(jù)庫進(jìn)行分區(qū)可以讓你通過你所在系統(tǒng)環(huán)境的分區(qū)數(shù)量的系數(shù)來增加表的最大容量。例如,把一個數(shù)據(jù)庫分區(qū)成橫跨四個結(jié)點(diǎn)系統(tǒng)就可以支持最大(以32KB頁面大?。?/SPAN> 2408 GB的表。

 

在一個沒有分區(qū)的環(huán)境中內(nèi)存也會成為一個瓶頸。32 位版本的DB2 ESE 限制了每臺DB2服務(wù)器共享內(nèi)存。(這個限制將隨運(yùn)行DB2的操作系統(tǒng)的不同而不同,同時一些供應(yīng)商也提供一些基本內(nèi)存模的擴(kuò)展。)共享內(nèi)存支持內(nèi)存密集型的數(shù)據(jù)庫資源譬如緩沖池、高速緩沖區(qū)和堆。在一個DPF的環(huán)境里,每一個數(shù)據(jù)庫分區(qū)管理和擁有它自己的資源,因此您可以通過分區(qū)你的數(shù)據(jù)庫來克服這些限制。你甚至可以在大型的SMP箱中區(qū)運(yùn)行邏輯數(shù)據(jù)庫分區(qū),充分利用在一臺單獨(dú)SMP 服務(wù)器中的大內(nèi)存資源。

 

數(shù)據(jù)裝載 DB2 ESE v8.1中,如果對目標(biāo)表分區(qū),那么裝載工具會自動并行的分離和裝載數(shù)據(jù)。它使用智能的缺省值去分離和裝載數(shù)據(jù);它也可以被優(yōu)化用于一些環(huán)境。

 

在一個分區(qū)數(shù)據(jù)庫中,您可以使用裝載工具同時向相應(yīng)的數(shù)據(jù)庫分區(qū)裝載數(shù)據(jù)。圖4顯示裝載工具是使用專用的媒體閱讀器將數(shù)據(jù)分離和裝載到表中(并行狀態(tài)下)。裝載工具對于裝載時間提供了類似于線性的可擴(kuò)展性。

4  利用DPF加速表的裝載


DB2 v8的裝載工具比以前版本的裝載工具更快、更加可利用。如果你在DB2 v8中執(zhí)行一個裝載的操作,DB2不再是將被裝載的那個表所在的表空間所有表鎖定在它之中(與DB2 v7的情況一樣)?,F(xiàn)在甚至還有一種被稱之為在線裝載,它在裝載的時候允許對表進(jìn)行讀操作。考慮對于以前DB2版本的,仍然支持autoloader腳本。

 

是否有可能裝載時間重要但查詢的性能并不重要的?這兩個問題其實(shí)并不互相排斥;可是,在許多商業(yè)流程中裝載時間是一個重要因素。實(shí)際上,這有時還是決定因素。如果是在那種情況下,那么使用DPF是相當(dāng)有用的。 例如,電信公司(telco)的欺詐偵查單元在一個指定的時間間隔中裝載大量的數(shù)據(jù)以求快速準(zhǔn)確的監(jiān)測出呼叫模式下反?,F(xiàn)象有可能是潛在欺詐信號。數(shù)據(jù)庫必須迅速發(fā)現(xiàn)這些反?,F(xiàn)象,因此數(shù)據(jù)需要迅速和頻繁地進(jìn)入數(shù)據(jù)倉庫。在電信公司,這個過程每小時被重復(fù)甚至在更大的公司每十五分鐘就要重復(fù)。 這些需求要求一個可擴(kuò)展并且高效率的基礎(chǔ)設(shè)施來運(yùn)行類似查詢的工作。

 

維護(hù) 數(shù)據(jù)庫分區(qū)可以明顯的加速維護(hù)。將數(shù)據(jù)庫分散于多臺數(shù)據(jù)庫分區(qū)服務(wù)器上可以加速數(shù)據(jù)庫的維護(hù),因?yàn)槊恳豁?xiàng)操作都是運(yùn)行在分區(qū)管理的數(shù)據(jù)子集上的。

 

雖然在DB2中索引創(chuàng)建是并行的,你可以通過對數(shù)據(jù)庫進(jìn)行分區(qū)來進(jìn)一步減少總的時間。在所有分區(qū)上利用小數(shù)據(jù)集并行創(chuàng)建索引是允許并行的。 記住,DB2 抽象了表面現(xiàn)象下的運(yùn)行;多個表可以表現(xiàn)成一個表的形式。

 

RUNSTATS工具也可以從分成中受益。這個工具更新關(guān)于表的物理特性和它相關(guān)的索引統(tǒng)計(jì)數(shù)據(jù)。在決定數(shù)據(jù)訪問路徑時優(yōu)化器使用這些統(tǒng)計(jì)數(shù)據(jù)。 RUNSTATSCPU密集的,需要數(shù)據(jù)的排序和聚合。你可以使用DPF的選項(xiàng)來減少該工具所占用的時間。使用DPFRUNSTATS檢查在一個數(shù)據(jù)庫分區(qū)上的數(shù)據(jù)而不是整個表。在DB2 v8中,RUNSTATS取樣選項(xiàng)可以進(jìn)一步減少工具的的執(zhí)行時間(不管有或沒有DPF)。

 

同樣,將數(shù)據(jù)散布于多個分區(qū)有助于表重組(REORG,它是I/O 密集的并且需要隨機(jī)抓取(特別是在離線狀態(tài)下)。每個數(shù)據(jù)庫分區(qū)可以重組它擁有的數(shù)據(jù)同時分配為每一個處理器更多驅(qū)動來重組數(shù)據(jù)。這些操作也可以并行操作以縮短需要的整體時間。在DB2 v8,你可以在各個分區(qū)或者在數(shù)據(jù)庫分區(qū)的子集上來執(zhí)行REORG。你也可以停止、暫停、檢查狀態(tài)和恢復(fù)。

 

這些例子僅僅是一些能從DPF得到好處的維護(hù)操作。

 

并行插入/刪除 在數(shù)據(jù)庫分區(qū)中只有SQL語句是并行操作。如果數(shù)據(jù)庫環(huán)境使用SQL來進(jìn)行大容量的插入和刪除處理,通過在數(shù)據(jù)庫分區(qū)上的并行處理插入和刪除語句,多數(shù)據(jù)庫分區(qū)可以增加事務(wù)處理的吞吐量。這樣的好處還可以應(yīng)用于從一張表中選擇數(shù)據(jù)并且插入另外一張表的技術(shù)。

 

滾動窗口需求 當(dāng)查詢窗口必須保持在打開狀態(tài)的時候,分區(qū)通常會被用于滿足滾動窗口的需求(每天插入和刪除行)。為每一個處理器定義一個數(shù)據(jù)庫分區(qū)將增加新數(shù)據(jù)插入表中的吞吐量。在數(shù)據(jù)庫分區(qū)中并發(fā)執(zhí)行插入或刪除數(shù)據(jù)流很有道理(例如使用一個關(guān)鍵范圍)。多數(shù)據(jù)庫分區(qū)使為存儲大量插入和刪除操作的數(shù)據(jù)庫的locklist分配足夠的內(nèi)存成為可能。

數(shù)據(jù)庫分區(qū)同時也允許橫跨數(shù)據(jù)庫分區(qū)并行進(jìn)行索引維護(hù)操作(在插入和刪除時)

 

備份與恢復(fù) 多個數(shù)據(jù)庫服務(wù)器之間的分區(qū)數(shù)據(jù)庫可以才很大程度上減少備份數(shù)據(jù)庫所使用的備份總時間。根據(jù)你的環(huán)境,在決定是否對數(shù)據(jù)庫進(jìn)行分區(qū)時這也許是一種重要決定因素。

DB2通過為每一個表空間分配一個獨(dú)立的進(jìn)程或者線程來進(jìn)行并行備份和恢復(fù)。 在一個分區(qū)的備份中,每一個分區(qū)被單獨(dú)的進(jìn)行備份。并行執(zhí)行這些備份操作將會縮短備份整個數(shù)據(jù)庫所耗費(fèi)的時間。

 

一個分區(qū)數(shù)據(jù)庫環(huán)境也可以加速前滾和重新開始(崩潰)恢復(fù)。用DPF,一些必須前滾的日志具體到了每一個數(shù)據(jù)庫分區(qū);數(shù)據(jù)庫分區(qū)服務(wù)器間平衡的分離和征服戰(zhàn)略(divide-and-conquer strategy)加速了這個過程。同時如果一個特定的數(shù)據(jù)庫分區(qū)不需要前滾的話,那么它將在崩潰恢復(fù)中被忽略。

 

記錄一些需要考慮的事情 在一個高度活躍的系統(tǒng)中,數(shù)據(jù)庫日志的性能很可能制約系統(tǒng)的能力。在一個分區(qū)的數(shù)據(jù)庫環(huán)境,每個分區(qū)都有它自己的一組日志。當(dāng)系統(tǒng)需要執(zhí)行高強(qiáng)度的插入、更新或者刪除活動時,多個數(shù)據(jù)庫分區(qū)可能改善性能,因?yàn)槿罩颈徊⑿械膶懭朊總€分區(qū)中,并且在每個分區(qū)較少的記錄日志。

做出選擇

分區(qū)還是不分區(qū)? 從根本上來講,DB2就是DB2。不管你沒有對你的數(shù)據(jù)庫進(jìn)行分區(qū)對于界面、功能、工具和你使用的技能都沒有任何的影響。這事實(shí)上是依靠你的應(yīng)用程序和環(huán)境。使用我們建議的標(biāo)準(zhǔn),你可以發(fā)現(xiàn)問題的答案。

 

 

關(guān)于作者

Dwaine R. Snow DB2 UDB 分區(qū)數(shù)據(jù)庫的產(chǎn)品經(jīng)理,做為加拿大IBMDB2UDB的資訊顧問工作多年,提供數(shù)據(jù)庫和應(yīng)用程序策劃和設(shè)計(jì)、項(xiàng)目策劃和實(shí)施、復(fù)雜在線事務(wù)處理和決策支持系統(tǒng)設(shè)計(jì)、性能調(diào)整以及系統(tǒng)集成的現(xiàn)場指導(dǎo)。你可以通過mrdb2@yahoo.com與他聯(lián)系

 

Paul C. ZikopoulosIBM數(shù)據(jù)管理軟件小組有七年的DB2工作經(jīng)驗(yàn)并且寫了許多文章。他參與寫作了幾本書,包括DB2: The Complete Reference Osborne McGraw-Hill, 2002),和 DB2 Fundamentals Certification for DummiesWiley, 2002)。PaulDB2認(rèn)證高級技術(shù)專家(DRDACluster/EEE領(lǐng)域)和DB2認(rèn)證解決方案專家(商業(yè)智能和數(shù)據(jù)庫管理領(lǐng)域)。你可以通過paulz_ibm@msn.com 與他聯(lián)系。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多