1. 程式人生 > 其它 >Redis從0到精通--Nosql概述

Redis從0到精通--Nosql概述

Nosql概述

什麼是Nosql

Not Only Structured Query Language

關係型資料庫:列+行,同一個表下資料的結構是一樣的。

非關係型資料庫:資料儲存沒有固定的格式,並且可以進行橫向擴充套件。

NoSQL泛指非關係型資料庫,隨著web2.0網際網路的誕生,傳統的關係型資料庫很難對付web2.0時代!尤其是超大規模的高併發的社群,暴露出來很多難以克服的問題,NoSQL在當今大資料環境下發展的十分迅速,Redis是發展最快的。

Nosql特點

  1. 方便擴充套件(資料之間沒有關係,很好擴充套件!)

  2. 大資料量高效能(Redis一秒可以寫8萬次,讀11萬次,NoSQL的快取記錄級,是一種細粒度的快取,效能會比較高!)

  3. 資料型別是多樣型的!(不需要事先設計資料庫,隨取隨用)

  4. 傳統的 RDBMS 和 NoSQL

傳統的 RDBMS(關係型資料庫)
- 結構化組織
- SQL
- 資料和關係都存在單獨的表中 row col
- 操作,資料定義語言
- 嚴格的一致性
- 基礎的事務
- ...
Nosql
- 不僅僅是資料
- 沒有固定的查詢語言
- 鍵值對儲存,列儲存,文件儲存,圖形資料庫(社交關係)
- 最終一致性
- CAP定理和BASE
- 高效能,高可用,高擴充套件
- ...

瞭解:3V + 3高

大資料時代的3V :主要是描述問題

海量Velume

多樣Variety

實時Velocity

大資料時代的3高 : 主要是對程式的要求

高併發

高可擴

高效能

真正在公司中的實踐:NoSQL + RDBMS 一起使用才是最強的。

阿里巴巴演進分析

推薦閱讀:阿里雲的這群瘋子https://yq.aliyun.com/articles/653511

# 商品資訊
- 一般存放在關係型資料庫:Mysql,阿里巴巴使用的Mysql都是經過內部改動的。

# 商品描述、評論(文字居多)
- 文件型資料庫:MongoDB

# 圖片
- 分散式檔案系統 FastDFS
- 淘寶:TFS
- Google: GFS
- Hadoop: HDFS
- 阿里雲: oss

# 商品關鍵字 用於搜尋
- 搜尋引擎:solr,elasticsearch
- 阿里:Isearch 多隆

# 商品熱門的波段資訊
- 記憶體資料庫:Redis,Memcache

# 商品交易,外部支付介面
- 第三方應用

Nosql的四大分類

KV鍵值對

  • 新浪:Redis
  • 美團:Redis + Tair
  • 阿里、百度:Redis + Memcache

文件型資料庫(bson資料格式):

  • MongoDB(掌握)

基於分散式檔案儲存的資料庫。C++編寫,用於處理大量文件。 MongoDB是RDBMS和NoSQL的中間產品。MongoDB是非關係型資料庫中功能最豐富的,NoSQL中最像關係型資料庫的資料庫。

  • ConthDB

列儲存資料庫

  • HBase(大資料必學)
  • 分散式檔案系統

圖關係資料庫

用於廣告推薦,社交網路

  • Neo4j、InfoGrid