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