文章目錄
一、NoSQL
1.1 什麼是NoSQL
NoSQL(Not Only SQL),意思是不僅僅是SQL,是一項全新的數據庫理念,泛指非關係型的數據庫。
1.2 爲什麼需要NoSQL
- 對數據庫高併發讀寫的需求
- 對海量數據的高效率存儲和訪問的需求
如果使用關係型數據庫,在一個擁有幾億條數據的表中進行sql查詢效率是是否低下的。 - 對數據庫的高可擴展性和高可用性的需求
如果使用關係型數據庫,那麼例如現在數據庫中存儲着幾百萬條數據,但是由於需求的變更需要修改表的結構,這顯然是行不通的。
NoSQL數據庫的產生就是爲了解決大規模數據集合多重數據種類帶來的挑戰,尤其時大數據應用難題。
1.3 NoSQL的優點
- 易擴展
NoSQL數據庫種類繁多,但是一個共同的特點都是去掉關係數據庫的關係型特性。數據之間無關係,這樣就非常容易擴展。也無形之間,在架構的層面上帶來了可擴展的能力。 - 大數據量,高性能
NoSQL數據庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優秀。這得益於它的無關係性,數據庫的結構簡單。 - 靈活的數據模型
NoSQL無需事先爲要存儲的數據建立字段,隨時可以存儲自定義的數據格式。而在關係數據庫裏,增刪字段是一件非常麻煩的事情。如果是非常大數據量的表,增加字段簡直就是一個噩夢。 - 高可用
NoSQL在不太影響性能的情況,就可以方便的實現高可用的架構。
1.4 NoSQL數據庫分類
NoSQL數據庫的四大分類如下:
- 鍵值(key–Value)存儲數據庫
相關產品:Tokyo Cabinet/Tyrant、 Redis、Voldemort、 Berkeley DB
典型應用:內容緩存,主要用於處理大量數據的高訪問負載
數據模型:一系列鍵值對
優勢:快速查詢
劣勢:存儲的數據缺少結構化 - 列存儲數據庫
相關產品:Cassandra, HBase,Riak
典型應用:分佈式的文件系統
數據模型:以列簇式存儲,將同一列數據存在一起
優勢:查找速度快,可擴展性強,更容易進行分佈式擴展
劣勢:功能相對侷限 - 文檔型數據庫
相關產品:CouchDB、 MongoDB
典型應用:Web應用(與key- -Value類似, Value是結構化的)
數據模型:一系列鍵值對
優勢:數據結構要求不嚴格
劣勢:查詢性能不高,而且缺乏統一的查詢語法 - 圖形(Graph)數據庫
相關數據庫:Neo4j、 InfoGrid、 Infinite Graph
典型應用:社交網絡
數據模型:圖結構
優勢:利用圖結構相關算法
劣勢:需要對整個圖做計算才能得出結果,不容易做分佈式的集羣方案
二、Redis
2.1 Reids簡介
Redis是用C語言開發的一個開源的高性能鍵值對(key–value)數據庫。它通過提供多種鍵值數據類型來適應不同場景下的存儲需求,目前爲止 Redis支持的鍵值數據類型有字符串類型、散列類型、列表類型、集合類型、有序集合類型。
2.2 Redis的應用場景
- 緩存(數據查詢、短連接、商品內容等等)
- 聊天軟件的在線好友列表
- 任務隊列(秒殺、搶購、12306等等)
- 應用中的排行榜
- 網站訪問統計
- 數據過期處理(可以精確到毫秒)
- 分佈式集羣架構中的 session分離
總的來說就是針對一些數據頻繁變動的場景,如果用傳統的關係型數據庫就需要頻繁的對錶進行讀寫不太合理。
2.3 Reids的下載和安裝
2.3.1 Reids的下載
現在官網Redis官網上沒有Windows版本的Redis,需要到GitHub上下載。
地址:https://github.com/microsoftarchive/redis
進入後點擊release就可以下載你需要的版本了,這裏我們選擇 .msi文件的安裝程序,當然你想下載 .zip也是可以的。
2.3.2 Reids的安裝
雙擊下載好的 .msi文件
——————————————————————————————————
這裏勾選一下就會添加到windows服務中(這樣比較方便),路徑根據自己的需求更改。
——————————————————————————————————
端口保持默認,一直下一步就好
安裝好之後就可以在計算機管理的服務中看到Redis正在運行了
2.4 Redis可視化根據RedisDesktopManager的安裝
新版本的RedisDesktopManager是收費的,所以這裏我們只能用老版本的。
鏈接:https://pan.baidu.com/s/1n-mld1Y0O61VopTFG_W8Vw
提取碼:k9xz
下載好後雙擊運行即可,一直下一步安裝即可。