• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Redis教程
    Redis安裝和使用
    Redis數據類型操作命令
    高級話題
    Jedis操作Redis

    為什么使用Redis

     

     

    Redis是 NoSQL(非關系型數據庫) 類型數據庫,在NoSQL 數據庫中數據之間是無聯系的,無關系的。數據的結構是松散的,可變的。

     

     

    非關系型數據庫優勢:

     

    (1) 大數據量,高性能

     

    NoSQL 數據庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀。這得益于它的無關系性,數據庫的結構簡單。關系型數據庫(例如 MySQL)使用查詢緩存。這種查詢緩存在更新數據后,緩存就是失效了。在頻繁的數據讀寫交互應用中。 緩存的性能不高。NoSQL 的緩存性能要高的多。

     

    (2) 靈活的數據模型

     

    NoSQL 無需事先為要存儲的數據建立字段,隨時可以存儲自定義的數據格式。而在關系數據庫里,增刪字段是一件非常麻煩的事情。如果是非常大數據量的表,增加字段簡直就是一個噩夢。尤其在快速變化的市場環境中,用戶的需求總是在不斷變化的。

     

    (3) 高可用

     

    NoSQL 在不太影響性能的情況,就可以方便的實現高可用的架構。

     

    NoSQL 能很好的解決關系型數據庫擴展性差的問題。彌補了關系數據(比如 MySQL) 在某些方面的不足,在某些方面能極大的節省開發成本和維護成本。

     

    MySQL 和 NoSQL 都有各自的特點和使用的應用場景,兩者結合使用。讓關系數據庫關注在關系上,NoSQL 關注在存儲上。

     

    (4) 低成本

     

    這是大多數分布式數據庫共有的特點,因為主要都是開源軟件,沒有昂貴的 License 成本

     

     

    非關系型數據庫劣勢:


    (1) 無關系,數據之間是無聯系的。

     

    (2) 不支持標準的 SQL,沒有公認的 NoSQL 標準

     

    (3) 沒有關系型數據庫的約束,大多數也沒有索引的概念

     

    (4) 沒有事務,不能依靠事務實現 ACID.

     

    (5) 沒有豐富的數據類型(數值,日期,字符,二進制,大文本等)

     

     

    關系型數據庫的瓶頸:

     

    (1)無法應對每秒上萬次的讀寫請求,無法處理大量集中的高并發操作。關系型數據的是 IO密集的應用。硬盤 IO 也變為性能瓶頸

     

    (2)表中存儲記錄數量有限,橫向可擴展能力有限,一張表最大二百多列。縱向數據可承受能力也是有限的,一張表的數據到達百萬級,讀寫的速度就會逐漸的下降。面對海量數據, 必須使用主從復制,分庫分表。這樣的系統架構是難以維護的。

     

    大數據查詢 SQL 效率極低,數據量到達一定程度時,查詢時間會呈指數級別增長

     

    (3)無法簡單地通過增加硬件、服務節點來提高系統性能。數據整個存儲在一個數據庫中的。多個服務器沒有很好的解決辦法,來復制這些數據。

     

    (4)關系型數據庫大多是收費的,對硬件的要求較高。軟件和硬件的成本花費比重較大。

     

    綜上所述,目前在互聯網領域海量數據的項目中NoSQL應用非常廣泛。

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏