版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 銀行跨數(shù)據(jù)中心數(shù)據(jù)庫雙活架構(gòu)設(shè)計(jì) 難點(diǎn)一:數(shù)據(jù)庫雙活,如何解決幾十公里延時(shí)帶來的性能問題?分享一:幾十公里的延時(shí)主要表現(xiàn)在兩方面,一個(gè)是存儲(chǔ)雙寫延遲,一個(gè)是節(jié)點(diǎn)通信延遲。從存儲(chǔ)延時(shí)來說首先要做到本地讀。這個(gè)在GPFS文件系統(tǒng)里是可以做到的。其次是增大緩存,減少同步寫的次數(shù)。對(duì)于數(shù)據(jù)庫里的大對(duì)象,最好使用inline的方式放在常規(guī)表空間里,或者存放在開啟了文件緩存的表空間里。對(duì)于數(shù)據(jù)庫日志,一定要設(shè)置足夠的日志緩沖池,避免因?yàn)榫彌_池不夠發(fā)生的同步寫。在通信的延遲上,我們需要做到的是盡量減少通信。所以要想辦法解決熱點(diǎn)數(shù)據(jù)問題。同時(shí)能夠本地訪問和緩沖的都要想辦法實(shí)現(xiàn)。例如推薦采用客戶端偏好鏈接?;?/p>
2、于current member來組織表和數(shù)據(jù)等等。(孔再華)有個(gè)問題,由于CF節(jié)點(diǎn)只有一個(gè),對(duì)于寫來說,必然存在兩個(gè)站點(diǎn)的DB2 MEMBER都同時(shí)需要通過RDMA訪問CF節(jié)點(diǎn)GBP,本地來說,問題不存在,跨站點(diǎn)RDMA訪問的話,這個(gè)通信耗時(shí)和性能是否需要重點(diǎn)關(guān)注?(鄧毓)你說的非常正確,跨站點(diǎn)的member和CF通信需求是雙活環(huán)境調(diào)優(yōu)的關(guān)鍵。所以這個(gè)就是重點(diǎn)關(guān)注的對(duì)象,要減少這種交互。數(shù)據(jù)庫提供了mon_get_cf等相關(guān)表函數(shù)能夠抓取CF的功能和耗時(shí),進(jìn)而分析是什么操作最慢,能不能減少或者調(diào)整。(孔再華)分享二:我從Oracle數(shù)據(jù)庫層RAC說一下吧,個(gè)人比較喜歡用ASM,用ASM可以解決
3、一部分性能問題,之所以說一部分是因?yàn)锳SM也只能解決讀的問題;由于距離產(chǎn)生的延遲,那么最好的辦法就是不縮短距離,這個(gè)好像是廢話,但是對(duì)于Oracle ASM的 redundancy來說其實(shí)是可以做到的,比如創(chuàng)建Oracle ASM的磁盤組的時(shí)候選擇的是Normal redundancy的方式,那么磁盤組就會(huì)至少有2個(gè)failure group ,而我們可以把2個(gè)failure group里的物理盤手工的劃分到不同的物理位置,一般雙活都有2個(gè)機(jī)房,那么一個(gè)failure group里放一個(gè)機(jī)房的磁盤,另外一個(gè)fialure group里放置另外一個(gè)機(jī)房的磁盤,這樣雙活也就實(shí)現(xiàn)了,但是隨即而來的問
4、題就是物理距離的增加和光信號(hào)的衰減和傳輸?shù)男阅芙档?,Oracle ASM考慮到提升一部分功能,在參數(shù)里提供了asm_preferred_read_failure_groups這個(gè)參數(shù),也就是說當(dāng)做物理讀的時(shí)候每一個(gè)機(jī)房里的節(jié)點(diǎn)(RAC節(jié)點(diǎn))都可以配置自己優(yōu)先讀的“機(jī)房” ,這樣可以保證“讀”不受“距離”的影響,但是“寫” 是必須要在雙節(jié)點(diǎn)都完成的,所以對(duì)于ASM來說對(duì)于“寫”也沒有特別好的辦法解決距離產(chǎn)生的延遲。 當(dāng)然這個(gè)時(shí)候如果RAC的節(jié)點(diǎn)的使用和劃分以及應(yīng)用層的布置是都慎重考慮的,否則有可能會(huì)出現(xiàn)本來業(yè)務(wù)應(yīng)該登陸節(jié)點(diǎn)1 而因?yàn)榕渲脝栴}缺被隨機(jī)分到了節(jié)點(diǎn)2,那這個(gè)時(shí)候反而適得其反。(liuh
5、efromoracle)分享三:數(shù)據(jù)雙活和網(wǎng)絡(luò)延遲的性能問題是一個(gè)很難平衡的問題。常見的方案是采用專線連接,更快的服務(wù)器,優(yōu)化的網(wǎng)絡(luò)基礎(chǔ)設(shè)施和應(yīng)用,而且?guī)资锏木嚯x只能算同城,對(duì)于數(shù)據(jù)雙活而言并不是很大的問題,當(dāng)然也可以選擇較近的距離作為數(shù)據(jù)中心位置。(韓成亮)分享四:數(shù)據(jù)寫到主服務(wù)器,commit時(shí)復(fù)制到從服務(wù)器。復(fù)制完畢commit完成。只有commit有性能問題,是批量操作性質(zhì),可以把通信開銷降到最低。但是如果有鎖,鎖的傳遞需要時(shí)間。復(fù)制時(shí)如果從服務(wù)器失效,操作應(yīng)該依然成功,要在主服務(wù)器記錄從服務(wù)器遺漏事務(wù)。待從服務(wù)器復(fù)活,回復(fù)遺漏事務(wù)。如果寫幾千條記錄到主服務(wù)器,這期間沒有復(fù)制開銷。
6、在commit時(shí)復(fù)制,產(chǎn)生一個(gè)批量傳輸,開銷是很小的。但是如果主機(jī)從機(jī)都在錄入數(shù)據(jù),他們之間是否有重復(fù)記錄是不易檢測的。一個(gè)辦法是commit時(shí)檢測,重復(fù)數(shù)據(jù)導(dǎo)致commit失敗。如果在恢復(fù)遺漏事務(wù)時(shí)發(fā)生重復(fù)記錄啦,唯一的辦法是拋棄重復(fù)記錄。所以主從系統(tǒng)需要階段性一致性檢查,如果有不一致數(shù)據(jù),以時(shí)間戳最新的為準(zhǔn)。(匿名用戶)難點(diǎn)二:如何解決熱點(diǎn)數(shù)據(jù)在雙活環(huán)境的問題?分享一:熱點(diǎn)數(shù)據(jù)是指當(dāng)前業(yè)務(wù)頻繁訪問的數(shù)據(jù)。如果是單節(jié)點(diǎn)數(shù)據(jù)庫,這些數(shù)據(jù)集中在一起可以提高緩沖池命中率。但是在集群環(huán)境恰恰相反!不同數(shù)據(jù)庫成員節(jié)點(diǎn)訪問同樣的熱點(diǎn)數(shù)據(jù)會(huì)產(chǎn)生競爭問題。所以在集群環(huán)境,需要考慮熱點(diǎn)數(shù)據(jù)的分布。大的page
7、size會(huì)存放更多的row,會(huì)有更大的概率產(chǎn)生競爭。所以在集群環(huán)境,盡量使用小的pagesize, 例如4K。而對(duì)于熱點(diǎn)表,我們可用通過在使用分區(qū)表等數(shù)據(jù)庫技術(shù)來從物理上打散當(dāng)前的熱點(diǎn)數(shù)據(jù)。例如我們?cè)谟?jì)費(fèi)系統(tǒng)的雙活環(huán)境里面,針對(duì)熱點(diǎn)的日志表,傳統(tǒng)分區(qū)表一般使用時(shí)間列來組合數(shù)據(jù),而我們是用了current member這個(gè)變量和序列號(hào)組合,做了個(gè)隱藏列,實(shí)現(xiàn)本地節(jié)點(diǎn)插入數(shù)據(jù)落在自己單獨(dú)的分區(qū)里,同時(shí)本地分區(qū)也是被輪詢使用,徹底打散熱點(diǎn)數(shù)據(jù)。部分定義如下:SERIALIZED_REQUEST BLOB(1048576) INLINE LENGTH 1000 LOGGED NOT COMPACT ,
8、CURMEM SMALLINT IMPLICITLY HIDDEN WITH DEFAULT CURRENT NODE ,IDKEY SMALLINT IMPLICITLY HIDDEN GENERATED ALWAYS AS (MOD(ID,10) + MOD(CURMEM,4)*10) )COMPRESS YES ADAPTIVEINDEX IN TBS_LOG_IDX_4K PARTITION BY RANGE(IDKEY)(PART PART0 STARTING(0) IN TBS_LOG_DAT INDEX IN TBS_LOG_IDX_4K LONG IN TBS_CLOB_DAT
9、,對(duì)于熱點(diǎn)表的熱點(diǎn)索引,建議使用分區(qū)索引,random索引等方式。也可以加入current member列作為索引的一部分,從而減少成員節(jié)點(diǎn)間的競爭。(孔再華)分享二:主要是通過部署負(fù)載均衡設(shè)備,當(dāng)然熱點(diǎn)數(shù)據(jù)的可以通過讀寫分離和緩存來實(shí)現(xiàn),業(yè)務(wù)層面或者架構(gòu)層面的調(diào)整其實(shí)是最簡潔有效的。(馮帥)難點(diǎn)三:在雙活環(huán)境應(yīng)該怎么設(shè)計(jì)數(shù)據(jù)庫對(duì)象?分享一:其實(shí)作為雙活環(huán)境不可避免的存在很多問題,比如說網(wǎng)絡(luò)延遲,熱點(diǎn)數(shù)據(jù),數(shù)據(jù)耦合等,其實(shí)最主要是數(shù)據(jù)的一致性,作為雙中心的環(huán)境,我們需要保證數(shù)據(jù)庫的一致性,這個(gè)就要求我們?cè)谠O(shè)計(jì)表或者其他對(duì)象的時(shí)候需要考慮這方面可能出現(xiàn)的問題,加強(qiáng)對(duì)于業(yè)務(wù)維護(hù)時(shí)間戳的維護(hù),同時(shí)減
10、少雙數(shù)據(jù)中心的單個(gè)時(shí)間點(diǎn)的高數(shù)據(jù)交互,對(duì)業(yè)務(wù)邏輯進(jìn)行拆分打散,避免大事務(wù)對(duì)復(fù)制延遲的影響,這就要求我們?cè)谠O(shè)計(jì)表的時(shí)候需要進(jìn)行更加細(xì)致的拆分,特別是對(duì)于熱點(diǎn)數(shù)據(jù),盡量使用緩存處理。(韓成亮)難點(diǎn)四:本地?cái)?shù)據(jù)庫雙活的異地容災(zāi)該怎么做?分享一:數(shù)據(jù)庫雙活環(huán)境做異地容災(zāi)就是選擇如何復(fù)制數(shù)據(jù)。復(fù)制數(shù)據(jù)有兩種方式,一種是通過存儲(chǔ)復(fù)制,另一種是通過數(shù)據(jù)庫復(fù)制技術(shù)。存儲(chǔ)復(fù)制只需要復(fù)制單數(shù)據(jù)中心的數(shù)據(jù),在異地搭建同架構(gòu)的集群環(huán)境(可以使輕量級(jí)的,資源配置不要求一致)。我行就有系統(tǒng)通過SRDF存儲(chǔ)異步復(fù)制技術(shù)將數(shù)據(jù)復(fù)制到異地。數(shù)據(jù)庫復(fù)制技術(shù)更推薦使用。因?yàn)閿?shù)據(jù)集復(fù)制技術(shù)能夠規(guī)避存儲(chǔ)復(fù)制壞塊的風(fēng)險(xiǎn)。同時(shí)對(duì)網(wǎng)絡(luò)帶寬的
11、壓力也小很多(只復(fù)制變化的日志)。這個(gè)是更加推薦的方式。(孔再華)分享二:異地容災(zāi)主要看你需要實(shí)現(xiàn)什么樣的級(jí)別。常見的容災(zāi)方案有1 基于存儲(chǔ)層的容災(zāi)復(fù)制方案2 基于邏輯卷的容災(zāi)復(fù)制方案3 基于log的邏輯復(fù)制方式(ORACLE REDO、MYSQL binlog)4 還有一些第三方的軟件5 自己開發(fā)的一些腳本或者工具其實(shí),總的來說,本地?cái)?shù)據(jù)庫雙活的異地容災(zāi),單活異地容災(zāi)最大的區(qū)別在于,你以哪個(gè)為主,同步的頻率,同時(shí),如果你的環(huán)境已經(jīng)是雙活,那么異地容災(zāi)說白了僅僅是一個(gè)冷備。至于如何做,需要切合你的業(yè)務(wù)需求。(韓成亮)難點(diǎn)五:有沒有針對(duì)雙活環(huán)境的數(shù)據(jù)庫開發(fā)規(guī)范?分享一:在雙活環(huán)境大部分開發(fā)規(guī)范是
12、和單機(jī)數(shù)據(jù)庫的開發(fā)規(guī)范一樣的,但是有寫針對(duì)這個(gè)環(huán)境特點(diǎn)的開發(fā)規(guī)范:事務(wù)處理設(shè)計(jì):盡量避免熱點(diǎn)數(shù)據(jù)和不必要的數(shù)據(jù)重復(fù)訪問。例如計(jì)費(fèi)系統(tǒng)的查重,入表,更新表等操作,可以改變?yōu)樽詈笾徊迦胍粭l最終的記錄。盡量將業(yè)務(wù)分表。例如計(jì)費(fèi)里面將不同的業(yè)務(wù)計(jì)入不同的流水表里面。合理設(shè)計(jì)索引。不要建立不必要的索引,適當(dāng)使用聚合索引。批處理:由于CF通信和存儲(chǔ)復(fù)制的延時(shí),雙活環(huán)境的單個(gè)事務(wù)會(huì)比單機(jī)版慢,所以批處理建議通過提高并發(fā)的方式來加快處理速度。拆分批處理,將單次批拆成多個(gè)批一起跑。例如一天的歸檔拆成按照小時(shí)的歸檔。作業(yè)拆分,使用跟多并發(fā)的方式處理單個(gè)批處理。報(bào)表:在雙活環(huán)境里面運(yùn)行實(shí)時(shí)報(bào)表需要慎重,防止GBP的
13、DE空間被占滿。盡量避免出現(xiàn)全表掃描的報(bào)表。合理安排利用索引,減少記錄掃描數(shù)量。(孔再華)分享二:其實(shí)還有一些更加嚴(yán)格的安全規(guī)范,行為規(guī)范1. 表結(jié)構(gòu)變更必須通知DBA進(jìn)行審核。2. 禁止有super權(quán)限的應(yīng)用程序賬號(hào)存在。3. 禁止有DDL、DCL權(quán)限的應(yīng)用程序賬號(hào)存在。4. 重要項(xiàng)目的數(shù)據(jù)庫方案選型和設(shè)計(jì)必須提前通知DBA參與。5. 批量導(dǎo)入、導(dǎo)出數(shù)據(jù)必須通過DBA審核,并在執(zhí)行過程中觀察服務(wù)。6. 批量更新數(shù)據(jù),如UPDATE、DELETE操作,必須DBA進(jìn)行審核,并在執(zhí)行過程中觀察服務(wù)。7. 產(chǎn)品出現(xiàn)非數(shù)據(jù)庫導(dǎo)致的故障時(shí),如被攻擊,必須及時(shí)通DBA,便于維護(hù)服務(wù)穩(wěn)定。8. 業(yè)務(wù)部門程序出現(xiàn)BUG等影響數(shù)據(jù)庫服務(wù)的問題,必須及時(shí)通知DBA,便于維護(hù)服務(wù)穩(wěn)定。9. 業(yè)務(wù)部門推廣活動(dòng)或上線新功能,必須提前通知DBA進(jìn)行服務(wù)和訪問量評(píng)估,并留出必要時(shí)間以便DBA完成擴(kuò)容。10. 出現(xiàn)業(yè)務(wù)部門人為誤操作導(dǎo)致
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商平臺(tái)100%股權(quán)出讓協(xié)議3篇
- 2024某書法家與某拍賣行之間關(guān)于書法作品拍賣之合作協(xié)議
- 廣西桂林市2025年中考語文模擬試題三套【附參考答案】
- 18書湖陰先生壁 說課稿-2024-2025學(xué)年六年級(jí)上冊(cè)語文統(tǒng)編版
- 2024年運(yùn)動(dòng)場地使用權(quán)轉(zhuǎn)讓合同
- 16《朱德扁擔(dān)》第一課時(shí) 說課稿-2024-2025學(xué)年語文二年級(jí)上冊(cè)統(tǒng)編版
- 2024文化墻環(huán)保材料供應(yīng)及安裝一體化工程合同3篇
- 2024年通信行業(yè)保密合同精簡版范文版
- 2024浴池租賃合同-溫泉度假村合作管理服務(wù)協(xié)議3篇
- 2024某電商平臺(tái)與某物流公司關(guān)于2024年物流服務(wù)合同
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運(yùn)營管理限公司招聘專業(yè)技術(shù)人才5名高頻重點(diǎn)提升(共500題)附帶答案詳解
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 思想政治試卷(含答案)
- 2024年民法典知識(shí)競賽考試題庫及答案(共50題)
- 綜合測試 散文閱讀(多文本)(解析版)-2025年高考語文一輪復(fù)習(xí)(新高考)
- 福建省能化集團(tuán)筆試題目
- 中考英語688高頻詞大綱詞頻表
- 手糊補(bǔ)強(qiáng)工A卷考試 (1)附有答案
- 西師版五年級(jí)數(shù)學(xué)上冊(cè)期末測試題(共6頁)
- 工地設(shè)計(jì)代表服務(wù)記錄
- (初中語文)“國培計(jì)劃”——農(nóng)村中小學(xué)中青年骨干教師置換脫產(chǎn)研修項(xiàng)目申報(bào)書2
- 競聘活動(dòng)的簡報(bào)3篇
評(píng)論
0/150
提交評(píng)論