亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

數(shù)據(jù)庫(kù)高并發(fā)解決方法總結(jié)

Developer / 1241人閱讀

摘要:前言一個(gè)項(xiàng)目剛開(kāi)始的時(shí)候是為了實(shí)現(xiàn)基本功能,隨著版本和功能的迭代,大數(shù)據(jù)和高并發(fā)成了軟件設(shè)計(jì)必須考慮的問(wèn)題本質(zhì)很簡(jiǎn)單,一個(gè)是慢,一個(gè)是等。不過(guò)需要有機(jī)制維持緩存和數(shù)據(jù)庫(kù)的一致性。

[TOC]

前言

一個(gè)項(xiàng)目剛開(kāi)始的時(shí)候是為了實(shí)現(xiàn)基本功能,隨著版本和功能的迭代,大數(shù)據(jù)和高并發(fā)成了軟件設(shè)計(jì)必須考慮的問(wèn)題!

本質(zhì)很簡(jiǎn)單,一個(gè)是慢,一個(gè)是等。

兩者是相互關(guān)聯(lián)的,因?yàn)槁?,所以要等,因?yàn)榈?,所以慢,解決了慢,也就解決了等,解決了等,也就解決了慢。

關(guān)鍵是如何解決慢和等,

核心 一個(gè)是短,一個(gè)是少,一個(gè)是分流,最后一個(gè)是集群/橫向擴(kuò)張/讀寫(xiě)分離/建立主從

是指路徑要短

頁(yè)面靜態(tài)化- 用戶可以直接獲取頁(yè)面,不用走那么多流程,比較適用于頁(yè)面不頻繁更新。

使用緩存- 第一次獲取數(shù)據(jù)從數(shù)據(jù)庫(kù)準(zhǔn)提取,然后保存在緩存中,以后就可以直接從緩存提取數(shù)據(jù)。不過(guò)需要有機(jī)制維持緩存和數(shù)據(jù)庫(kù)的一致性。

使用儲(chǔ)存過(guò)程-那些處理一次請(qǐng)求需要多次訪問(wèn)數(shù)據(jù)庫(kù)的操作,可以把操作整合到儲(chǔ)存過(guò)程,這樣只要一次數(shù)據(jù)庫(kù)訪問(wèn)就可以了。

批量讀取 - 高并發(fā)情況下,可以把多個(gè)請(qǐng)求的查詢合并到一次進(jìn)行,以減少數(shù)據(jù)庫(kù)的訪問(wèn)次數(shù)

延遲修改 - 高并發(fā)情況下,可以把多次修改請(qǐng)求,先保存在緩存中,然后定時(shí)將緩存中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,風(fēng)險(xiǎn)是可能會(huì)斷電丟失緩存中的數(shù)據(jù),

使用索引 - 索引可以看作是特殊的緩存,盡量使用索引就要求where字句中精確的給出索引列的值。

是指查詢的數(shù)據(jù)要少:

分表 - 把本來(lái)同一張表的內(nèi)容,可以按照地區(qū),類(lèi)別等分成多張表,很簡(jiǎn)單的一個(gè)思路,但是要盡量避免分出來(lái)的多表關(guān)聯(lián)查詢。

分離活躍數(shù)據(jù) - 例如登錄用戶業(yè)務(wù),注冊(cè)用戶很多,但是活躍的登錄用戶很少,可以把活躍用戶專門(mén)保存一張表,查詢是先查詢活躍表,沒(méi)有的話再查總表,這也類(lèi)似與緩存啦。

分塊 - 數(shù)據(jù)庫(kù)層面的優(yōu)化,對(duì)程序是透明的,查詢大數(shù)據(jù)只用找到相應(yīng)塊就行。

分流

集群 - 將并發(fā)請(qǐng)求分配到不同的服務(wù)器上,可以是業(yè)務(wù)服務(wù)器,也可以是數(shù)據(jù)庫(kù)服務(wù)器。

分布式 - 分布式是把單次請(qǐng)求的多項(xiàng)業(yè)務(wù)邏輯分配到多個(gè)服務(wù)器上,這樣可以同步處理很多邏輯,一般使用與特別復(fù)雜的業(yè)務(wù)請(qǐng)求。

CDN - 在域名解析層面的分流,例如將華南地區(qū)的用戶請(qǐng)求分配到華南的服務(wù)器,華中地區(qū)的用戶請(qǐng)求分配到華中的服務(wù)器。

分庫(kù)分表 -

水平拆分【分表】:

對(duì)于訪問(wèn)極為頻繁且數(shù)據(jù)量巨大的單表來(lái)說(shuō),首先要做的是減少單表的記錄條數(shù),以便減少數(shù)據(jù)查詢所需的時(shí)間,提高數(shù)據(jù)庫(kù)的吞吐,這就是所謂的分表【水平拆分】

垂直拆分【分庫(kù)】:

是根據(jù)業(yè)務(wù)耦合性,將關(guān)聯(lián)度低的不同表存儲(chǔ)在不同的數(shù)據(jù)庫(kù)上,對(duì)數(shù)據(jù)庫(kù)進(jìn)行拆分,從而提高數(shù)據(jù)庫(kù)寫(xiě)入能力,即分庫(kù)【垂直拆分】

建立主從 - 讀寫(xiě)分離就是只在主服務(wù)器上寫(xiě),只在從服務(wù)器上讀,基本原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性查詢,而從數(shù)據(jù)庫(kù)處理select查詢,數(shù)據(jù)庫(kù)復(fù)制被用于把事務(wù)性查詢(增刪改)導(dǎo)致的改變更新同步到集群中的從數(shù)據(jù)庫(kù)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/17831.html

相關(guān)文章

  • 【最全】Java 進(jìn)階面試總結(jié)

    摘要:這里有一份面試題相關(guān)總結(jié),涉及高并發(fā)分布式高可用相關(guān)知識(shí)點(diǎn),在此分享給大家,希望大家能拿到一份理想的知識(shí)點(diǎn)會(huì)陸續(xù)更新在上,覺(jué)得還算湊和的話可以關(guān)注一下噢高并發(fā)架構(gòu)消息隊(duì)列為什么使用消息隊(duì)列消息隊(duì)列有什么優(yōu)點(diǎn)和缺點(diǎn)都有什么優(yōu)點(diǎn)和缺點(diǎn)如何保證消 這里有一份面試題相關(guān)總結(jié),涉及高并發(fā)、分布式、高可用相關(guān)知識(shí)點(diǎn),在此分享給大家,希望大家能拿到一份理想的 Offer! 知識(shí)點(diǎn)會(huì)陸續(xù)更新在 Git...

    nifhlheimr 評(píng)論0 收藏0
  • 并發(fā) - 收藏集 - 掘金

    摘要:在中一般來(lái)說(shuō)通過(guò)來(lái)創(chuàng)建所需要的線程池,如高并發(fā)原理初探后端掘金閱前熱身為了更加形象的說(shuō)明同步異步阻塞非阻塞,我們以小明去買(mǎi)奶茶為例。 AbstractQueuedSynchronizer 超詳細(xì)原理解析 - 后端 - 掘金今天我們來(lái)研究學(xué)習(xí)一下AbstractQueuedSynchronizer類(lèi)的相關(guān)原理,java.util.concurrent包中很多類(lèi)都依賴于這個(gè)類(lèi)所提供的隊(duì)列式...

    levius 評(píng)論0 收藏0
  • 并發(fā) - 收藏集 - 掘金

    摘要:在中一般來(lái)說(shuō)通過(guò)來(lái)創(chuàng)建所需要的線程池,如高并發(fā)原理初探后端掘金閱前熱身為了更加形象的說(shuō)明同步異步阻塞非阻塞,我們以小明去買(mǎi)奶茶為例。 AbstractQueuedSynchronizer 超詳細(xì)原理解析 - 后端 - 掘金今天我們來(lái)研究學(xué)習(xí)一下AbstractQueuedSynchronizer類(lèi)的相關(guān)原理,java.util.concurrent包中很多類(lèi)都依賴于這個(gè)類(lèi)所提供的隊(duì)列式...

    fantix 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<