偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

想用數(shù)據(jù)庫(kù)“讀寫分離” 請(qǐng)先明白“讀寫分離”解決什么問(wèn)題

數(shù)據(jù)庫(kù)
有一些技術(shù)同學(xué)可能對(duì)于“讀寫分離”了解不多,認(rèn)為數(shù)據(jù)庫(kù)的負(fù)載問(wèn)題都可以使用“讀寫分離”來(lái)解決。這其實(shí)是一個(gè)非常大的誤區(qū),我們要用“讀寫分離”,首先應(yīng)該明白“讀寫分離”是用來(lái)解決什么樣的問(wèn)題的,而不是僅僅會(huì)用這個(gè)技術(shù)。

有一些技術(shù)同學(xué)可能對(duì)于“讀寫分離”了解不多,認(rèn)為數(shù)據(jù)庫(kù)的負(fù)載問(wèn)題都可以使用“讀寫分離”來(lái)解決。

 

[[246332]]

 

這其實(shí)是一個(gè)非常大的誤區(qū),我們要用“讀寫分離”,首先應(yīng)該明白“讀寫分離”是用來(lái)解決什么樣的問(wèn)題的,而不是僅僅會(huì)用這個(gè)技術(shù)。

什么是讀寫分離?

其實(shí)就是將數(shù)據(jù)庫(kù)分為了主從庫(kù),一個(gè)主庫(kù)用于寫數(shù)據(jù),多個(gè)從庫(kù)完成讀數(shù)據(jù)的操作,主從庫(kù)之間通過(guò)某種機(jī)制進(jìn)行數(shù)據(jù)的同步,是一種常見(jiàn)的數(shù)據(jù)庫(kù)架構(gòu)。

一個(gè)組從同步集群,通常被稱為是一個(gè)“分組”。

 

[[246333]]

 

數(shù)據(jù)庫(kù)分組架構(gòu)解決什么問(wèn)題?

大多數(shù)互聯(lián)網(wǎng)業(yè)務(wù),往往讀多寫少,這時(shí)候,數(shù)據(jù)庫(kù)的讀會(huì)首先稱為數(shù)據(jù)庫(kù)的瓶頸,這時(shí),如果我們希望能夠線性的提升數(shù)據(jù)庫(kù)的讀性能,消除讀寫鎖沖突從而提升數(shù)據(jù)庫(kù)的寫性能,那么就可以使用“分組架構(gòu)”(讀寫分離架構(gòu))。

用一句話概括,讀寫分離是用來(lái)解決數(shù)據(jù)庫(kù)的讀性能瓶頸的。

 

[[246334]]

 

但是,不是任何讀性能瓶頸都需要使用讀寫分離,我們還可以有其他解決方案。

在互聯(lián)網(wǎng)的應(yīng)用場(chǎng)景中,常常數(shù)據(jù)量大、并發(fā)量高、高可用要求高、一致性要求高,如果使用“讀寫分離”,就需要注意這些問(wèn)題:

  • 數(shù)據(jù)庫(kù)連接池要進(jìn)行區(qū)分,哪些是讀連接池,哪個(gè)是寫連接池,研發(fā)的難度會(huì)增加;
  • 為了保證高可用,讀連接池要能夠?qū)崿F(xiàn)故障自動(dòng)轉(zhuǎn)移;
  • 主從的一致性問(wèn)題需要考慮。

在這么多的問(wèn)題需要考慮的情況下,如果我們僅僅是為了解決“數(shù)據(jù)庫(kù)讀的瓶頸問(wèn)題”,為什么不選擇使用緩存呢?

為什么用緩存

緩存,也是互聯(lián)網(wǎng)中常常使用到的一種架構(gòu)方式,同“讀寫分離”不同,讀寫分離是通過(guò)多個(gè)讀庫(kù),分?jǐn)偭藬?shù)據(jù)庫(kù)讀的壓力,而存儲(chǔ)則是通過(guò)緩存的使用,減少了數(shù)據(jù)庫(kù)讀的壓力。他們沒(méi)有誰(shuí)替代誰(shuí)的說(shuō)法,但是,如果在緩存的讀寫分離進(jìn)行二選一時(shí),還是應(yīng)該首先考慮緩存。

 

[[246335]]

 

為什么呢?

  • 緩存的使用成本要比從庫(kù)少非常多;
  • 緩存的開發(fā)比較容易,大部分的讀操作都可以先去緩存,找不到的再滲透到數(shù)據(jù)庫(kù)。

當(dāng)然,如果我們已經(jīng)運(yùn)用了緩存,但是讀依舊還是瓶頸時(shí),就可以選擇“讀寫分離”架構(gòu)了。簡(jiǎn)單來(lái)說(shuō),我們可以將讀寫分離看做是緩存都解決不了時(shí)的一種解決方案。

當(dāng)然,緩存也不是沒(méi)有缺點(diǎn)的

對(duì)于緩存,我們必須要考慮的就是高可用,不然,如果緩存一旦掛了,所有的流量都同時(shí)聚集到了數(shù)據(jù)庫(kù)上,那么數(shù)據(jù)庫(kù)是肯定會(huì)掛掉的。

 

[[246336]]

 

對(duì)于常見(jiàn)的數(shù)據(jù)庫(kù)瓶頸是什么呢?

其實(shí)是數(shù)據(jù)容量的瓶頸。例如訂單表,數(shù)據(jù)量只增不減,歷史數(shù)據(jù)又必須要留存,非常容易成為性能的瓶頸,而要解決這樣的數(shù)據(jù)庫(kù)瓶頸問(wèn)題,“讀寫分離”和緩存往往都不合適,最適合的是什么呢?

 

[[246337]]

 

數(shù)據(jù)庫(kù)水平切分

什么是數(shù)據(jù)庫(kù)水平切分?

數(shù)據(jù)庫(kù)水平切分,也是一種常見(jiàn)的數(shù)據(jù)庫(kù)架構(gòu),是一種通過(guò)算法,將數(shù)據(jù)庫(kù)進(jìn)行分割的架構(gòu)。一個(gè)水平切分集群中的每個(gè)數(shù)據(jù)庫(kù),通常稱為一個(gè)“分片”。每一個(gè)分片中的數(shù)據(jù)沒(méi)有重合,所有分片中的數(shù)據(jù)并集組成全部數(shù)據(jù)。

 

[[246338]]

 

水平切分架構(gòu)解決什么問(wèn)題呢?

大部分的互聯(lián)網(wǎng)業(yè)務(wù),數(shù)據(jù)量都非常大,單庫(kù)容量最容易成為瓶頸,當(dāng)單庫(kù)的容量成為了瓶頸,我們希望提高數(shù)據(jù)庫(kù)的寫性能,降低單庫(kù)容量的話,就可以采用水平切分了。

而有少部分程序員,會(huì)沒(méi)有分析數(shù)據(jù)庫(kù)的性能瓶頸是什么,就貿(mào)貿(mào)然的使用“讀寫分離”,殊不知“水平切分”才是正道。

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2022-12-15 09:44:29

數(shù)據(jù)庫(kù)利器

2018-01-09 18:46:44

數(shù)據(jù)庫(kù)架構(gòu)讀寫分離

2022-12-05 07:51:24

數(shù)據(jù)庫(kù)分庫(kù)分表讀寫分離

2018-01-15 05:54:45

數(shù)據(jù)庫(kù)讀寫分離互聯(lián)網(wǎng)

2017-03-14 13:12:19

2020-03-24 14:16:18

ProxySQLMySQL數(shù)據(jù)庫(kù)

2024-09-20 07:38:00

數(shù)據(jù)庫(kù)性能策略

2018-02-24 19:37:33

Java8數(shù)據(jù)庫(kù)中間件

2021-03-08 08:16:42

MySQL分離架構(gòu)

2020-05-26 10:42:31

數(shù)據(jù)庫(kù)讀寫分離數(shù)據(jù)庫(kù)架構(gòu)

2019-09-30 09:19:54

Redis分離云數(shù)據(jù)庫(kù)

2020-01-03 16:30:14

數(shù)據(jù)庫(kù)讀寫分離分庫(kù)

2025-04-22 09:31:52

2009-05-04 09:13:52

PHPMySQL讀寫分離

2017-09-04 09:53:58

MySQLAtlasNavicat

2020-04-23 15:08:41

SpringBootMyCatJava

2018-01-01 05:23:13

服務(wù)化讀寫分離架構(gòu)

2010-05-17 11:19:44

MySQL proxy

2021-06-25 10:05:58

SpringBootMySQL數(shù)據(jù)庫(kù)

2017-05-25 10:22:13

NoSQL數(shù)據(jù)庫(kù)主主備份
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)