SQL和NOSQL有區別嗎?

  在大數據高速發展的今天,數據量在不斷的增長,傳統的數據庫可能不能知足人們的需求了,這個時候新霸哥注意到了NOSQL出現了能夠解決這個問題。咱們知道sql數據庫能夠存儲數據和處理數據,可是NOSQL最大的一個優點就是在大數據這方面,可以深度處理大數據,分析數據,從大量的數據中獲取有用的資源。sql

  新霸哥發現關係型數據庫自己基於關係代數的數學理論,是很好的抽象,可是nosql的抽象沒有太多的數學基礎,數學老是不會過期的。從計算機自己來講,關係型數據庫的存儲也是隨着機械硬盤的興起而發展的,關係型數據庫對數據塊的處理,比如今最流行的nosql強不少,並且因爲約束的存在,存儲效率很高,根本不是那些nosql能比的。這一點新霸哥很佩服。數據庫

  在雲計算高速發展的今天,雲計算兼具SQL和NoSQL數據庫的益處。雲環境中的關係型存儲一般是以服務形式提供的,是可複製、高可用性且分佈式的,極大地提升了橫向擴展能力。同時託管於雲服務中的NoSQL數據庫也自然享有自動分片的好處,可以階段性地靈活彈性處理,集成高速緩存和巨大的計算能力來捕獲、存儲和分析大數據。緩存

  數據量不多的狀況下,就不用考慮性能了,分佈式什麼都不用考慮了,新霸哥也注意到了NoSQL在這種狀況下最大的劣勢就是沒有schema。less

  NoSQL不會取代RDBMS,可能不少人會有疑問,RDBMS好比說MySQL經過sharding能夠作到NoSQL所能作的一切,除此以外RDBMS有schema(也能夠設計成schemaless),支持SQL,健壯的ACID。通常來講,如今的RDBMS徹底能夠作NoSQL全部能夠作的事情,反過來就不是這樣了。舉個很是形象的例子,要在MySQL上加一層key-value接口不難,若是要在任何NoSQL上加能和MySQL匹敵的Query Optimizer和Transaction support不是件簡單的事情。nosql

  NoSQL想解決的問題RDBMS都能解決,它的理念會被融入到RDBMS中,其實在實際應用中真正適合NoSQL應用的場景只是cache。分佈式

  新霸哥發現SQL數據庫大多數比較昂貴,可是NoSQL數據庫一般都是開源的。事實上,兩種類型數據庫都有開源的和商業的。常見的SQL 數據庫有微軟公司的SQL Server,MySQL,SQLite,Oracle和PostGres。如今很是流行的NoSQL數據庫有Couchbase,MongoDB,Redis,BigTable和RavenDB。這也是如今比較主流的數據存儲方式。性能

  其實不管是SQL仍是NOSQL最重要的仍是可以根據實際的狀況來選擇,這樣纔可以充分的利用資源。愛好大數據的朋友能夠關注新霸哥。大數據

相關文章
相關標籤/搜索