新聞中心
一、引言

隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)量越來(lái)越大,單一的數(shù)據(jù)庫(kù)已經(jīng)無(wú)法勝任海量數(shù)據(jù)的存儲(chǔ)和管理,并發(fā)訪問(wèn)的壓力也越來(lái)越大,因此數(shù)據(jù)的分庫(kù)分表和分布式數(shù)據(jù)庫(kù)技術(shù)逐漸成為了數(shù)據(jù)處理的重要手段。本文將從分庫(kù)分表和分布式數(shù)據(jù)庫(kù)的介紹、優(yōu)勢(shì)和應(yīng)用角度加以探討。
二、分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的介紹
1. 分庫(kù)分表
分庫(kù)分表是一種將一個(gè)大的數(shù)據(jù)庫(kù)分成若干個(gè)小的數(shù)據(jù)庫(kù),并將數(shù)據(jù)表劃分到不同的數(shù)據(jù)庫(kù)中的技術(shù)。主要目的是為了解決單一數(shù)據(jù)庫(kù)并發(fā)壓力太大、容量不足、數(shù)據(jù)冗余度高等問(wèn)題。
目前,分庫(kù)分表方案分為兩種,一種是垂直分庫(kù)分表,即按照不同的業(yè)務(wù)功能按需選擇將數(shù)據(jù)表分配給不同的數(shù)據(jù)庫(kù)實(shí)現(xiàn)分離,將一個(gè)龐大的數(shù)據(jù)庫(kù)按功能拆分成多個(gè)小的數(shù)據(jù)庫(kù);另一種是水平分庫(kù)分表,即將同一個(gè)表中的數(shù)據(jù)按照某個(gè)關(guān)鍵字進(jìn)行劃分,不同的劃分結(jié)果放到不同的數(shù)據(jù)庫(kù)中。通過(guò)這樣的方式來(lái)使得數(shù)據(jù)表?xiàng)l目數(shù)相比之前更少。
2. 分布式數(shù)據(jù)庫(kù)
分布式數(shù)據(jù)庫(kù)則是指將一個(gè)數(shù)據(jù)庫(kù)拆分成多個(gè)相同或不同的子數(shù)據(jù)庫(kù),分布在不同的物理服務(wù)器上,通過(guò)數(shù)據(jù)同步和數(shù)據(jù)遷移等技術(shù),形成一個(gè)整體的數(shù)據(jù)庫(kù)系統(tǒng)。分布式數(shù)據(jù)庫(kù)能夠提供更高的容錯(cuò)性和穩(wěn)定性,同時(shí)也可以充分利用硬件資源實(shí)現(xiàn)橫向擴(kuò)展。
三、分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的優(yōu)勢(shì)
1. 數(shù)據(jù)分離
分庫(kù)分表可以根據(jù)業(yè)務(wù)需求將數(shù)據(jù)分離到不同的數(shù)據(jù)庫(kù)中,并通過(guò)不同的實(shí)例承載不同的業(yè)務(wù)模塊。這樣一來(lái),即使某一個(gè)數(shù)據(jù)庫(kù)崩潰,也不會(huì)影響到其他的數(shù)據(jù)庫(kù),大大提高了系統(tǒng)的可用性和穩(wěn)定性。
2. 數(shù)據(jù)水平拆分
分庫(kù)分表通過(guò)水平拆分的方式,將大表分布在多個(gè)節(jié)點(diǎn)上,分散了數(shù)據(jù)壓力,從而減少了單個(gè)庫(kù)表的數(shù)據(jù)量,提高了查詢(xún)和維護(hù)的效率。
3. 監(jiān)控和維護(hù)
分庫(kù)分表使得監(jiān)控和維護(hù)變得更加容易??梢詫?duì)每個(gè)庫(kù)進(jìn)行監(jiān)控,獲取系統(tǒng)狀態(tài),查看錯(cuò)誤日志,進(jìn)行故障排查。同時(shí),可以對(duì)各個(gè)庫(kù)的數(shù)據(jù)進(jìn)行備份、同步、恢復(fù)等操作,進(jìn)行數(shù)據(jù)維護(hù)。
4. 擴(kuò)展性
分布式數(shù)據(jù)庫(kù)可以更加方便地實(shí)現(xiàn)橫向擴(kuò)展,當(dāng)數(shù)據(jù)增加時(shí)可以動(dòng)態(tài)地添加節(jié)點(diǎn),擴(kuò)大整個(gè)數(shù)據(jù)庫(kù)的規(guī)模,這使得數(shù)據(jù)庫(kù)的處理速度更快。
5. 降低成本
通過(guò)分庫(kù)分表實(shí)現(xiàn)數(shù)據(jù)水平拆分,避免了對(duì)單一數(shù)據(jù)庫(kù)進(jìn)行升級(jí)的昂貴成本,也使得系統(tǒng)的維護(hù)成本更低。
四、分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景
1. 大數(shù)據(jù)量系統(tǒng)
如電商平臺(tái)、社交網(wǎng)絡(luò)等大型系統(tǒng),這些系統(tǒng)的數(shù)據(jù)量非常大,單一數(shù)據(jù)庫(kù)已經(jīng)不能滿足需求,因此使用分庫(kù)分表和分布式數(shù)據(jù)庫(kù)能夠更好地處理和管理數(shù)據(jù)。
2. 高并發(fā)系統(tǒng)
如金融系統(tǒng)、在線游戲推薦系統(tǒng)等,這些系統(tǒng)的訪問(wèn)量非常大,需要快速響應(yīng),使用分庫(kù)分表和分布式數(shù)據(jù)庫(kù)能夠平衡系統(tǒng)的負(fù)載,提高訪問(wèn)速度和性能,從而保證服務(wù)的穩(wěn)定性。
3. 分布式存儲(chǔ)系統(tǒng)
如云存儲(chǔ)系統(tǒng)、數(shù)據(jù)備份系統(tǒng)等,這些存儲(chǔ)系統(tǒng)需要支持?jǐn)?shù)據(jù)的分布式存儲(chǔ)和同步,使用分布式數(shù)據(jù)庫(kù)能夠充分利用硬件資源,提高存儲(chǔ)效率和可靠性。
四、
以上,本文從分庫(kù)分表和分布式數(shù)據(jù)庫(kù)的介紹、優(yōu)勢(shì)和應(yīng)用角度進(jìn)行了探討。分庫(kù)分表和分布式數(shù)據(jù)庫(kù)使得數(shù)據(jù)的存儲(chǔ)和處理更為高效和靈活,充分發(fā)揮了硬件資源的作用,提高了系統(tǒng)的可用性和穩(wěn)定性,成為大數(shù)據(jù)時(shí)代必不可少的技術(shù)手段。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專(zhuān)注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220三層結(jié)構(gòu)中數(shù)據(jù)訪問(wèn)層的主要功能是什么
數(shù)據(jù)訪渣洞問(wèn)旅乎層,顧名思義,主要功能是程序于數(shù)據(jù)庫(kù)之拆梁悉間的交互,按照程序的請(qǐng)求對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),并將所請(qǐng)求的數(shù)據(jù)結(jié)果返回給程序
從業(yè)務(wù)規(guī)則層接收請(qǐng)求,從數(shù)據(jù)服務(wù)獲取數(shù)據(jù)或向其發(fā)送數(shù)據(jù)。 使用存儲(chǔ)過(guò)程獲取數(shù)據(jù),并可選用 ADO.NET 向數(shù)據(jù)庫(kù)發(fā)送數(shù)據(jù),將數(shù)據(jù)庫(kù)查詢(xún)結(jié)果辯輪態(tài)返回到業(yè)務(wù)桐喚規(guī)則層,作為ADO.NET 數(shù)據(jù)集。
數(shù)據(jù)數(shù)據(jù)訪問(wèn)層主要看數(shù)據(jù)層里面有沒(méi)有包含邏輯處理,實(shí)際上各個(gè)函數(shù)主要完成各個(gè)對(duì)數(shù)據(jù)文件的操作。而不必管其他操作。業(yè)務(wù)邏輯層主要負(fù)責(zé)對(duì)數(shù)據(jù)層的操作。也就是說(shuō)把一些數(shù)據(jù)層的操作進(jìn)行組合。
擴(kuò)展資料:
注意事項(xiàng):
借鑒多種分布式數(shù)據(jù)庫(kù)訪問(wèn)模式,基于MySQL開(kāi)源協(xié)議,采用數(shù)據(jù)庫(kù)代理方式,形成分布式數(shù)據(jù)庫(kù)中間件解決方案,解決分布式系統(tǒng)數(shù)據(jù)庫(kù)分庫(kù)分表帶來(lái)的數(shù)據(jù)透明訪問(wèn)難題攜源。
在負(fù)載均衡的控制方面,通過(guò)LVS+zookeeper實(shí)現(xiàn)負(fù)載均衡、可設(shè)置權(quán)重實(shí)現(xiàn)灰度發(fā)布,通過(guò)keepalived+VIP消除單點(diǎn)故障隱患。
參考資料來(lái)源:
百度百科-數(shù)據(jù)訪問(wèn)層
三層結(jié)構(gòu)中數(shù)據(jù)訪問(wèn)層的主要功能是實(shí)現(xiàn)數(shù)據(jù)的增加汪汪、刪除、修改、查詢(xún)等操作,并將操作結(jié)果反饋到業(yè)務(wù)邏輯層BBL。
在實(shí)際運(yùn)行的過(guò)程中,數(shù)據(jù)訪問(wèn)層沒(méi)有邏輯判斷能力,為了實(shí)現(xiàn)代碼編寫(xiě)的嚴(yán)謹(jǐn)性,提高代碼閱讀程度,一般軟件開(kāi)發(fā)人員會(huì)在該層中編遲舉寫(xiě)DataAccessCommon,保證數(shù)據(jù)訪問(wèn)層DAL數(shù)據(jù)處理功能。
擴(kuò)展資料:
三層架構(gòu)
業(yè)務(wù)邏輯簡(jiǎn)單;沒(méi)有真正的數(shù)據(jù)存儲(chǔ)層,也就不需要數(shù)據(jù)訪問(wèn)層,這樣簡(jiǎn)單的結(jié)構(gòu)是不需要三層架構(gòu)的。
但是當(dāng)業(yè)務(wù)復(fù)雜到一定程度之后,當(dāng)數(shù)據(jù)存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫(kù)或者獨(dú)立的存儲(chǔ)介質(zhì)時(shí),既有業(yè)務(wù)邏輯層,又有數(shù)據(jù)訪問(wèn)層時(shí),把數(shù)據(jù)訪問(wèn)脫離開(kāi)業(yè)務(wù)邏輯,把業(yè)務(wù)邏輯脫離開(kāi)UI,UI是需要呼叫業(yè)務(wù)訪問(wèn)層困旦仔,就可以實(shí)現(xiàn)與用戶的交互。
與數(shù)據(jù)庫(kù)打交道,也就是訪問(wèn)數(shù)據(jù)庫(kù),一般命名為DBhelper 或者DBbase
論分布式數(shù)據(jù)庫(kù)架構(gòu)的“存”與“算”
作者 石默研
在云計(jì)算基礎(chǔ)設(shè)施IaaS服務(wù)中,“存”與“算”的分界是清晰的,客戶會(huì)分別為“存”與“算”按需消費(fèi)。不只是專(zhuān)門(mén)的存儲(chǔ)服務(wù)如S3、對(duì)象存儲(chǔ)、文件存儲(chǔ)、NAS等,即使是在最基本的虛擬機(jī)服務(wù)ECS上,“存”也需要由消費(fèi)者進(jìn)行選擇,而選擇的對(duì)象是云盤(pán),即位置對(duì)用戶透明,不需要消費(fèi)者關(guān)心是否在計(jì)算節(jié)點(diǎn)的本地:其實(shí)連計(jì)算節(jié)點(diǎn)本身位于何處也是無(wú)需關(guān)心,又何談本地。隨著云計(jì)算服務(wù)的持續(xù)發(fā)展,“存”與“算”的界限,無(wú)論是從消費(fèi)模式上,還是從技術(shù)上,都呈現(xiàn)出越來(lái)越清晰的趨勢(shì)。
而在PaaS層的數(shù)據(jù)庫(kù)服務(wù)中,則出現(xiàn)兩種情況。一種是“存”與“算”也由消費(fèi)者分別選擇并擴(kuò)縮,而另一種則是購(gòu)買(mǎi)服務(wù)時(shí),“存”與“算”是固定捆綁的架構(gòu)組合,可以定義大小,但無(wú)法相對(duì)獨(dú)立地選擇、部署與擴(kuò)縮。
引發(fā)上述數(shù)據(jù)庫(kù)服務(wù)不同消費(fèi)模式的因素,實(shí)質(zhì)上是在云中部署的數(shù)據(jù)庫(kù)產(chǎn)品本身不同的技術(shù)架構(gòu),即“存”“算”分離,或“存”“算”一體。由于對(duì)單體數(shù)據(jù)庫(kù)談“存”與“算”的分離與一體,并沒(méi)有多大意義,因此,主要是針對(duì)分布式數(shù)據(jù)庫(kù)而言,其不同的特性帶來(lái)了業(yè)界較為廣泛的討論。
那么,首先分析一下,在“存”“算”基礎(chǔ)設(shè)施愈來(lái)愈獨(dú)立清晰的趨勢(shì)下,建立在其上的數(shù)據(jù)庫(kù)服務(wù)“存”“算”一體現(xiàn)象從何來(lái)呢?不難發(fā)現(xiàn),云平臺(tái)上這樣的數(shù)據(jù)庫(kù)服務(wù),大多都是基于“從非云環(huán)境中、應(yīng)企業(yè)級(jí)On Premise需求產(chǎn)生與發(fā)展而來(lái)”的數(shù)據(jù)庫(kù)產(chǎn)品。也就是說(shuō),其產(chǎn)品本初的設(shè)計(jì)理念就與“云”無(wú)關(guān),只是后來(lái)為了尋求不同的商業(yè)模式而部署在云上而已;而大多數(shù)“存”“算”分離的數(shù)據(jù)庫(kù)產(chǎn)品,其創(chuàng)始之初,就面向云環(huán)境進(jìn)行設(shè)計(jì)。這里,順便澄清一下現(xiàn)在極為流行的云原生概念,相當(dāng)多的人混淆了云適配部署與云原生的概念,認(rèn)為只要部署在云上,就是云原生了。其實(shí)云原生的概念與其字面意思極為直白契合,就是指在“云環(huán)境”中“原生”的,而不是從別的地方遷來(lái)的,即
“云原生”就是生長(zhǎng)于云上的,而非云原生則是遷移到云上的
。這與要深入理解目前同樣火熱的NFT,就必須先正確理解“區(qū)塊鏈原生”概念的道理是一樣的。
相信現(xiàn)在,關(guān)于“云”的問(wèn)題應(yīng)該是比較清晰了:“存”“算”分離是云原生的架構(gòu),而“存”“算”一體則不是,這一點(diǎn)相信讀者不會(huì)有太多的疑問(wèn)。那么,接下來(lái)的問(wèn)題是:“云原生”就一定好嗎?面向企業(yè)級(jí)的需求,“存”“算”分離與“存”“算”一體孰優(yōu)孰劣?
世界上本來(lái)就沒(méi)有絕對(duì)的好與絕對(duì)的壞,“存”“算”一體架構(gòu)的設(shè)計(jì),也是在滿足企業(yè)需求的過(guò)程中自然產(chǎn)生的,對(duì)分布式數(shù)據(jù)庫(kù)而言,“存”“算”一體的設(shè)計(jì),無(wú)論是對(duì)傳統(tǒng)單體數(shù)據(jù)庫(kù)的替代上,還是對(duì)采用業(yè)務(wù)單元化策略的局部性滿足上,還是對(duì)基于已有成熟數(shù)據(jù)庫(kù)體系以二次開(kāi)發(fā)構(gòu)建分庫(kù)分表數(shù)據(jù)庫(kù)產(chǎn)品的方便性上,都產(chǎn)生了積極的 歷史 作用。在那種情況下,不去考慮“云”的趨勢(shì)與設(shè)計(jì)需求,也是合理的。
然而,過(guò)去幾十年的 歷史 已經(jīng)證明,計(jì)算機(jī)技術(shù)的發(fā)展是極為迅速的,無(wú)論是軟件還是硬件,當(dāng)然包括數(shù)據(jù)庫(kù)技術(shù)同樣如此。
首先,往遠(yuǎn)處看的話:從計(jì)算機(jī)科學(xué)發(fā)展的角度,在云計(jì)算大趨勢(shì)的驅(qū)動(dòng)下,“計(jì)算”與“存儲(chǔ)”技術(shù)相對(duì)獨(dú)立的發(fā)展道路已經(jīng)越來(lái)越明顯,越來(lái)越清晰??梢韵胍?jiàn),未來(lái)“計(jì)算”力相關(guān)的技術(shù)、架構(gòu)與產(chǎn)品必將會(huì)改桐氏發(fā)展到比如今所有極為先進(jìn)的狀態(tài);未來(lái)“存儲(chǔ)”相關(guān)技術(shù)、架構(gòu)與產(chǎn)品也必將會(huì)進(jìn)展到一個(gè)無(wú)法完全預(yù)計(jì)的嶄新階段,同時(shí)越來(lái)越“智能”。并且從目前的形勢(shì)看,這個(gè)未來(lái)并不會(huì)太久遠(yuǎn),“存”“算”分離無(wú)疑是適合那個(gè)未來(lái)的各種可能的,因?yàn)樗旧砭褪菫榇硕模按妗薄八恪币惑w在未來(lái)或許將變得無(wú)從談起;而從國(guó)際上先進(jìn)數(shù)據(jù)庫(kù)技術(shù)發(fā)展的實(shí)際情況來(lái)看,絕大多數(shù)嶄新的、最前沿的數(shù)據(jù)庫(kù)相關(guān)技術(shù)與產(chǎn)品,都是云原生的,換句話說(shuō),都是采用“存”“算”分離的架構(gòu),這一點(diǎn),幾乎少有例外。
(或許可以猜測(cè),把磁盤(pán)掛在本地這種現(xiàn)存核散商業(yè)計(jì)算機(jī)的架構(gòu),也是由企業(yè)/個(gè)體對(duì)計(jì)算機(jī)使用的商業(yè)輪攜模式驅(qū)動(dòng)的,而不一定是技術(shù)驅(qū)動(dòng)的必然結(jié)果)
其次,往近處看:對(duì)企業(yè)級(jí)現(xiàn)階段數(shù)字化轉(zhuǎn)型中,傳統(tǒng)單體數(shù)據(jù)庫(kù)替換的緊迫需求而言,大量的事實(shí)已經(jīng)證明,云原生架構(gòu)的數(shù)據(jù)庫(kù)完全可以滿足各種實(shí)際的業(yè)務(wù)轉(zhuǎn)型需求:
例子還有很多…….
最后還有一點(diǎn)需要強(qiáng)調(diào):對(duì)于那些
將“云”策略當(dāng)成技術(shù)與業(yè)務(wù)核心發(fā)展戰(zhàn)略
的企業(yè)來(lái)講,
云原生架構(gòu)
無(wú)論是面向現(xiàn)在與未來(lái),自然是
最為適合
的;
或許可以這樣說(shuō),“存”“算”一體的架構(gòu)是現(xiàn)代分布式數(shù)據(jù)庫(kù)技術(shù)進(jìn)化過(guò)程中的一個(gè)重要過(guò)渡階段,其 歷史 作用不可否認(rèn),毋庸質(zhì)疑;而不久的將來(lái),分布式數(shù)據(jù)庫(kù)架構(gòu)向云原生快速發(fā)展普及的趨勢(shì)將會(huì)越來(lái)越明顯,步伐將會(huì)越來(lái)越加快……
世界潮流,浩浩蕩蕩;順之者昌,逆之者亡,順應(yīng) 歷史 的潮流與趨勢(shì)的選擇一般都是明智的。
分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于分庫(kù)分表與分布式數(shù)據(jù)庫(kù),淺談分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的優(yōu)勢(shì)與應(yīng)用,三層結(jié)構(gòu)中數(shù)據(jù)訪問(wèn)層的主要功能是什么,論分布式數(shù)據(jù)庫(kù)架構(gòu)的“存”與“算”的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過(guò)多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專(zhuān)業(yè)從事IT產(chǎn)品開(kāi)發(fā)和營(yíng)銷(xiāo)公司。廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)、設(shè)計(jì)、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
網(wǎng)站題目:淺談分庫(kù)分表與分布式數(shù)據(jù)庫(kù)的優(yōu)勢(shì)與應(yīng)用(分庫(kù)分表與分布式數(shù)據(jù)庫(kù))
標(biāo)題來(lái)源:http://www.5511xx.com/article/djsscos.html


咨詢(xún)
建站咨詢(xún)
