NoSQL介紹

NoSQL(NoSQL = Not Only SQL ),意即「不單單是SQL」,

泛指非關係型的數據庫。隨着互聯網web2.0網站的興起,傳統的關係數據庫在應付web2.0網站,特別是超大規模和高併發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了不少難以克服的問題,而非關係型的數據庫則因爲其自己的特色獲得了很是迅速的發展。NoSQL數據庫的產生就是爲了解決大規模數據集合多重數據種類帶來的挑戰,尤爲是大數據應用難題,包括超大規模數據的存儲。web

(例如谷歌或Facebook天天爲他們的用戶收集萬億比特的數據)。這些類型的數據存儲不須要固定的模式,無需多餘操做就能夠橫向擴展。sql

  • 易擴展數據庫

    NoSQL數據庫種類繁多,可是一個共同的特色都是去掉關係數據庫的關係型特性。
    數據之間無關係,這樣就很是容易擴展。也無形之間,在架構的層面上帶來了可擴展的能力。架構

  • 大數據量高性能併發

    NoSQL數據庫都具備很是高的讀寫性能,尤爲在大數據量下,一樣表現優秀。
    這得益於它的無關係性,數據庫的結構簡單。
    通常MySQL使用Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,
    在針對web2.0的交互頻繁的應用,Cache性能不高。而NoSQL的Cache是記錄級的,
    是一種細粒度的Cache,因此NoSQL在這個層面上來講就要性能高不少了nosql

  • 多樣靈活的數據模型高併發

    NoSQL無需事先爲要存儲的數據創建字段,隨時能夠存儲自定義的數據格式。而在關係數據庫裏,
    增刪字段是一件很是麻煩的事情。若是是很是大數據量的表,增長字段簡直就是一個噩夢性能

  • 傳統RDBMS VS NOSQL大數據

    RDBMS網站

  • 高度組織化結構化數據
  • 結構化查詢語言(SQL)
  • 數據和關係都存儲在單獨的表中。
  • 數據操縱語言,數據定義語言
  • 嚴格的一致性
  • 基礎事務

    NoSQL

  • 表明着不單單是SQL

  • 沒有聲明性查詢語言

  • 沒有預約義的模式
    -鍵 - 值對存儲,列存儲,文檔存儲,圖形數據庫

  • 最終一致性,而非ACID屬性

  • 非結構化和不可預知的數據

  • CAP定理

  • 高性能,高可用性和可伸縮性

3V+3高
  • 大數據時代的3V
    • 海量
    • 多樣
    • 實時
  • 互聯網需求的三高
    • 高併發
    • 高可擴
    • 高性能
相關文章
相關標籤/搜索