NoSQL是什麼? 綜述

2021-10-05 20:30:03 字數 1163 閱讀 7039

「nosql指的是非關係型的資料庫。nosql也稱作not only sql的縮寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。

為什麼要有nosql?

nosql在記憶體中儲存資料,都具有非常高的讀寫效能,尤其在大資料容量下,同樣表現優秀。這得益於它的無關係性,資料庫的結構簡單。

一般mysql使用query cache,每次表的更新cache 就失效,是一種大粒度的cache,在針對web2.0的互動頻繁的應用,cache效能不高。而nosql的cache是記錄級的,是一種細粒度的cache,所以nosql在這個層面上來說就要效能高很多了

分類example舉例

典型應用場景

資料模型

優點缺點

鍵值對tokyo,cabinet/tyrant,redis,voldemort,oracle bdb

記憶體快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等

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

查詢速度快

資料無結構化,通常只被當做字串或二進位制資料

列儲存資料庫

cassandra,hbase,riak

分布式的檔案系統

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

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

功能相對侷限

文件型資料庫

couchdb,mongodb

web應用

key-value

資料結構要求不嚴格,表結構可變

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

圖形資料庫

neo4j,infogrid,infinite graph

社交網路,推薦系統等

圖結構利用圖結構相關演算法

很多時候需要對整個圖做計算

cap理論是指在分布式儲存系統中,最多只能實現上述的兩點,由於網路硬體延遲丟包,所以p(分割槽容錯性)是我們所必須要實現的

**一般實現ap

而redis、mongodb則是實現cp

由多台計算機和通訊的軟體元件通過計算機網路連線組成。分布式系統是建立在網路之上的軟體系統,正是因為這樣,所以分布式系統具有高度的內聚性和透明性。

簡單來說分布式就是不同的多型伺服器部署不同的服務模組

不同的多台伺服器部署相同的服務模組,通過分布式排程軟體進行統一的排程。

NoSQL是什麼意思

今天小編帶大家了解下nosql,從廣義上說,nosql指的是非關係型資料庫,說的其實不是不用sql,而是不只是sql not only sql nosql旨在打破關係型資料庫的統治格局,解決關係型資料庫解決不了的問題。各個nosql資料庫都有乙個共同的特點,就是能儲存海量的資料。nosql沒有複雜的...

為什麼使用nosql

工作中遇到的挑戰 1,高併發讀寫 web2.0 資料庫併發負載非常高,往往達到每秒上萬次的讀寫請求 2,高容量儲存和高效儲存 web2.0 通常需要在後台資料庫中儲存海量資料,如何儲存海量資料並進行高效的查詢往往是乙個挑戰 3,高擴充套件性和高可用性 隨著系統的使用者量和訪問量與日俱增,需要資料庫能...

你是什麼就是什麼!

不管到了什麼樣的年紀,我們都很難放棄對外表的一些執著吧。我一直要到遇見了乙個很特別很特別的人,從他身上,我才真正的懂了 外表之於乙個人的真正意義是什麼 去年,我買了新房子,本來是想委託我的小學同學幫我做室內設計,但是因為一些因素,他推薦了他口中比他更厲害的大師級設計師哥哥給我,他說大哥一直都做大飯店...