SQL,NoSQL和NewSQL


一:概念

  SQL(Structured Query Language):數據庫,指關系型數據庫。主要代表:SQL Server、Oracle、MySQL、PostgreSQL。

  NoSQL(Not Only SQL):泛指非關系型數據庫。主要代表:MongoDB、Redis、CouchDB。

  NewSQL:對各種新的可擴展/高性能數據庫的簡稱。主要代表:Clustrix、GenieDB。

二:對比

  SQL:

好處來源於它的統一性和易用性,缺點是面對大量的數據時,他的性能會隨着數據庫的增大而急劇下降。

NoSQL:

以放寬ACID原則為代價,NoSQL采取的是最終一致性原則,而不是像關系型數據庫那樣地嚴格遵守着ACID的原則,這意味着如果在特定時間段內沒有特定數據項的更新,則最終對其所有的訪問都將返回最后更新的值。 這就是這樣的系統通常被描述為提供基本保證的原因(基本可用,軟狀態,最終一致性) — 而不是ACID。

NewSQL:

NewSQL選擇汲取了SQL和NewSQL的優點,希望將ACID和可擴展性以及高性能結合,但是目前而言,不適用於所有的場景。

三:Let's think

  根據CAP原則,

  • Consistency(一致性)
  • Availability(可用性)
  • Partition tolerance(分區容錯)

  這三點不能夠同時做到,所以我們可以猜想,未來的很多年里,是不會有這樣一個能夠滿足所有場景的數據庫存在,現在主流的關系型數據庫+NoSQL的組合是一種解決方案,不斷涌現出來的NewSQL也能夠滿足一定場景中的業務需求。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM