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