一般的超大型系統(tǒng)采用雙機(jī)或多機(jī)集群系統(tǒng)。下面以數(shù)據(jù)庫采用ORACLE 8.0.6并行服務(wù)器為例來談?wù)劤笮蛿?shù)據(jù)庫設(shè)計(jì)方法:

·確定系統(tǒng)的ORACLE并行服務(wù)器應(yīng)用劃分策略·數(shù)據(jù)庫物理結(jié)構(gòu)的設(shè)計(jì)·系統(tǒng)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 營銷百科 > 超大型數(shù)據(jù)庫設(shè)計(jì)方法

超大型數(shù)據(jù)庫設(shè)計(jì)方法

時(shí)間:2023-02-23 17:03:02 | 來源:營銷百科

時(shí)間:2023-02-23 17:03:02 來源:營銷百科

超大型數(shù)據(jù)庫設(shè)計(jì)方法:
一般的超大型系統(tǒng)采用雙機(jī)或多機(jī)集群系統(tǒng)。下面以數(shù)據(jù)庫采用ORACLE 8.0.6并行服務(wù)器為例來談?wù)劤笮蛿?shù)據(jù)庫設(shè)計(jì)方法:

ORACLE并行服務(wù)器應(yīng)用劃分策略

ORACLE并行服務(wù)器允許不同節(jié)點(diǎn)上的多個(gè)INSTANCE實(shí)例同時(shí)訪問一個(gè)數(shù)據(jù)庫,以提高系統(tǒng)的可用性、可擴(kuò)展性及性能。ORACLE并行服務(wù)器中的每個(gè)INSTANCE實(shí)例都可將共享數(shù)據(jù)庫中的表或索引的數(shù)據(jù)塊讀入本地的緩沖區(qū)中,這就意味著一個(gè)數(shù)據(jù)塊可存在于多個(gè)INSTANCE實(shí)例的SGA區(qū)中。那么保持這些緩沖區(qū)的數(shù)據(jù)的一致性就很重要。ORACLE 使用 PCM( Parallel Cache Management) 鎖維護(hù)緩沖區(qū)的一致性,ORACLE同時(shí)通過IDLM( 集成的分布式鎖管理器)實(shí)現(xiàn)PCM 鎖,并通過專門的LCK進(jìn)程實(shí)現(xiàn)INSTANCE實(shí)例間的數(shù)據(jù)一致。
考慮這種情況:INSTANCE1對BLOCK X塊修改,這時(shí)INSTANCE2對BLOCK X塊也需要修改。ORACLE并行服務(wù)器利用PCM鎖機(jī)制,使BLOCK X從INSTANCE 1的SGA區(qū)寫入數(shù)據(jù)庫數(shù)據(jù)文件中,又從數(shù)據(jù)文件中把BLOCK X塊讀入INSTANCE2的SGA區(qū)中。發(fā)生這種情況即為一個(gè)PING。PING使原來1個(gè)MEMORY IO可以完成的工作,變成2個(gè)DISK IO和1個(gè) MEMORY IO才能夠完成,如果系統(tǒng)中有過多的PING,將大大降低系統(tǒng)的性能。

ORACLE并行服務(wù)器中的每個(gè)PCM鎖可管理多個(gè)數(shù)據(jù)塊。PCM鎖管理的數(shù)據(jù)塊的個(gè)數(shù)與分配給一個(gè)數(shù)據(jù)文件的PCM鎖的個(gè)數(shù)及該數(shù)據(jù)文件的大小有關(guān)。當(dāng)INSTANCE 1和INSTANCE 2要操作不同的BLOCK,如果這些BLOCK 是由同一個(gè)PCM 鎖管理的,仍然會發(fā)生PING。這些PING稱為FALSE PING。當(dāng)多個(gè)INSTANCE訪問相同的BLOCK而產(chǎn)生的PING是TRUE PING。

合理的應(yīng)用劃分使不同的應(yīng)用訪問不同的數(shù)據(jù),可避免或減少TRUE PING;通過給FALSE PING較多的數(shù)據(jù)文件分配更多的PCM鎖可減少 FALSE PING的次數(shù),增加PCM鎖不能減少TRUE PING。

所以,ORACLE并行服務(wù)器設(shè)計(jì)的目的是使系統(tǒng)交易處理合理的分布在INSTANCE實(shí)例間,以最小化PING,同時(shí)合理的分配PCM鎖,減少FALSEPING。設(shè)計(jì)的關(guān)鍵是找出可能產(chǎn)生的沖突,從而決定應(yīng)用劃分的策略。應(yīng)用劃分有如下四種方法:

應(yīng)用劃分的兩個(gè)重要原則是使PING最小化及使各節(jié)點(diǎn)的負(fù)載大致均衡。

數(shù)據(jù)庫物理結(jié)構(gòu)的設(shè)計(jì)

數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)包括確定表及索引的物理存儲參數(shù),確定及分配數(shù)據(jù)庫表空間,確定初始的回滾段,臨時(shí)表空間,redo log files等,并確定主要的初始化參數(shù)。物理設(shè)計(jì)的目的是提高系統(tǒng)的性能。整個(gè)物理設(shè)計(jì)的參數(shù)可以根據(jù)實(shí)際運(yùn)行情況作調(diào)整。

● 表及索引數(shù)據(jù)量估算及物理存儲參數(shù)的設(shè)置

表及索引的存儲容量估算是根據(jù)其記錄長度及估算的最大記錄數(shù)確定的。在容量計(jì)算中考慮了數(shù)據(jù)塊的頭開銷及記錄和字段的頭開銷等等。表及索引的initial和next存儲參數(shù)一般設(shè)為相等,pctincrease設(shè)為0。

● 表空間的設(shè)計(jì)

ORACLE數(shù)據(jù)庫的表和索引是透過表空間tablespace存儲在數(shù)據(jù)庫中的。在tablespace設(shè)計(jì)時(shí)一般作以下考慮:

  1. 一般較大的表或索引單獨(dú)分配一個(gè)tablespace。
  2. Read only對象或Read mostly對象分成一組,存在對應(yīng)的tablespace中。
  3. 若tablespace中的對象皆是read only對象,可將tablespace設(shè)置成read only模式,在備份時(shí),read only tablespace只需備份一次。
  4. 高頻率insert的對象分成一組,存在對應(yīng)的tablespace中。
  5. 增、刪、改的對象分成一組,存在對應(yīng)的tablespace中。
  6. 表和索引分別存于不同的tablespace。
  7. 存于同一個(gè) tablespace中的表(或索引)的extent 大小最好成倍數(shù)關(guān)系,有利于空間的重利用和減少碎片。
● DB BLOCK SIZE

超大型數(shù)據(jù)庫DB BLOCK SIZE一般在4KB 至 64KB,而最常用的是8KB、 16KB或32KB。選用較大的DB BLOCK SIZE可使INDEX的高度降低,也會提高IO效率。

● Redo Log Files

ORACLE 使用專用的進(jìn)程redo log writer (LGWR)將日志寫入日志文件。一般日志文件最好建在專用的鏡像盤上。日志文件組的個(gè)數(shù)及文件的大小的設(shè)定與系統(tǒng)交易量的大小有關(guān)。ORACLE并行服務(wù)器中每個(gè)INSTANCE使用各自的一組rego log files。一般的每組日志文件的個(gè)數(shù)為3-7個(gè),每個(gè)的大小為200MB-500MB。

● 數(shù)據(jù)文件大小

建議用標(biāo)準(zhǔn)的文件大小,如200M、1GB、2GB、4GB、8GB等,可簡化空間的維護(hù)工作。

● 回滾段

回滾段一般建在專用的表空間中。每一個(gè)INSTANCE實(shí)例擁有各自的回滾段。設(shè)置回滾段的一般原則是: initial 及 next 存儲參數(shù)的值是相等的,同時(shí)還是DB BLOCK SIZE的倍數(shù)。每個(gè)回滾段的minextents設(shè)為20,optimal參數(shù)的值保證回滾段縮小時(shí)不低于20個(gè)extents。

●臨時(shí)表空間

臨時(shí)表空間一般建在專用的表空間中。每一個(gè)INSTANCE實(shí)例擁有各自的臨時(shí)表空間。這樣使用臨時(shí)表空間時(shí)不會有PING。設(shè)置臨時(shí)表空間的initial=next。

系統(tǒng)硬盤的劃分及分配

在多機(jī)集群環(huán)境下,ORACLE并行服務(wù)器通過操作系統(tǒng)提供的DRD服務(wù)來共享同一個(gè)數(shù)據(jù)庫。每一個(gè)INSTANCE對數(shù)據(jù)庫的數(shù)據(jù)文件的訪問都是通過該數(shù)據(jù)文件所在的DRD服務(wù)進(jìn)行的。

考慮以下情況:主機(jī)1上有DRD服務(wù)1,該服務(wù)對應(yīng)的數(shù)據(jù)文件有1、2、13、35、67等,這時(shí)如果主機(jī)2上的INSTANCE2需要讀取數(shù)據(jù)文件13,通過DRD服務(wù)調(diào)度,主機(jī)1通過DRD服務(wù)訪問磁盤陣列上的數(shù)據(jù)文件13,把INSTANCE2需要的數(shù)據(jù)讀到內(nèi)存,然后通過MEMORY IO把數(shù)據(jù)傳到主機(jī)2的INSTANCE2。寫操作是讀操作的逆過程。

通過以上分析可知,系統(tǒng)硬盤的劃分及分配的原則是盡量減少M(fèi)EMORY IO。

備份及恢復(fù)策略的考慮

數(shù)據(jù)庫的備份與恢復(fù)在系統(tǒng)設(shè)計(jì)中占很重要的地位。好的備份及恢復(fù)策略可以降低系統(tǒng)的運(yùn)行風(fēng)險(xiǎn),減少因硬件故障而造成的損失。[1]

1.ORACLE備份方法:

物理備份將數(shù)據(jù)庫的物理文件通過操作系統(tǒng)的命令或工具備份到備份介質(zhì)上。物理備份往往用于存儲介質(zhì)故障時(shí)恢復(fù)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)。

根據(jù)數(shù)據(jù)庫運(yùn)行方式的不同,可進(jìn)行不同的物理備份:

a)物理冷備份(offline backup)

物理冷備份要求數(shù)據(jù)庫在關(guān)閉(所有INSTANCEs停止)的情況下進(jìn)行。這種備份必須是完全備份,即需備份所有的數(shù)據(jù)文件、控制文件(control file)、日志文件(redo log file)、初始參數(shù)文件等等。

物理冷備份的步驟簡單,但要求系統(tǒng)能夠停止。

b)物理熱備份(online backup)

物理熱備份是在數(shù)據(jù)庫系統(tǒng)正常運(yùn)行的情況下進(jìn)行的數(shù)據(jù)庫備份。這種備份可以是數(shù)據(jù)庫的部分備份,既備份數(shù)據(jù)庫的某個(gè)表空間(tablespace)或某個(gè)數(shù)據(jù)文件(datafile),也可備份控制文件(control file)。

物理熱備份要求數(shù)據(jù)庫在ARCHIVELOG模式下運(yùn)行。這種備份一般用于應(yīng)用系統(tǒng)不能停機(jī)的情況。

c)歸檔日志文件備份(archived log file backup)

要使數(shù)據(jù)庫系統(tǒng)能夠恢復(fù)到故障點(diǎn)前一時(shí)刻狀態(tài),或恢復(fù)到某指定時(shí)刻狀態(tài),數(shù)據(jù)庫必須采用ARCHIVELOG模式。在ARCHIVELOG模式下,數(shù)據(jù)庫系統(tǒng)會產(chǎn)生歸檔日志文件(archive log files)。歸檔日志文件也需備份到備份介質(zhì)上。在恢復(fù)時(shí),這些文件可使數(shù)據(jù)庫恢復(fù)到最近狀態(tài)。

歸檔日志文件產(chǎn)生在指定目錄下,這些文件一生成就可以備份到備份介質(zhì)上,DBA可根據(jù)磁盤空間情況,定時(shí)將它們備份出去。

2.邏輯備份

邏輯備份是通過ORACLE提供的Export工具,將數(shù)據(jù)庫的結(jié)構(gòu)定義及其數(shù)據(jù)卸出到特定格式的文件中,并備份該文件。

在實(shí)際應(yīng)用中,邏輯備份與物理備份并用。一般來說,物理備份用于磁盤介質(zhì)損壞或數(shù)據(jù)文件損壞;邏輯備份用于數(shù)據(jù)庫中的某些對象被破壞或用戶誤操作。

備份策略的考慮主要在以下三個(gè)方面:

● 存儲空間

● 對現(xiàn)行運(yùn)行的系統(tǒng)的性能影響

● 恢復(fù)時(shí)間的影響

如果需要節(jié)省空間和恢復(fù)時(shí)間就需要增加備份的頻率,但是備份操作會明顯增加現(xiàn)行運(yùn)行的系統(tǒng)的負(fù)載。

ORACLE的恢復(fù)方法

根據(jù)不同的備份方法采用不同的恢復(fù)方法。

使用物理備份恢復(fù)

ORACLE提供了三種恢復(fù)手段:

1、數(shù)據(jù)庫級的恢復(fù)

2、表空間(Tablespace)的恢復(fù)

3、數(shù)據(jù)文件的恢復(fù)

數(shù)據(jù)庫級的恢復(fù)要求數(shù)據(jù)庫在關(guān)閉但Mount的狀態(tài)下進(jìn)行。表空間及數(shù)據(jù)文件的恢復(fù)可在數(shù)據(jù)庫運(yùn)行的狀態(tài)下進(jìn)行。

使用邏輯備份恢復(fù)

當(dāng)數(shù)據(jù)庫中的某一對象被損壞,或用戶的誤操作使數(shù)據(jù)破壞(如誤刪表) 時(shí)可用邏輯備份恢復(fù)。用邏輯備份只能恢復(fù)到備份時(shí)刻的狀態(tài)。

關(guān)鍵詞:設(shè)計(jì),方法,數(shù)據(jù),大型

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉