Redis(一)——NoSQL入門和概述

Redis(一)——NoSQL入門和概述

什麼是NoSQL

NoSQL=Not Only SQL,意爲「不單單是SQL」,即非關係型數據庫。docker

NoSQL特色

  • 易擴展
  • 大數據量,高性能
  • 多樣靈活的數據模型

Redis核心

  • KV:鍵值對
  • Cache:緩存
  • Persistence:持久化

大數據時代的3V

  1. 海量Volume:海量的數據
  2. 多樣Variety:多樣化的數據
  3. 實時Velocity:實時的數據

互聯網需求的3高

  1. 高併發
  2. 高可擴
  3. 高性能

橫向擴展和縱向擴展

縱向擴展:如計算機加硬件,總有極限數據庫

橫向擴展:至關於啓動多個實例作同一件事情,有點像docker的容器和負載均衡緩存

NoSQL數據模型簡介——聚合模型

  1. KV鍵值對服務器

  2. Bson,相似於JSON架構

  3. 列族:如圖所示併發

    1532764099137

  4. 圖形:如圖所示負載均衡

    1532764042505

NoSQL的CAP理論

CAP理論:分佈式

  • C:強一致性
  • A:高可用性
  • P:分佈式容忍性

CAP的3進2:高併發

在分佈式系統中,最多隻能選取CAP理論的兩點,如CA、CP、AP。性能

ps:

其中AP爲大多數網站架構的選擇,

CA就是之前的關係型數據庫,如MySQL

CP指的就是Redis、MongoDB

BASE

BASE:就是爲了解決關係型數據庫強一致性引發的問題而引發的可用性下降提出的解決方案。

  • 基本可用(Basically Available)
  • 軟狀態(Soft State)
  • 最終一致(Eventually consistent)

思想:經過讓系統放鬆某一時刻數據一致性要求來換取系統總體伸縮性和性能上的改觀。

分佈式和集羣

分佈式:不一樣的多臺服務器上面部署不一樣的服務模塊(工程),他們之間經過RPC/RMI之間的通訊和調用,對外提供服務和組內協做。

集羣:不一樣的多臺服務器上面部署相同的服務模塊,經過分佈式調度軟件進行統一調度,對外提供服務和訪問。

相關文章
相關標籤/搜索