Redis學習 Nosql概述,資料型別,四大分類

2021-10-25 09:15:26 字數 2645 閱讀 3974

(1)單機mysql的時代

(2)memcached(快取)+mysql+垂直拆分

**80%的情況都是在讀取,每次都要去查詢資料庫的話就會很麻煩,所以說我們希望減輕資料庫的壓力,我們可以使用快取來

保證效率。

發展過程:優化資料結構和索引-->檔案快取(io)-->memcached(當時最熱門的技術)

(3)分庫分表+水平拆分+mysql集群

技術和業務在發展的同時,對人的要求也越來越高。

本質:資料庫(讀,寫)

早些年myisam;表鎖,十分影響效率,高併發下就會出現嚴重的鎖問題

轉戰innodb:行鎖

開始使用分庫分表來解決寫的壓力!

mysql的集群

nosql=not only sql(不僅僅是sql)

泛指非關係型資料庫的,隨著web2.0網際網路的誕生,傳統的關係型資料庫很難對付web2.0時代,尤其是超大規模的高併發的社群,

暴露出來很多難以克服的問題,nosql在當今大資料環境下發展的十分迅速,redis是發展最快的,而且是我們當下必須要掌握的

乙個技術。

很多的資料型別使用者的個人資訊,社交網路,地理位置,這些資料型別的儲存不需要乙個固定的格式,不需要多餘的操作就可以

橫向擴充套件的!map使用鍵值對來控制。

nosql特點:

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

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

3.資料型別是多樣性的!(不需要事先設計資料庫!隨取隨用!如果是資料量十分大的表,很多人就無法設計了!)

4.傳統rdbms和nosql

傳統的rdbms

-結構化組織

-sql

-資料和關係都存在單獨的表中

-操作,定義資料語言

-嚴格的一致性

-基礎的事務

-......

nosql

-不僅僅是資料

-沒有固定的查詢語言

-鍵值對儲存,列儲存,文件儲存,影象資料庫(社交關係)

-最終一致性

-cap定理和base(異地多活)

-高效能,高可用,高可擴

-......

了解:3v+3高

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

1.海量volume

2.多樣variety

3.實時velocity

大資料時代的3高:

1.高併發

2.高可擴

3.高效能

美團:redis+tair

文件行資料庫(bson 和json一樣):

(1)mongodb是乙個基於分布式檔案儲存的資料庫,c++編寫,主要用於處理大量的文件。

(2)mongodb是乙個介於關係型資料庫和非關係型資料庫中間的產品,mongodb是非關係型資料庫中功能最豐富,最像關係型資料庫的!

列儲存資料庫

圖關聯式資料庫

neo4j,infogrid 分類

examples舉例

典型應用場景

資料模型

優點缺點

鍵值(key-value)[3]tokyo cabinet/tyrant, redis, voldemort, oracle bdb

內容快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等。[3]

key 指向 value 的鍵值對,通常用hash table來實現[3]

查詢速度快

資料無結構化,通常只被當作字串或者二進位制資料[3]

列儲存資料庫[3]cassandra, hbase, riak

分布式的檔案系統

以列簇式儲存,將同一列資料存在一起

查詢速度快,可擴充套件性強,更容易進行分布式擴充套件

功能相對侷限

文件型資料庫[3]couchdb, mongodb

web應用(與key-value類似,value是結構化的,不同的是資料庫能夠了解value的內容)

key-value對應的鍵值對,value為結構化資料

資料結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構

查詢效能不高,而且缺乏統一的查詢語法。

對,value為結構化資料

資料結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構

查詢效能不高,而且缺乏統一的查詢語法。

圖形(graph)資料庫[3]neo4j, infogrid, infinite graph

社交網路,推薦系統等。專注於構建關係圖譜

圖結構利用圖結構相關演算法。比如最短路徑定址,n度關係查詢等

很多時候需要對整個圖做計算才能得出需要的資訊,而且這種結構不太好做分布式的集群方案。[3]

Redis學習(一) nosql概述

單機mysql時代資料量太大,乙個機器放不下了 資料的索引,乙個機器記憶體也放不下 訪問量 讀寫混合 乙個伺服器承受不了 只要你開始出現以上情況之一,那麼你就必須要晉級!memcahced 快取 mysql 垂直拆分 80 的情況是在讀,每次要去查資料庫的話就十分麻煩,所以我們希望減輕資料庫的壓力,...

Redis入門 Nosql概述

1 單機mysql時代 90年代,乙個 的訪問量一般不會太大,單個資料庫完全夠用。隨著使用者增多,出現以下問題 資料量增加到一定程度,單機資料庫就放不下了 資料的索引 b tree 乙個機器記憶體也存放不下 訪問量變大後 讀寫混合 一台伺服器承受不住。2 memcached 快取 mysql 垂直拆...

NOSQL理念概述

主流的nosql產品 redis是一款高效能的nosql系列的非關係型資料庫 nosql nosql not only sql 意即 不僅僅是sql 是一項全新的資料庫理念,泛指非關係型的資料庫。隨著網際網路web2.0 的興起,傳統的關聯式資料庫在應付web2.0 特別是超大規模和高併發的sns型...