數(shù)據(jù)庫(kù)高并發(fā)升級(jí)方案_第1頁(yè)
數(shù)據(jù)庫(kù)高并發(fā)升級(jí)方案_第2頁(yè)
數(shù)據(jù)庫(kù)高并發(fā)升級(jí)方案_第3頁(yè)
數(shù)據(jù)庫(kù)高并發(fā)升級(jí)方案_第4頁(yè)
數(shù)據(jù)庫(kù)高并發(fā)升級(jí)方案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

XXXXXXXXXXXX平臺(tái)數(shù)據(jù)庫(kù)升級(jí)方案XXXXXXXXXXXXXXX有限公司2016年11月28日

修訂記錄版本說(shuō)明作者批準(zhǔn)批準(zhǔn)日期V1.0對(duì)升級(jí)方案進(jìn)行編制XXXX2016年12月1日1TOC\o"1-5"\h\z\o"CurrentDocument"概述 4\o"CurrentDocument"概述 4\o"CurrentDocument"背景 4\o"CurrentDocument"目標(biāo)與目的 .4\o"CurrentDocument"可行性分析 4\o"CurrentDocument"參考依據(jù) 5\o"CurrentDocument"數(shù)據(jù)庫(kù)高并發(fā)方案 5\o"CurrentDocument"數(shù)據(jù)庫(kù)均衡負(fù)載(RAC) 5\o"CurrentDocument"數(shù)據(jù)庫(kù)主從部署 8\o"CurrentDocument"數(shù)據(jù)庫(kù)垂直分割 9\o"CurrentDocument"數(shù)據(jù)庫(kù)水平分割 10\o"CurrentDocument"數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì) 11\o"CurrentDocument"數(shù)據(jù)庫(kù)集群 11\o"CurrentDocument"重點(diǎn)業(yè)務(wù)表分區(qū) 11\o"CurrentDocument"任務(wù)表歷史數(shù)據(jù)分割 12\o"CurrentDocument"數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化 12\o"CurrentDocument"數(shù)據(jù)訪問(wèn)優(yōu)化 12\o"CurrentDocument"實(shí)施方案 13\o"CurrentDocument"工作量及預(yù)算評(píng)估 14工作量及預(yù)算評(píng)估 14其他費(fèi)用 151.概述背景隨著XXXXXX平臺(tái)及其他子系統(tǒng)業(yè)務(wù)量增多,且用戶(hù)已面向各地州市,用戶(hù)數(shù)量增大,現(xiàn)有的二代辦公平臺(tái)及其他子系統(tǒng)在單一環(huán)境下的架構(gòu)體系和數(shù)據(jù)庫(kù)架構(gòu)體系也無(wú)法高效的知足如此的場(chǎng)景。當(dāng)前XXXXXX平臺(tái)及其子系統(tǒng)通過(guò)搭建多臺(tái)WEB服務(wù)器和雙機(jī)熱備份的方式進(jìn)行部署運(yùn)行。雖已提高了整體效率,但對(duì)于部份的業(yè)務(wù)處置仍是未解決。部份業(yè)務(wù)量并發(fā)處置多,業(yè)務(wù)關(guān)聯(lián)多等因素,致使對(duì)數(shù)據(jù)庫(kù)并發(fā)處置的業(yè)務(wù)量大,讀寫(xiě)量大等也無(wú)法用雙機(jī)熱備份進(jìn)行解決。因此,在此背景下提高數(shù)據(jù)庫(kù)訪問(wèn)效率,增大訪問(wèn)吞吐量等將成為二代辦公平臺(tái)及其子系統(tǒng)運(yùn)行順暢的關(guān)鍵因素。目標(biāo)與目的目標(biāo):依托現(xiàn)有系統(tǒng)服務(wù)和設(shè)備環(huán)境,成立可擴(kuò)容、高并發(fā)、高吞吐量的數(shù)據(jù)庫(kù)架構(gòu)體系。目的:為減緩當(dāng)前XXXXXX平臺(tái)機(jī)械及其他子系統(tǒng)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)過(guò)大,造成的訪問(wèn)效率低下的問(wèn)題,提升數(shù)據(jù)庫(kù)訪問(wèn)效率和并發(fā)效率。對(duì)部份業(yè)務(wù)繁雜的表和訪問(wèn)進(jìn)行優(yōu)化設(shè)計(jì),減緩因此造成的利用效率低下問(wèn)題。可行性分析數(shù)據(jù)庫(kù)性能分析:按照當(dāng)前的數(shù)據(jù)庫(kù)性能分析,當(dāng)前硬件設(shè)備的提高也無(wú)法知足數(shù)據(jù)庫(kù)性能的提升,因此應(yīng)考慮數(shù)據(jù)庫(kù)訪問(wèn)控制和數(shù)據(jù)訪問(wèn)方面進(jìn)行優(yōu)化?,F(xiàn)有的數(shù)據(jù)庫(kù)雖也實(shí)現(xiàn)雙機(jī)熱備份,但訪問(wèn)的效率未較大改善,因此應(yīng)考慮各健全的數(shù)據(jù)庫(kù)高并發(fā)訪問(wèn)方案。數(shù)據(jù)庫(kù)優(yōu)化分析:當(dāng)前的數(shù)據(jù)庫(kù)采用的ORACLE數(shù)據(jù)庫(kù),同時(shí),現(xiàn)有的均衡負(fù)載、讀寫(xiě)分離、數(shù)據(jù)分割技術(shù)較為成熟,在對(duì)系統(tǒng)進(jìn)行適當(dāng)調(diào)整和優(yōu)化的情形下,能保證系統(tǒng)的正常運(yùn)行。參考依據(jù)《OracleRAC核心技術(shù)詳解》數(shù)據(jù)庫(kù)高并發(fā)方案數(shù)據(jù)庫(kù)均衡負(fù)載(RAC)RAC,全稱(chēng)realapplicationclusters,譯為“實(shí)時(shí)應(yīng)用集群”,是Oracle新版數(shù)據(jù)庫(kù)中采用的一項(xiàng)新技術(shù),是高可用性的一種,也是支持環(huán)境的核心技術(shù)。OracleRAC主要支持Oracle9i、10g、11g版本,能夠支持24x7有效的,在低本錢(qián)上構(gòu)建高可用性,而且自由部署應(yīng)用,無(wú)需修改代碼。在OracleRAC環(huán)境下,Oracle集成提供了軟件和存儲(chǔ)管理軟件,為用戶(hù)降低了應(yīng)用本錢(qián)。當(dāng)應(yīng)用規(guī)模需要擴(kuò)充時(shí),用戶(hù)能夠按需擴(kuò)展系統(tǒng),以保證系統(tǒng)的性能。RAC是一種并行模式,并非是傳統(tǒng)的主備模式。也就是說(shuō),RAC集群的所有成員都能夠同時(shí)接收客戶(hù)端的請(qǐng)求。RAC具有以下特點(diǎn):雙機(jī)并行:RAC是一種充分利用服務(wù)器資源的高可用性實(shí)現(xiàn)方案,RAC的并行模式實(shí)現(xiàn)方式與傳統(tǒng)的雙機(jī)熱備實(shí)現(xiàn)方式截然不同,圖1-1是二者的比較。如圖1-1所示,兩個(gè)節(jié)點(diǎn)在傳統(tǒng)的雙機(jī)熱備環(huán)境中,始終有一臺(tái)機(jī)械作為備用機(jī),只有當(dāng)主節(jié)點(diǎn)出現(xiàn)問(wèn)題的時(shí)候才會(huì)切換到備用機(jī)上;若是主機(jī)一直沒(méi)有出現(xiàn)問(wèn)題,那么備用機(jī)始終處于空閑狀態(tài),這在資源的利用上和本錢(qián)方面都是龐大的浪費(fèi)。但RAC是一種并行模式的架構(gòu),也就是說(shuō),兩個(gè)節(jié)點(diǎn)的集群節(jié)點(diǎn)間是一種并行運(yùn)行的關(guān)系,當(dāng)一臺(tái)機(jī)械出現(xiàn)問(wèn)題,請(qǐng)求會(huì)自動(dòng)轉(zhuǎn)發(fā)到另一臺(tái)機(jī)械,沒(méi)有任何一臺(tái)機(jī)械作為備用機(jī)一直不被利用,如此就充分利用了服務(wù)器資源。同時(shí),傳統(tǒng)的雙機(jī)熱備構(gòu)架在出現(xiàn)問(wèn)題時(shí),常常需要數(shù)分鐘的切換時(shí)刻,而RAC在出現(xiàn)問(wèn)題時(shí),針對(duì)存在的會(huì)話(huà)只需要數(shù)十秒的時(shí)刻就可以夠完成失敗切換進(jìn)程,對(duì)新會(huì)話(huà)的創(chuàng)建不會(huì)產(chǎn)生影響,在切換時(shí)刻上也有比較大的優(yōu)勢(shì)。

哭敗切換▲圖1-1雙機(jī)熱備與哭敗切換▲圖1-1雙機(jī)熱備與RAC并行模式對(duì)比共享存儲(chǔ)雙機(jī)熱備共享存儲(chǔ)RAC高可用性:RAC是Oracle數(shù)據(jù)庫(kù)高可用性解決方案。高可用性包括兩部份的內(nèi)容:第一是在這種解決方案下要確保數(shù)據(jù)不丟失,這是最基礎(chǔ)的也是必需要保證的;第二是確保不斷機(jī),使Oracle數(shù)據(jù)庫(kù)一直維持在正常的運(yùn)行狀態(tài),避免停機(jī)給客戶(hù)帶來(lái)的損失,這是討論最多的內(nèi)容。停機(jī)一般分為兩類(lèi),計(jì)劃停機(jī)和非計(jì)劃停機(jī)。所謂計(jì)劃停機(jī)是有計(jì)劃地安排節(jié)點(diǎn)或系統(tǒng)的停機(jī),一般在Oracle升級(jí)、系統(tǒng)保護(hù)或硬件保護(hù)的情形下會(huì)出現(xiàn)。非計(jì)劃停機(jī)就是在非人為計(jì)劃的情形下突然停機(jī),這種情形一般是在Oraclebug、系統(tǒng)故障、硬件故障或人為操作失敗的時(shí)候出現(xiàn)。在沒(méi)有較高花費(fèi)的情形下,想實(shí)現(xiàn)系統(tǒng)100%的不斷機(jī)幾乎是不可能的。表1-1列出了特定百分比高可用性比率運(yùn)行停機(jī)的時(shí)刻,詳細(xì)記錄了每種高可用性比率每一年、每一個(gè)月、每周能夠出現(xiàn)最大的停機(jī)時(shí)刻。囊1-1悻京百分比岬r用性比率運(yùn)物機(jī)劄時(shí)間莽年停瑚何母周承間必天1皿天Mr卜阡Wd期實(shí)熟7翌天LJ時(shí)刮1M則乳球7.楠小時(shí)1燦湖引泓L-E供5網(wǎng)小射50.4^#n牯孔垮神30k盼香外W($啊3一網(wǎng)倒10L*|>分■棘Z如凡個(gè)?}既4玷仲L(H分牌網(wǎng)一鱷必(54^}睇麗5秒&&凝如55?個(gè)9}4”秒2.!^通常情形下,以每一個(gè)月停機(jī)時(shí)刻來(lái)計(jì)算對(duì)應(yīng)的可用性比率。按照系統(tǒng)的重要性情形,應(yīng)該為系統(tǒng)設(shè)定合理的可用性比率。集群最大的優(yōu)勢(shì)在于它的高可用性,通過(guò)利用RAC能夠在必然程度上避免因?yàn)橛布蜍浖收弦l(fā)的數(shù)據(jù)丟失和非計(jì)劃停機(jī),并在必然程度上減少或排除計(jì)劃停機(jī)時(shí)刻。這是很多客戶(hù)選擇RAC的最直接原因。RAC中包括了超級(jí)多的高可用特性,主要包括如下幾點(diǎn):?實(shí)現(xiàn)節(jié)點(diǎn)間的負(fù)載均衡。?實(shí)現(xiàn)失敗切換的功能。?通過(guò)Service組件來(lái)控制客戶(hù)端的訪問(wèn)路徑。?集群軟件能夠自動(dòng)化管理各個(gè)資源,而且有按時(shí)的節(jié)點(diǎn)狀態(tài)檢測(cè)機(jī)制,能自動(dòng)對(duì)一些失敗的進(jìn)程和心跳檢測(cè)失敗的節(jié)點(diǎn)進(jìn)行重啟,使其從頭恢復(fù)到正常的運(yùn)行狀態(tài)。在Oracle11gR2版本中,Clusterware取得了改善,提供了更高的可用性。例如,大量新的基于代理的監(jiān)控系統(tǒng)用于監(jiān)控所有的資源。這些代理利用更少的資源執(zhí)行更頻繁的檢查,即更快速的失敗掃描和更短的恢復(fù)時(shí)刻。在Oracle監(jiān)聽(tīng)的例子中,平均失敗掃描時(shí)刻從5分鐘減少到30秒,同時(shí),檢查距離從每10分鐘減少到1分鐘。另外,Clusterware的“Out-of-PlaceUpgrade"等特性也減少了軟件保護(hù)需要的停機(jī)時(shí)刻。易伸縮性:RAC為需要從頭計(jì)劃的應(yīng)用提供了易擴(kuò)展性。為了在系統(tǒng)初始階段維持較低的本錢(qián),避免造成沒(méi)必要要的浪費(fèi),集群能夠依照標(biāo)準(zhǔn)硬件配置,選擇適當(dāng)?shù)姆?wù)器資源、存儲(chǔ)資源來(lái)搭建數(shù)據(jù)庫(kù)環(huán)境。當(dāng)系統(tǒng)需要更多的處置能力或需要增加存儲(chǔ)時(shí),通過(guò)添加另一臺(tái)服務(wù)器或存儲(chǔ)設(shè)備到集群中,能夠在不斷機(jī)的情形下取得水平的擴(kuò)展。在一個(gè)集群中,Clusterware和RAC支持多達(dá)100個(gè)集群節(jié)點(diǎn)。當(dāng)某個(gè)集群的處置能力多余,另一個(gè)集群的處置能力不夠時(shí),能夠從處置能力多余的集群移動(dòng)一個(gè)節(jié)點(diǎn)處處置能力不夠的集群中。如此能夠充分利用服務(wù)器資源,節(jié)約本錢(qián)。11gR2版本中推出了網(wǎng)格即插即用(GridPlugandPlay,GPnP),能夠?qū)崿F(xiàn)節(jié)點(diǎn)的快速添加。低本錢(qián):通過(guò)量臺(tái)普通的PC服務(wù)器組成一個(gè)集群,能夠提高集群的處置能力,如此要比采用一臺(tái)高性能的服務(wù)器的本錢(qián)低很多。若是想提高系統(tǒng)的處置能力,給集群添加節(jié)點(diǎn)比為高性能服務(wù)器添加硬件要容易患多。另外,利用集群還能動(dòng)態(tài)地移除節(jié)點(diǎn),加倍充分地利用管理者掌握的所有服務(wù)器資源,從服務(wù)器整體利用上降低了服務(wù)器的采購(gòu)本錢(qián)。愈來(lái)愈多的企業(yè)愿意將集群解決方案應(yīng)用到他們的系統(tǒng)中,以降低本錢(qián),提高系統(tǒng)的可用性。高吞吐量:RAC是由多臺(tái)服務(wù)器組成的邏輯主體,比單臺(tái)數(shù)據(jù)庫(kù)服務(wù)器能接收更多的客戶(hù)端請(qǐng)求。這在要求高吞吐量的系統(tǒng)中,能夠取得超級(jí)明顯的表現(xiàn)。在RAC的架構(gòu)中,多個(gè)實(shí)例散布在多個(gè)服務(wù)器上,能同時(shí)打開(kāi)同一個(gè)數(shù)據(jù)庫(kù),而每一個(gè)實(shí)例能夠接收相等數(shù)量的客戶(hù)端請(qǐng)求,如此,隨著服務(wù)器的增加,吞吐量也在不斷地增加。數(shù)據(jù)庫(kù)主從部署主從復(fù)制:幾乎所有的主流數(shù)據(jù)庫(kù)都支持復(fù)制,這是進(jìn)行數(shù)據(jù)庫(kù)簡(jiǎn)單擴(kuò)展的大體手腕。Oracle的主從復(fù)制可采用DataGuarc技術(shù)DataGuard是Oracle數(shù)據(jù)庫(kù)自帶的數(shù)據(jù)同步功能,大體原理是將日記文件從原數(shù)據(jù)庫(kù)傳輸?shù)侥繕?biāo)數(shù)據(jù)庫(kù),然后在目標(biāo)數(shù)據(jù)庫(kù)上應(yīng)用(Apply)這些日記文件,從而使目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)維持同步。DataGuard提供了三種日記傳輸(RedoTransport)方式,別離是ARCH傳輸、LGWR同步傳輸和LGWR異步傳輸。在上述三種日記傳輸方式的基礎(chǔ)上,提供了三種數(shù)據(jù)保護(hù)模式,即最大性能(MaximumPerformanceMode)、最大保護(hù)(MaximumProtectionMode)和最大可用(MaximumAvailabilityMode),

其中最大保護(hù)模式和最大可用模式要求日記傳輸必需用LGWR同步傳輸方式,最大性能模式下可用任何一種日記傳輸方式。讀寫(xiě)分離:讀寫(xiě)分離是架構(gòu)散布式系統(tǒng)的一個(gè)重要思想。很多系統(tǒng)整體處置能力并非能同業(yè)務(wù)的增加維持同步,因此必將會(huì)帶來(lái)瓶頸,單純的升級(jí)硬件并非能一勞永逸。針對(duì)業(yè)務(wù)類(lèi)型特點(diǎn),需要從架構(gòu)模式上進(jìn)行一系列的調(diào)整,比如業(yè)務(wù)模塊的分割,數(shù)據(jù)庫(kù)的拆分等等。/格讀* 分寓后,可以把查珂援ft■色缺于詼著環(huán)/格讀* 分寓后,可以把查珂援ft■色缺于詼著環(huán)itORACLZIIMj韋生產(chǎn)坪境IBM蟲(chóng)知HL.?」牌數(shù)據(jù)庫(kù)垂直分割主從部署數(shù)據(jù)庫(kù)中,當(dāng)寫(xiě)操作占了主數(shù)據(jù)庫(kù)的CPU消耗的50%以上的時(shí)候,咱們?cè)僭黾訌姆?wù)器的意義就不是專(zhuān)門(mén)大了,因?yàn)樗械膹姆?wù)器的寫(xiě)操作也將占到CPU消耗的50%以上,一臺(tái)從服務(wù)器提供出來(lái)查詢(xún)的資源超級(jí)有限。數(shù)據(jù)庫(kù)就需要從頭架構(gòu)了,咱們需要采用數(shù)據(jù)庫(kù)垂直分區(qū)技術(shù)啦。最簡(jiǎn)單的垂直分區(qū)方式是將原來(lái)的數(shù)據(jù)庫(kù)中獨(dú)立的業(yè)務(wù)進(jìn)行分拆(被分拆出來(lái)的部份與其它部份不需要進(jìn)行Join連接查詢(xún)操作),比如WEB站點(diǎn)的BLOG和論壇,是相對(duì)獨(dú)立的,與其它的數(shù)據(jù)的關(guān)聯(lián)性不是很強(qiáng),這時(shí)能夠?qū)⒃瓉?lái)的數(shù)據(jù)庫(kù)拆分為一個(gè)BLog庫(kù),一個(gè)論壇庫(kù),和剩余的表所組成的庫(kù)。這三個(gè)庫(kù)再各行其是主從數(shù)據(jù)庫(kù)方式部署,如此整個(gè)數(shù)據(jù)庫(kù)的壓力就分擔(dān)啦。另外查詢(xún)擴(kuò)展性也是采用數(shù)據(jù)庫(kù)分區(qū)最主要的原因之一。將一個(gè)大的數(shù)據(jù)庫(kù)分成多個(gè)小的數(shù)據(jù)庫(kù)能夠提高查詢(xún)的性能,因?yàn)槊恳粋€(gè)數(shù)據(jù)庫(kù)分區(qū)擁有自己的一小部份數(shù)據(jù)。假設(shè)您想掃描1億條記錄,對(duì)一個(gè)單一分區(qū)的數(shù)據(jù)庫(kù)來(lái)講,該掃描操作需要數(shù)據(jù)庫(kù)管理器獨(dú)立掃描一億條記錄,若是您將數(shù)據(jù)庫(kù)系統(tǒng)做成50個(gè)分區(qū),并將這1億條記錄平均分派到這50個(gè)分區(qū)上,那么每一個(gè)數(shù)據(jù)庫(kù)分區(qū)的數(shù)據(jù)庫(kù)管理器將只掃描200萬(wàn)記錄。數(shù)據(jù)庫(kù)水平分割在數(shù)據(jù)庫(kù)的垂直分區(qū)以后,假設(shè)咱們的BLOG庫(kù)又再次無(wú)法承擔(dān)寫(xiě)操作的時(shí)候,咱們又該怎么辦呢?數(shù)據(jù)庫(kù)垂直分區(qū)這種擴(kuò)展方式又無(wú)能為力了,咱們需要的是水平分區(qū)。水平分區(qū)意味著咱們能夠?qū)⑼粋€(gè)數(shù)據(jù)庫(kù)表中的記錄通過(guò)特定的算法進(jìn)行分離,別離保留在不同的數(shù)據(jù)庫(kù)表中,從而能夠部署在不同的數(shù)據(jù)庫(kù)服務(wù)器上。很多的大規(guī)模的站點(diǎn)大體上都是主從復(fù)制+垂直分區(qū)+水平分區(qū)如此的架構(gòu)。水平分區(qū)并非依賴(lài)什么特定的技術(shù),完盡是邏輯層面的計(jì)劃,需要的是經(jīng)驗(yàn)和業(yè)務(wù)的細(xì)分。如何分區(qū)呢?對(duì)于大型的WEB站點(diǎn)來(lái)講,必需分區(qū),而且對(duì)于分區(qū)咱們沒(méi)有選擇的余地,對(duì)于那些頻繁訪問(wèn)致使站點(diǎn)接近崩潰的熱點(diǎn)數(shù)據(jù),咱們必需分區(qū)。在對(duì)數(shù)據(jù)分區(qū)的時(shí)候,咱們必需要存在一個(gè)分區(qū)索引字段,比如USER_ID,它必需和所有的記錄都存在關(guān)系,是分區(qū)數(shù)據(jù)庫(kù)中的核心表的主鍵,在其它表中作為外鍵,而且在利用主鍵的時(shí)候,該主鍵不能是自增加的,必需是業(yè)務(wù)主鍵才能夠。余數(shù)分區(qū):咱們能夠?qū)ser_ID%10后的值為依據(jù)存入到不同的分區(qū)數(shù)據(jù)庫(kù)中,該算法簡(jiǎn)單高效,可是在分區(qū)數(shù)據(jù)庫(kù)個(gè)數(shù)有變更的時(shí)候,整個(gè)系統(tǒng)的數(shù)據(jù)需要從頭散布。范圍分區(qū):咱們能夠?qū)ser_ID的范圍進(jìn)行分區(qū),比如1-100000范圍為一個(gè)分區(qū)數(shù)據(jù)庫(kù),100001-200000范圍為一個(gè)分區(qū)數(shù)據(jù)庫(kù),該算法在分區(qū)數(shù)據(jù)庫(kù)個(gè)數(shù)有變更的時(shí)候,系統(tǒng)超級(jí)有利于擴(kuò)展,可是容易致使不同分區(qū)之間的壓力不同,比如老用戶(hù)所在的分區(qū)數(shù)據(jù)庫(kù)的壓力專(zhuān)門(mén)大,可是新用戶(hù)的分區(qū)數(shù)據(jù)庫(kù)的壓力偏小。映射關(guān)系分區(qū):將對(duì)分區(qū)索引字段的每一個(gè)可能的結(jié)果創(chuàng)建一個(gè)分區(qū)映射關(guān)系,那個(gè)映射關(guān)系超級(jí)龐大,需要將它們寫(xiě)入數(shù)據(jù)庫(kù)中。比如當(dāng)應(yīng)用程序需要明白User_id為10的用戶(hù)的BLOG內(nèi)容在那個(gè)分區(qū)時(shí),它必需查詢(xún)數(shù)據(jù)庫(kù)獲取答案,固然,咱們能夠利用緩存來(lái)提高性能。這種方式詳細(xì)保留了每一個(gè)記錄的分區(qū)對(duì)應(yīng)關(guān)系,所以各個(gè)分區(qū)有超級(jí)強(qiáng)的可伸縮性,能夠靈活的控制,而且將數(shù)據(jù)庫(kù)從一個(gè)分區(qū)遷移到另一個(gè)分區(qū)也很簡(jiǎn)單,也能夠使各個(gè)分區(qū)通過(guò)靈活的動(dòng)態(tài)調(diào)節(jié)來(lái)維持壓力的散布平衡。數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì)數(shù)據(jù)庫(kù)集群數(shù)據(jù)庫(kù)集群高可用的方案主要有三種:RAC、DataGuard、MAA。其中:RAC在多個(gè)Oracle服務(wù)器組成一個(gè)共享的Cache,而這些Oracle服務(wù)器共享一個(gè)基于網(wǎng)絡(luò)的存儲(chǔ)。那個(gè)系統(tǒng)能夠容忍單機(jī)/或是多機(jī)失敗。不過(guò)系統(tǒng)內(nèi)部的多個(gè)節(jié)點(diǎn)需要高速網(wǎng)絡(luò)互連,大體上也就是要全數(shù)東西放在在一個(gè)機(jī)房?jī)?nèi),或說(shuō)一個(gè)數(shù)據(jù)中心內(nèi)。DataGuard那個(gè)方案就適合多機(jī)房的。某機(jī)房一個(gè)production的數(shù)據(jù)庫(kù),另外其他機(jī)房部署standby的數(shù)據(jù)庫(kù)。Standby數(shù)據(jù)庫(kù)分物理的和邏輯的。物理的standby數(shù)據(jù)庫(kù)主要用于production失敗后做切換。而邏輯的standby數(shù)據(jù)庫(kù)則在平時(shí)能夠分擔(dān)production數(shù)據(jù)庫(kù)的讀負(fù)載。MAA(MaximumAvailabilityArchitecture)其實(shí)不是獨(dú)立的第三種,而是前面兩種的結(jié)合,來(lái)提供最高的可用性。重點(diǎn)業(yè)務(wù)表分區(qū)當(dāng)表中的數(shù)據(jù)量不斷增大,查詢(xún)數(shù)據(jù)的速度就會(huì)變慢,應(yīng)用程序的性能就會(huì)下降,這時(shí)就應(yīng)該考慮對(duì)表進(jìn)行分區(qū)。表進(jìn)行分區(qū)后,邏輯上表仍然是一張完整的表,只是將表中的數(shù)據(jù)在物理上寄存到多個(gè)表空間(物理文件上),如此查詢(xún)數(shù)據(jù)時(shí),不至于每次都掃描整張表。表分區(qū)的類(lèi)型及操作方式主要包括范圍分區(qū)、列表分區(qū)、散列分區(qū)等,其中:范圍分區(qū)將數(shù)據(jù)基于范圍映射到每一個(gè)分區(qū),那個(gè)范圍是你在創(chuàng)建分區(qū)時(shí)指定的分區(qū)鍵決定的。這種分區(qū)方式是最為常常利用的,而且分區(qū)鍵常常采用日期。列表分區(qū)的特點(diǎn)是某列的值只有幾個(gè),基于如此的特點(diǎn)咱們能夠采用列表分區(qū),比如地域。散列分區(qū)是在列值上利用散列算法,以肯定將行放入哪個(gè)分區(qū)中。當(dāng)列的值沒(méi)有適合的條件時(shí),建議利用散列分區(qū)。散列分區(qū)為通過(guò)指定分區(qū)編號(hào)來(lái)均勻散布數(shù)據(jù)的一種分區(qū)類(lèi)型,因?yàn)橥ㄟ^(guò)在I/O設(shè)備上進(jìn)行散列分區(qū),使得這些分區(qū)大小一致。任務(wù)表歷史數(shù)據(jù)分割現(xiàn)有的任務(wù)表SA_TASK任務(wù)繁重,數(shù)據(jù)冗余,大體上的流程操作都在該表,二代辦公開(kāi)發(fā)平臺(tái)(x5)以對(duì)此也進(jìn)行了升級(jí)優(yōu)化,就是將任務(wù)表已完結(jié)的歷史數(shù)據(jù)單獨(dú)寄存,縮小任務(wù)表的數(shù)據(jù)量,提高查詢(xún)的效率。正在辦理的任務(wù)數(shù)據(jù)寄存與SA_TASK表中,辦理辦結(jié)后則清除并寄存于SA_TASK_HISTORY(歷史表)中。如此SA_TASK中只有正在辦理的數(shù)據(jù),將大大降低數(shù)據(jù)冗余的情形,同時(shí)提高SA_TASK表的讀寫(xiě)能力。而查詢(xún)經(jīng)辦文件時(shí)可查詢(xún)SA_TASK_HISTORY(歷史表),與頻繁操作的SA_TASK區(qū)分開(kāi)更易讀取。數(shù)據(jù)庫(kù)表結(jié)構(gòu)優(yōu)化隨著省廳的業(yè)務(wù)量增大,最初的結(jié)構(gòu)設(shè)計(jì)和調(diào)整使數(shù)據(jù)庫(kù)表結(jié)構(gòu)變得冗余,存在部份非表主要的屬性,同時(shí)業(yè)務(wù)表結(jié)構(gòu)過(guò)大,單條數(shù)據(jù)的字節(jié)數(shù)已超過(guò)1萬(wàn)多字節(jié),因此在查詢(xún)進(jìn)程中也會(huì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論