{eval=Array;=+count(Array);}
NoSQL和SQL看上去很像,以至于不少人把兩者混為一談,其實這兩者完全是兩類東西,雖然在開發(fā)中經(jīng)??匆妰烧吲浜鲜褂?,但兩者的定位不同,服務(wù)場景也是不同的。
隨著NoSQL數(shù)據(jù)庫的興起,不少人覺得未來NoSQL會取代傳統(tǒng)的數(shù)據(jù)庫,也有人認為NoSQL和SQL最終會融合在一起。未來的事情不好猜測,但在這里我們可以分析下兩者的定位。
1、NoSQL不能光看字面意思,不能理解為“沒有SQL”,其實它是“Not Only SQL”的簡稱,它是非關(guān)系型數(shù)據(jù)庫的統(tǒng)稱,它的特點就是:非關(guān)系型、半結(jié)構(gòu)化、分布式、無ACID特性。
NoSQL代表有:Redis、MemCache、MongoDB等。
2、SQL本意是指結(jié)構(gòu)化查詢語句,它其實是一種特殊的編程語言,是用于關(guān)系型數(shù)據(jù)庫的查詢語言。只不過現(xiàn)在很多不嚴(yán)謹(jǐn)?shù)拈_發(fā)者將SQL視為數(shù)據(jù)庫的統(tǒng)稱。
SQL數(shù)據(jù)庫代表有:MySQL、Orache、SQL Server。
1、NoSQL數(shù)據(jù)庫
存儲數(shù)據(jù)不需要特定的模式;
使用類JSON格式的文檔(半結(jié)構(gòu)化)來存儲鍵值對;
沒有 原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)這4種特性。
2、SQL數(shù)據(jù)庫
存儲數(shù)據(jù)前需明確定義字段模式;
使用表來存儲結(jié)構(gòu)化的數(shù)據(jù);
保證數(shù)據(jù)的事務(wù)性、一致性要求。
關(guān)系型數(shù)據(jù)庫更適合存儲結(jié)構(gòu)化數(shù)據(jù)、數(shù)據(jù)要求嚴(yán)謹(jǐn),數(shù)據(jù)模式是固定不變的。數(shù)據(jù)是存儲在硬盤上的,數(shù)據(jù)量過大時操作速度會受到影響。
在開頭時就提及NoSQL與SQL的爭議,我更傾向于說未來NoSQL和SQL可能會融合在一起。在如今的技術(shù)架構(gòu)中我們通常也都是這樣去搭配使用的:SQL數(shù)據(jù)庫作為最終數(shù)據(jù)落地存儲方案,而NoSQL則用來緩存熱點數(shù)據(jù),提升數(shù)據(jù)查詢和操作速度。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,歡迎關(guān)注我了解更多科技知識!
感謝邀請!
作為一名IT從業(yè)人員,我來回答下這個問題。
NOSQL是非關(guān)系型數(shù)據(jù)庫,通常是指沒有ACID的特性,沒有表結(jié)構(gòu),非關(guān)系型的,
SQL是大家所熟知的數(shù)據(jù)庫,由表構(gòu)成,數(shù)據(jù)嚴(yán)謹(jǐn)。
NOSQL的代表數(shù)據(jù)庫是Redis、mongdb。Redis大家都不陌生,通常作為一種熱緩存存在于項目過程中,Redis中是按照鍵值對進行存儲數(shù)據(jù)的,方便讀取與修改。緩存的目的就是用于減少與數(shù)據(jù)庫之間的交互過程。而Mongdb的話是一種Bson文檔存儲格式,mongdb存儲的時候插入刪除修改操作可以快速大批量的完成,通常作為接口間的緩存。
NOSQL的業(yè)務(wù)場景一般都是沒有嚴(yán)謹(jǐn)?shù)谋斫Y(jié)構(gòu),只是方便數(shù)據(jù)的插入修改,后期對數(shù)據(jù)存儲的表可能會進行修改。
而sql的代表數(shù)據(jù)庫就是MySQL、oracle等大型應(yīng)用型數(shù)據(jù)庫,這一類數(shù)據(jù)庫都有嚴(yán)謹(jǐn)?shù)谋斫Y(jié)構(gòu),一經(jīng)生成,修改表是很困難的,使用的業(yè)務(wù)場景就是大型數(shù)據(jù)存儲,保證事務(wù)一致性的進行。數(shù)據(jù)模式固定不變,數(shù)據(jù)庫更穩(wěn)定。
希望回答對您有所幫助。
我本人從事多年互聯(lián)網(wǎng)Java開發(fā),感興趣的朋友可以關(guān)注私聊,共同努力,共同進步。
謝謝!
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答10
回答0
回答