當前位置:
首頁 > 知識 > NoSQL和MySQL的區別

NoSQL和MySQL的區別

結合:《javaEE 互聯網輕量級框架整合開發》

https://blog.csdn.net/Gjc_csdn/article/details/80449299

https://blog.csdn.net/allen_a/article/details/50611966

即非關係型資料庫和關係型資料庫。

MySQL的優點:事務處理—保持數據的一致性;由於以標準化為前提,數據更新的開銷很小(相同的欄位基本上只有一處);可以進行Join等複雜查詢

NoSQL的優點:首先它是基於內存的,也就是數據放在內存中,而不是像資料庫那樣把數據放在磁碟上,而內存的讀取速度是磁碟讀取速度的幾十倍到上百倍,所以NoSQL工具的速度遠比資料庫讀取速度要快得多,滿足了高響應的要求。即使NoSQL將數據放在磁碟中,它也是一種半結構化的數據 格式,讀取到解析的複雜度遠比MySQL要簡單,這是因為MySQL存儲的是經過結構化、多範式等有複雜規則的數據,還原為內存結構的速度較慢。NoSQL在很大程度上滿足了高並發、快速讀/和響應的要求,所以它也是Java互聯網系統的利器。

簡單的擴展:典型例子是Cassandra,由於其架構是類似於經典的P2P,所以能通過輕鬆地添加新的節點來擴展這個集群;

低廉的成本:這是大多數分散式資料庫共有的特點,因為主要都是開源軟體,沒有昂貴的License成本;

NoSQL的缺點:大多數NoSQL資料庫都不支持事務,也不像 SQL Server和Oracle那樣能提供各種附加功能,比如BI和報表等; 不提供對SQL的支持

那麼該如何選擇?

如果規模和性能比24小時的數據一致性更重要,那NoSQL是一個理想的選擇 (NoSQL依賴於BASE模型——基本可用、軟狀態、最終一致性)。

但如果要保證到「始終一致」,尤其是對於機密信息和財務信息,那麼MySQL很可能是最優的選擇(MySQL依賴於ACID模型——原子性、一致性、獨立性和耐久性)。

如果關係資料庫在你的應用場景中,完全能夠很好的工作,而你又是非常善於使用和維護關係資料庫的,那麼我覺得你完全沒有必要遷移到NoSQL上面,除非你是個喜歡折騰的人。如果你是在金融,電信等以數據為王的關鍵領域,目前使用的是Oracle資料庫來提供高可靠性的,除非遇到特別大的瓶頸,不然也別貿然嘗試NoSQL。

然而,在WEB2.0的網站中,關係資料庫大部分都出現了瓶頸。在磁碟IO、資料庫可擴展上都花費了開發人員相當多的精力來優化,比如做分表分庫(database sharding)、主從複製、異構複製等等,然而,這些工作需要的技術能力越來越高,也越來越具有挑戰性。如果你正在經歷這些場合,那麼我覺得你應該嘗試一下NoSQL了。

具體問題具體分析

MySQL體積小、速度快、成本低、結構穩定、便於查詢,可以保證數據的一致性,但缺乏靈活性。

NoSQL高性能、高擴展、高可用,不用局限於固定的結構,減少了時間和空間上的開銷,卻又很難保證數據一致性。

---------------------

作者:蒟蒻熊

原文:https://blog.csdn.net/qq_37774171/article/details/85491721

版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

NoSQL和MySQL的區別

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

C++中類成員的訪問控制許可權
CSS實現點擊事件及實踐

TAG:程序員小新人學習 |