更新時(shí)間:2023年03月02日17時(shí)37分 來源:傳智教育 瀏覽次數(shù):
隨著互聯(lián)網(wǎng)Web2.0的興起,關(guān)系數(shù)據(jù)庫在處理超大規(guī)模和高并發(fā)的Web2.0網(wǎng)站的數(shù)據(jù)時(shí)存在一些不足,需要采用更適合解決大規(guī)模數(shù)據(jù)集合和多重?cái)?shù)據(jù)種類的數(shù)據(jù)庫,我們通常將這種類型的數(shù)據(jù)庫統(tǒng)稱為非關(guān)系數(shù)據(jù)庫(Not Only SQL,NoSQL)。非關(guān)系數(shù)據(jù)庫的特點(diǎn)在于數(shù)據(jù)模型比較簡單,靈活性強(qiáng),性能高。常見的非關(guān)系數(shù)據(jù)庫有以下4種。
(1)鍵值存儲(chǔ)數(shù)據(jù)庫
鍵值(Key-Value)數(shù)據(jù)庫類似傳統(tǒng)語言中使用的哈希表,可以通過鍵添加、查詢或刪除數(shù)據(jù)鍵值存儲(chǔ)數(shù)據(jù)庫查找速度快,通常用于處理大量數(shù)據(jù)的高訪問負(fù)載,也用于一些日志系統(tǒng)等,其典型產(chǎn)品有Memcached和Redis。
(2)列存儲(chǔ)數(shù)據(jù)庫
列存儲(chǔ)(Column-oricnted)數(shù)據(jù)庫采用列簇式存儲(chǔ),將同一列數(shù)據(jù)存在一起。列存儲(chǔ)數(shù)據(jù)庫查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展,通常用來應(yīng)對(duì)分布式存儲(chǔ)海量數(shù)據(jù),其典型產(chǎn)品有Cassandra 和HBase。
(3)面向文檔數(shù)據(jù)庫
面向文檔(Document-oriented)數(shù)據(jù)庫將數(shù)據(jù)以文檔形式存儲(chǔ),每個(gè)文檔是一系列數(shù)據(jù)項(xiàng)的集合。面向文檔數(shù)據(jù)庫的靈感來自LotusNotes辦公軟件,可以看作鍵值數(shù)據(jù)庫的升級(jí)版,并且允許鍵值之間嵌套鍵值,通常用于Web應(yīng)用,其典型產(chǎn)品有MongoDB 和 CouchDB。
(4)圖形數(shù)據(jù)庫
圖形(Graph)數(shù)據(jù)庫允許將數(shù)據(jù)以圖的方式存儲(chǔ)。以圖的方式存儲(chǔ)數(shù)據(jù)時(shí),實(shí)體被作為頂點(diǎn),而實(shí)體之間的關(guān)系則被作為邊。圖形數(shù)據(jù)庫專注于構(gòu)建關(guān)系圖譜,通常應(yīng)用于社交網(wǎng)絡(luò)、推薦系統(tǒng)等,其典型產(chǎn)品有Neo4J和InforGirid。
北京校區(qū)