《SQL和NOSQL有區別嗎?》要點:
本文介紹了SQL和NOSQL有區別嗎?,希望對您有用。如果有疑問,可以聯系我們。
在大數據高速發展的今天,數據量在不斷的增加,傳統的數據庫可能不能滿足人們的需求了,這個時候新霸哥注意到了NOSQL出現了可以解決這個問題.我們知道sql數據庫可以存儲數據和處理數據,但是NOSQL最大的一個優勢就是在大數據這方面,能夠深度處理大數據,分析數據,從大量的數據中獲取有用的資源.
新霸哥發現關系型數據庫本身基于關系代數的數學理論,是很好的抽象,但是nosql的抽象沒有太多的數學基礎,數學總是不會過時的.從計算機本身來說,關系型數據庫的存儲也是隨著機械硬盤的興起而發展的,關系型數據庫對數據塊的處理,比現在最流行的nosql強很多,而且由于約束的存在,存儲效率很高,根本不是那些nosql能比的.這一點新霸哥很佩服.
在云計算高速發展的今天,云計算兼具SQL和NoSQL數據庫的益處.云環境中的關系型存儲通常是以服務形式提供的,是可復制、高可用性且分布式的,極大地提高了橫向擴展能力.同時托管于云服務中的NoSQL數據庫也天然享有自動分片的好處,能夠階段性地靈活彈性處理,集成高速緩存和巨大的計算能力來捕獲、存儲和分析大數據.
數據量很少的情況下,就不用考慮性能了,分布式什么都不用考慮了,新霸哥也注意到了NoSQL在這種情況下最大的劣勢就是沒有schema.
NoSQL不會取代RDBMS,可能很多人會有疑問,RDBMS比如說MySQL通過sharding可以做到NoSQL所能做的一切,除此之外RDBMS有schema(也可以設計成schemaless),支持SQL,健壯的ACID.一般來說,現在的RDBMS完全可以做NoSQL所有可以做的事情,反過來就不是這樣了.舉個非常形象的例子,要在MySQL上加一層key-value接口不難,如果要在任何NoSQL上加能和MySQL匹敵的Query Optimizer和Transaction support不是件簡單的事情.
NoSQL想解決的問題RDBMS都能解決,它的理念會被融入到RDBMS中,其實在實際應用中真正適合NoSQL應用的場景只是cache.
新霸哥發現SQL數據庫大多數比較昂貴,但是NoSQL數據庫通常都是開源的.事實上,兩種類型數據庫都有開源的和商業的.常見的SQL 數據庫有微軟公司的SQL Server,MySQL,SQLite,Oracle和PostGres.現在非常流行的NoSQL數據庫有Couchbase,MongoDB,Redis,BigTable和RavenDB.這也是現在比較主流的數據存儲方式.
其實無論是SQL還是NOSQL最重要的還是能夠根據實際的情況來選擇,這樣才能夠充分的利用資源.喜好大數據的朋友可以關注新霸哥,也可以加入微信公眾號:javaandcp 繼續學習.
《SQL和NOSQL有區別嗎?》是否對您有啟發,歡迎查看更多與《SQL和NOSQL有區別嗎?》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9237.html