{eval=Array;=+count(Array);}
我們知道,技術(shù)是會(huì)一直發(fā)展的,而我們常說(shuō)的關(guān)系型數(shù)據(jù)庫(kù)、NoSQL其實(shí)都是技術(shù)發(fā)展的產(chǎn)物,都是為了讓我們更好的解決問(wèn)題而生的。
在當(dāng)下的項(xiàng)目開(kāi)發(fā)時(shí),我們的技術(shù)選型也不像以前那樣單一,對(duì)于存在數(shù)據(jù)落地場(chǎng)景的,那像MySQL/Oracle/SQL Server這類的數(shù)據(jù)庫(kù)則是必須的。而我們發(fā)現(xiàn),NoSQL使用與否都不會(huì)影響項(xiàng)目功能,有些項(xiàng)目會(huì)使用,有些則沒(méi)有使用。
所以有不少朋友會(huì)有這方面的質(zhì)疑,關(guān)系型數(shù)據(jù)庫(kù)和NoSQL是多帶帶使用還是搭配使用?或者什么場(chǎng)景下要使用關(guān)系型數(shù)據(jù)庫(kù),什么時(shí)候又該使用NoSQL呢?在這里結(jié)合我的實(shí)際經(jīng)驗(yàn)談下我的看法以供大家參考:
1、數(shù)據(jù)庫(kù)是數(shù)據(jù)落地的基礎(chǔ),是必須的
但凡我們的項(xiàng)目中存在數(shù)據(jù),而且這些數(shù)據(jù)需要保存,不管數(shù)據(jù)量的大小,數(shù)據(jù)庫(kù)都是必須要使用的。
試想一下,如果沒(méi)有數(shù)據(jù)庫(kù)軟件,我們的數(shù)據(jù)如何有效存?。?/p>
2、NoSQL推薦使用
在這里說(shuō)下,NoSQL不能單從字面上理解為“沒(méi)有SQL、不是SQL、不需要SQL”,NoSQL的含義是Not Only SQL,不僅僅是SQL。
NoSQL是一類非關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)稱,最常用的就是:Redis、Memcached了。像我們最常使用的Redis是一款內(nèi)存型K/V數(shù)據(jù)庫(kù),它具備以下優(yōu)點(diǎn):
內(nèi)存型數(shù)據(jù)庫(kù)存入、讀取數(shù)據(jù)都比從硬盤中讀取要快,性能很高。同時(shí)它支持?jǐn)?shù)據(jù)持久化,可以將內(nèi)存中的數(shù)據(jù)落地到硬盤中;
Redis的數(shù)據(jù)類型豐富,不光光當(dāng)成“緩存”來(lái)使用,還可以當(dāng)成隊(duì)列來(lái)使用;
站在架構(gòu)角度去說(shuō),我們建議項(xiàng)目采用NoSQL+關(guān)系型數(shù)據(jù)庫(kù)這種形式來(lái)部署。數(shù)據(jù)庫(kù)相對(duì)于NoSQL來(lái)說(shuō)還是偏重了,特別是在高并發(fā)項(xiàng)目中,數(shù)據(jù)庫(kù)的I/O開(kāi)銷和查詢效率都是很大的。當(dāng)NoSQL推出時(shí),我們一般將熱點(diǎn)數(shù)據(jù)也存入NoSQL,下次查詢時(shí)直接從NoSQL中查詢這樣就減少了數(shù)據(jù)庫(kù)的壓力,加快了系統(tǒng)的處理響應(yīng)速度。
以上就是我的觀點(diǎn),對(duì)于這個(gè)問(wèn)題大家是怎么看待的呢?歡迎在下方評(píng)論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識(shí)!
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答