杭州信用網(wǎng)官網(wǎng)小程序seo推廣技巧
🚀 ShardingSphere 🚀 |
🌲 算法刷題專欄 | 面試必備算法 | 面試高頻算法 🍀
🌲 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣?
🌲 作者簡(jiǎn)介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者🏆,保研|國(guó)家獎(jiǎng)學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗(yàn)分享|好用的網(wǎng)站工具分享💎💎💎
🌲 恭喜你發(fā)現(xiàn)一枚寶藏博主,趕快收入囊中吧🌻
🌲 人生如棋,我愿為卒,行動(dòng)雖慢,可誰曾見我后退一步?🎯🎯
🚀 ShardingSphere 🚀 |
🍔 目錄
- 🍀 一.海量數(shù)據(jù)存儲(chǔ)問題及解決方案
- 🥦 1.1 遇到的問題
- 🥦 1.2 解決方案
- 🍀 二.項(xiàng)目架構(gòu)演變 - > 數(shù)據(jù)庫架構(gòu)演變
- 🥦 2.1 單體應(yīng)用架構(gòu) - v1
- 🥦 2.2 集群架構(gòu) - v2
- 🥦 2.3 集群架構(gòu)(主從復(fù)制+讀寫分離)- v3
- 🥦 2.4 集群架構(gòu)(主從復(fù)制+讀寫分離+緩存) - v4
- 🍀 三.總結(jié)
- 💬 四.共勉
🍀 一.海量數(shù)據(jù)存儲(chǔ)問題及解決方案
隨著大數(shù)據(jù)時(shí)代的到來,如何存儲(chǔ)海量數(shù)據(jù)成為我們面臨的一個(gè)重要的問題,數(shù)據(jù)的量級(jí)也是成指數(shù)的增長(zhǎng),從GB到TB到PB,傳統(tǒng)單體的關(guān)系性數(shù)據(jù)庫已經(jīng)無法滿足需求。
🥦 1.1 遇到的問題
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在處理海量數(shù)據(jù)時(shí)遇到了諸多挑戰(zhàn),例如性能瓶頸、存儲(chǔ)空間浪費(fèi)、擴(kuò)展性差、用戶請(qǐng)求量大等等問題。
🥦 1.2 解決方案
合理的數(shù)據(jù)庫架構(gòu)能夠提升數(shù)據(jù)庫的性能,如分布式、主從同步、分庫分表等方式。
🍀 二.項(xiàng)目架構(gòu)演變 - > 數(shù)據(jù)庫架構(gòu)演變
項(xiàng)目整體架構(gòu)的演變流程如下圖所示:
注意:下面的內(nèi)容主要學(xué)習(xí)的是在整個(gè)項(xiàng)目架構(gòu)演變過程中,【數(shù)據(jù)庫架構(gòu)】技術(shù)的演變過程!
🥦 2.1 單體應(yīng)用架構(gòu) - v1
此時(shí)項(xiàng)目是一個(gè)單體應(yīng)用架構(gòu),我們經(jīng)常會(huì)在單臺(tái)服務(wù)器上運(yùn)行我們所有的程序和軟件。
在項(xiàng)目運(yùn)行初期,各種表都會(huì)存儲(chǔ)在同一個(gè)數(shù)據(jù)庫中,每個(gè)表都包含了大量的字段。在用戶量比較少,訪問量也比較少的時(shí)候,單庫單表不存在問題。
存在的問題
因?yàn)闄C(jī)器都是單臺(tái),隨著我們業(yè)務(wù)規(guī)模的增長(zhǎng),慢慢的我們的網(wǎng)站就會(huì)出現(xiàn)一些瓶頸和隱患問題。
🥦 2.2 集群架構(gòu) - v2
隨著訪問量的繼續(xù)不斷增加,單臺(tái)應(yīng)用服務(wù)器已經(jīng)無法滿足我們的需求。所以我們通過增加應(yīng)用服務(wù)器的方式來將服務(wù)器集群化。
存在的問題
采用了應(yīng)用服務(wù)器高可用集群的架構(gòu)之后,應(yīng)用層的性能會(huì)得到明顯的提升,但是數(shù)據(jù)庫的負(fù)載也在增加,隨著訪問量的提高,所有的壓力都將集中在數(shù)據(jù)庫這一層。
🥦 2.3 集群架構(gòu)(主從復(fù)制+讀寫分離)- v3
應(yīng)用層的性能得到明顯的提升,但是數(shù)據(jù)庫的負(fù)載壓力在增大,那如何去提高數(shù)據(jù)庫層面的性能呢?
我們可以使用主從復(fù)制+讀寫分離一定程度上可以解決問題。
存在的問題
隨著用戶量的增加、訪問量的增加、數(shù)據(jù)量的增加依然會(huì)帶來大量的問題,所以我們還需要進(jìn)行改進(jìn)。
🥦 2.4 集群架構(gòu)(主從復(fù)制+讀寫分離+緩存) - v4
隨著訪問量的持續(xù)不斷增加,比如我們電商項(xiàng)目中的秒殺活動(dòng),會(huì)出現(xiàn)許多用戶訪問同一內(nèi)容的情況,出現(xiàn)大量的熱點(diǎn)數(shù)據(jù),對(duì)于這些熱點(diǎn)數(shù)據(jù)的訪問,如果每次都去數(shù)據(jù)庫中進(jìn)行查詢的話,那么會(huì)對(duì)我們的數(shù)據(jù)庫造成極大的壓力,所有我們沒必要每次都從數(shù)據(jù)庫重讀取,這時(shí)我們可以使用到緩存技術(shù)。
存在的問題
緩存只能緩解讀取壓力,數(shù)據(jù)庫的寫入壓力還是很大;隨著數(shù)據(jù)量的繼續(xù)增大,性能還是很緩慢
🍀 三.總結(jié)
系統(tǒng)架構(gòu)從v1演變到v4這個(gè)階端,所有的數(shù)據(jù)都還在同一個(gè)數(shù)據(jù)庫中,雖然我們采取了集群化、主從復(fù)制、讀寫分離、增加緩存的方式,但是隨著數(shù)據(jù)庫的壓力持續(xù)增加,數(shù)據(jù)庫的瓶頸仍然是個(gè)最大的問題。為了解決這個(gè)問題,接下來我們將學(xué)習(xí)對(duì)數(shù)據(jù)庫的庫和表進(jìn)行垂直拆分和水平拆分。
💬 四.共勉
最后,我想和大家分享一句一直激勵(lì)我的座右銘,希望可以與大家共勉! |