{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

為啥Redis/Mongo這么快,就不能直接替代mysql嗎?

shusenshusen 回答0 收藏1
問題描述:現(xiàn)在基本互聯(lián)網(wǎng)項(xiàng)目都使用了緩存技術(shù)滿足業(yè)務(wù)需求,為啥還要使用關(guān)系型數(shù)據(jù)庫
收藏問題

6條回答

cheukyin

cheukyin

回答于2022-06-28 15:22

mysql、redis、MongoDB基本上在對(duì)應(yīng)的業(yè)務(wù)場景中都會(huì)用到。習(xí)慣上,所有的業(yè)務(wù)數(shù)據(jù)都是需要“落庫”的,這種“落庫”指關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)寫入,可以很直觀的在關(guān)系型數(shù)據(jù)庫的客戶端進(jìn)行查詢,可以持久化到磁盤空間,因 mysql 開源穩(wěn)定,滿足業(yè)務(wù)需求,其成為互聯(lián)網(wǎng)公司的最優(yōu)選擇。而 redis 經(jīng)常在高并發(fā)的請(qǐng)求加速、優(yōu)化用戶體驗(yàn)中用到,普遍的做法是將數(shù)據(jù)庫中的數(shù)據(jù)請(qǐng)求一次,放入緩存中,同時(shí)返回給用戶,而修改數(shù)據(jù)庫時(shí)對(duì)緩存數(shù)據(jù)進(jìn)行清理,保障數(shù)據(jù)一致性。而對(duì)于mongoDB,我在業(yè)務(wù)中使用不多,但其可以高效存儲(chǔ)二進(jìn)制大對(duì)象 (比如照片、視頻、消息等),在業(yè)界得到了充分的認(rèn)可。下面簡述一下其各自的優(yōu)缺點(diǎn),僅供參考。

mysql,優(yōu)點(diǎn):體積小、速度快、總體擁有成本低,開源,提供的接口支持多種語言連接操作;支持多種操作系統(tǒng);采用完全的多線程編程,線程輕量;鑒權(quán)體系完善。缺點(diǎn):不支持熱備份,但可通過binlog日志進(jìn)行同步;不支持自定義數(shù)據(jù)類型;對(duì) xml 支持不夠良好,但此基本上可以忽略,目前很少見到 xml 的使用。

redis,優(yōu)點(diǎn):讀寫性能優(yōu)異,選擇的最大理由;支持?jǐn)?shù)據(jù)持久化,支持 AOF 和 RDB 兩種持久化方式;支持主從復(fù)制,可以進(jìn)行讀寫分離;數(shù)據(jù)結(jié)構(gòu)豐富;缺點(diǎn):不具備自動(dòng)容錯(cuò)和恢復(fù)功能,主機(jī)從機(jī)宕機(jī)導(dǎo)致客戶端請(qǐng)求失??;主機(jī)宕機(jī),宕機(jī)前有部分?jǐn)?shù)據(jù)未能及時(shí)同步到從機(jī),切換 IP 后還會(huì)引入數(shù)據(jù)不一致的問題,降低了系統(tǒng)的可用性;Redis 的主從復(fù)制采用全量復(fù)制,網(wǎng)絡(luò)波動(dòng)時(shí)可能進(jìn)行全量的數(shù)據(jù)復(fù)制,對(duì)集群造成壓力;Redis 較難支持在線擴(kuò)容,在集群容量達(dá)到上限時(shí)在線擴(kuò)容比較復(fù)雜。

MongoDB,優(yōu)點(diǎn):弱一致性(最終一致),更能保證用戶的訪問速度;文檔結(jié)構(gòu)的存儲(chǔ)方式,能夠更便捷的獲取數(shù);高效存儲(chǔ)二進(jìn)制大對(duì)象 (比如照片、視頻、消息等);與其他的NoSQL相比第三方支持豐富;缺點(diǎn):不支持事務(wù)操作;占用空間過大;成熟的維護(hù)工具較為欠缺。

個(gè)人感覺,redis 適用于數(shù)據(jù)變化快且數(shù)據(jù)庫大小可預(yù)見(適合內(nèi)存容量)的業(yè)務(wù)場景,其適合做關(guān)系型數(shù)據(jù)庫的中間層。MongoDB 可以作為大數(shù)據(jù)對(duì)象 (比如照片、視頻、消息等)的數(shù)據(jù)緩存層組合出一個(gè)必要的數(shù)據(jù)實(shí)體(靈活的 json 結(jié)構(gòu)可以組合出復(fù)雜數(shù)據(jù)類型,又可以復(fù)制多臺(tái)服務(wù)器),讀取速度也快,高并發(fā)構(gòu)建主從服務(wù)器無壓力。

作者:夕陽雨晴,歡迎關(guān)注我的頭條號(hào):偶爾美文,主流Java,為你講述不一樣的碼農(nóng)生活。

評(píng)論0 贊同0
  •  加載中...
dinfer

dinfer

回答于2022-06-28 15:22

目前看來,關(guān)系型的數(shù)據(jù)庫和非關(guān)系型的數(shù)據(jù)庫是互補(bǔ)的,并不是互相取代的,因?yàn)檫@兩者的適用場景不同。

關(guān)系型數(shù)據(jù)庫適應(yīng)場景是:業(yè)務(wù)復(fù)雜并且需要很多的關(guān)聯(lián),對(duì)讀操作沒有太大要求,但是需要對(duì)事務(wù)的支持。

非關(guān)系型數(shù)據(jù)庫適用場景是:業(yè)務(wù)相對(duì)簡單,對(duì)讀操作要求很高,而且數(shù)據(jù)吞吐量大,還能支持快速擴(kuò)容等場景。

因此,這兩種數(shù)據(jù)庫在未來都會(huì)一直存在,在各自的場景發(fā)揮自己的作用,每一種新技術(shù)的誕生都是為解決現(xiàn)有的一些痛處的,技術(shù)選型沒有最好的,只有最適合的技術(shù)。

評(píng)論0 贊同0
  •  加載中...
quietin

quietin

回答于2022-06-28 15:22

場景不一樣,redis雖然也算一種數(shù)據(jù)庫,但是一般更多的用于加速訪問數(shù)據(jù)庫數(shù)據(jù)

mongodb是非關(guān)系型數(shù)據(jù)庫更多的用于快速存儲(chǔ)數(shù)據(jù)

評(píng)論0 贊同0
  •  加載中...
xumenger

xumenger

回答于2022-06-28 15:22

1、數(shù)據(jù)結(jié)構(gòu)模型是需要關(guān)系連接的(nosql Redis存儲(chǔ)是沒有問題的)nosqlRedis讀取不方便 幾乎做不到

2、快是因?yàn)樵趦?nèi)存中存儲(chǔ)也就是說沒有持久化 nosql Redis持久化 預(yù)估性能差不多少

3、邏輯及實(shí)現(xiàn)復(fù)雜程度遠(yuǎn)高于關(guān)系型數(shù)據(jù)庫

評(píng)論0 贊同0
  •  加載中...
DevYK

DevYK

回答于2022-06-28 15:22

先自學(xué)關(guān)系數(shù)據(jù)庫的一致性和事務(wù)性概念吧

評(píng)論0 贊同0
  •  加載中...
alin

alin

回答于2022-06-28 15:22

我們就是用MongoDB替代sql,很好用。新版本也支持事務(wù)了,微服務(wù)的大殺器。當(dāng)然了,內(nèi)存價(jià)格確實(shí)昂貴,所以等數(shù)據(jù)量上去后,會(huì)考慮使用TiDB。

評(píng)論0 贊同0
  •  加載中...

相關(guān)問題

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<