如何進(jìn)行數(shù)據(jù)庫的架構(gòu)整體分析

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何進(jìn)行數(shù)據(jù)庫的架構(gòu)整體分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。

很少談架構(gòu)方面的事情,主要是因為這確實是個對知識面和知識深度要求很高的領(lǐng)域,無論是開發(fā)語言的選擇、代碼的架構(gòu),服務(wù)器的搭配、網(wǎng)絡(luò)的架構(gòu)、數(shù)據(jù)庫的架構(gòu)還是第三方軟件的選用等,每一方面都是個很大的方向,每個方向都值得一個人去研究一輩子;每每看到某某網(wǎng)站的首席架構(gòu)師之類的人(不過很多是海綿派),總覺得那就是樂于做技術(shù)的人的終極目標(biāo),總是有種崇拜感。

限于工作和知識的局限性,以及抱著對各位朋友負(fù)責(zé)的態(tài)度,本文談?wù)摰募軜?gòu)僅限于數(shù)據(jù)庫方面,而且是基于SQLserver數(shù)據(jù)庫來談的,以免誤導(dǎo)各位。

SQLServer

SQLServer經(jīng)過這些年的發(fā)展,其實已經(jīng)有很多很好的技術(shù)可以使用,如Replication、SSB、Cluster、Mirroring等(可以參考我在SQLServerDBA三十問和SQLServer高可用、高性能和高保護(hù)延伸中的一些技術(shù)方面的知識),而且這些技術(shù)在可靠性方面已經(jīng)通過了市場的認(rèn)可,有很多公司在為提高其程序的可靠性、安全性和高效性等方面或多或少的采用了其中的某些技術(shù),以下就我接觸過的這些技術(shù)方面的應(yīng)用,主要針對網(wǎng)站這種流量很大,讀多寫少的應(yīng)用,就數(shù)據(jù)庫架構(gòu)方面做些探討,希望對各位有所幫助,如有不對的地方,歡迎大家指正和交流。

數(shù)據(jù)庫架構(gòu)需要考慮的問題:

數(shù)據(jù)可靠和一致性;

數(shù)據(jù)容災(zāi);

當(dāng)數(shù)據(jù)量和訪問壓力變大時,方便擴充;

高度可用,出問題時能及時恢復(fù),無單點故障;

不應(yīng)因為某一臺機器出現(xiàn)問題,導(dǎo)致整網(wǎng)性能的急劇下降;

方便維護(hù);

關(guān)于下面架構(gòu)的說明:

核心服務(wù)器采用Cluster,還采用了SSD做磁盤陣列(SSD可存放索引等數(shù)據(jù));

核心服務(wù)器的數(shù)據(jù)變更通過SSB,分發(fā)到兩臺Replication的主機中(這一步可以先對數(shù)據(jù)進(jìn)行粗加工,加工成方便用戶查詢的數(shù)據(jù)形式,然后再通過SSB包裝后分發(fā)),使用了兩臺SSB分發(fā)機,既可以分擔(dān)壓力,也可以實現(xiàn)無單點故障;SSB可用保證核心庫的數(shù)據(jù)和Replication主機數(shù)據(jù)一致;當(dāng)然這一步也可以直接使用Replication來實現(xiàn),但對核心服務(wù)器的壓力會有所增加;

接下來將Replication主機的數(shù)據(jù)通過分發(fā)服務(wù)器分別分發(fā)到三臺訂閱機,也就是QUERYDB服務(wù)器;

六臺QUERYDB通過F5控制訪問,同時在前段加了臺MemoryCache的服務(wù)器,增加緩存,減少查詢的壓力(這一部分很多公司使用了搜索引擎方面的技術(shù),將數(shù)據(jù)庫中的數(shù)據(jù)生成XML文件,再通過索引文件來查找數(shù)據(jù));

B3和B4兩臺SSB的作用是做QUERYDB到核心服務(wù)器的SSB消息轉(zhuǎn)發(fā),SSB消息既能從QUERYDB發(fā)送到核心服務(wù)器,同時也能從核心服務(wù)器發(fā)送到QUERYDB;這樣有啥用呢?用處大了,因為核心服務(wù)器只有一臺,我們?nèi)绻丫W(wǎng)站的所有操作都集中到核心服務(wù)器處理,那在業(yè)務(wù)高峰時期,數(shù)據(jù)變更非常頻繁,核心服務(wù)器壓力必定非常大,很可能抗不住,為預(yù)防這樣的問題,我們勢必要把部分壓力分擔(dān)出去,于是我們可以在用戶做注冊、下單等操作時,先將操作放到QUERYDB中,再通過SSB把消息發(fā)送給核心服務(wù)器,核心服務(wù)器接受到SSB消息后,會先放到隊列中,然后一個個處理,這樣核心服務(wù)器就不會因為同時處理過多的請求,而產(chǎn)生當(dāng)機的風(fēng)險,同時核心服務(wù)器處理完信息后,會將這些數(shù)據(jù)的變動通過Replication分發(fā)到每臺QUERYDB中去,這樣QUERYDB的數(shù)據(jù)還是會和核心服務(wù)器保持一致,實現(xiàn)了通過QUERYDB來記錄操作,然后運用SSB技術(shù)來分壓的效果;因為QUERYDB有六臺(還可以擴展),QUERYDB上SSB壓力都分散了,所以也不會給QUERYDB帶來很大的壓力(可能消息會有小的延時,應(yīng)該盡量在SSB通道上使用光纖網(wǎng)絡(luò));即便核心服務(wù)器當(dāng)機了,還是可以進(jìn)行查詢數(shù)據(jù)、注冊和下訂單等操作,SSB會一直保留消息。

上述就是小編為大家分享的如何進(jìn)行數(shù)據(jù)庫的架構(gòu)整體分析了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱:如何進(jìn)行數(shù)據(jù)庫的架構(gòu)整體分析
文章起源:http://bm7419.com/article44/ijpohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、搜索引擎優(yōu)化小程序開發(fā)、網(wǎng)站收錄微信公眾號、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)