新聞中心
一、引言

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


咨詢
建站咨詢
