Redis從0到精通--Nosql概述
阿新 • • 發佈:2021-10-14
Nosql概述
什麼是Nosql
Not Only Structured Query Language
關係型資料庫:列+行,同一個表下資料的結構是一樣的。
非關係型資料庫:資料儲存沒有固定的格式,並且可以進行橫向擴充套件。
NoSQL泛指非關係型資料庫,隨著web2.0網際網路的誕生,傳統的關係型資料庫很難對付web2.0時代!尤其是超大規模的高併發的社群,暴露出來很多難以克服的問題,NoSQL在當今大資料環境下發展的十分迅速,Redis是發展最快的。
Nosql特點
-
方便擴充套件(資料之間沒有關係,很好擴充套件!)
-
大資料量高效能(Redis一秒可以寫8萬次,讀11萬次,NoSQL的快取記錄級,是一種細粒度的快取,效能會比較高!)
-
資料型別是多樣型的!(不需要事先設計資料庫,隨取隨用)
-
傳統的 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