【Redis6快速深入学习01】NoSQL数据库简介
文章目錄
- 1 NoSQL數(shù)據(jù)庫簡介
- 1.1 技術(shù)發(fā)展
- 1.2 NoSQL數(shù)據(jù)庫
- 1.3 行式存儲數(shù)據(jù)庫(大數(shù)據(jù)時(shí)代)
- 1.4 圖關(guān)系型數(shù)據(jù)庫
1 NoSQL數(shù)據(jù)庫簡介
1.1 技術(shù)發(fā)展
技術(shù)的分類
Web1.0時(shí)代
Web1.0的時(shí)代,數(shù)據(jù)訪問量很有限,用一夫當(dāng)關(guān)的高性能的單點(diǎn)服務(wù)器可以解決大部分問題。
Web2.0時(shí)代
隨著Web2.0的時(shí)代的到來,用戶訪問量大幅度提升,同時(shí)產(chǎn)生了大量的用戶數(shù)據(jù)。加上后來的智能移動設(shè)備的普及,所有的互聯(lián)網(wǎng)平臺都面臨了巨大的性能挑戰(zhàn)。
解決CPU及內(nèi)存壓力
解決IO壓力
1.2 NoSQL數(shù)據(jù)庫
NoSQL數(shù)據(jù)庫概述
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關(guān)系型的數(shù)據(jù)庫。
NoSQL 不依賴業(yè)務(wù)邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數(shù)據(jù)庫的擴(kuò)展能力。
- 不遵循SQL標(biāo)準(zhǔn)。
- 不支持ACID。
- 遠(yuǎn)超于SQL的性能。
NoSQL適用場景
- 對數(shù)據(jù)高并發(fā)的讀寫
- 海量數(shù)據(jù)的讀寫
- 對數(shù)據(jù)高可擴(kuò)展性的
NoSQL不適用場景
- 需要事務(wù)支持
- 基于sql的結(jié)構(gòu)化查詢存儲,處理復(fù)雜的關(guān)系,需要即席查詢。
- (用不著sql的和用了sql也不行的情況,請考慮用NoSql)
Redis
-
幾乎覆蓋了Memcached的絕大部分功能
-
數(shù)據(jù)都在內(nèi)存中,支持持久化,主要用作備份恢復(fù)
-
除了支持簡單的key-value模式,還支持多種數(shù)據(jù)結(jié)構(gòu)的存儲,比如 list、set、hash、zset等。
-
一般是作為緩存數(shù)據(jù)庫輔助持久化的數(shù)據(jù)庫
MongoDB
-
高性能、開源、模式自由(schema free)的 文檔型數(shù)據(jù)庫
-
數(shù)據(jù)都在內(nèi)存中, 如果內(nèi)存不足,把不常用的數(shù)據(jù)保存到硬盤
-
雖然是key-value模式,但是對value(尤其是 json)提供了豐富的查詢功能
-
支持二進(jìn)制數(shù)據(jù)及大型對象
-
可以根據(jù)數(shù)據(jù)的特點(diǎn) 替代RDBMS ,成為獨(dú)立的數(shù)據(jù)庫。或者配合RDBMS,存儲特定的數(shù)據(jù)。
1.3 行式存儲數(shù)據(jù)庫(大數(shù)據(jù)時(shí)代)
行式數(shù)據(jù)庫
列式數(shù)據(jù)庫
Hbase
HBase是Hadoop項(xiàng)目中的數(shù)據(jù)庫。它用于需要對大量的數(shù)據(jù)進(jìn)行隨機(jī)、實(shí)時(shí)的讀寫操作的場景中。
HBase的目標(biāo)就是處理數(shù)據(jù)量非常龐大的表,可以用普通的計(jì)算機(jī)處理超過10億行數(shù)據(jù),還可處理有數(shù)百萬列元素的數(shù)據(jù)表。
1.4 圖關(guān)系型數(shù)據(jù)庫
主要應(yīng)用:社會關(guān)系,公共交通網(wǎng)絡(luò),地圖及網(wǎng)絡(luò)拓譜 n×(n?1)/2n\times(n-1)/2n×(n?1)/2
10億行數(shù)據(jù),還可處理有數(shù)百萬列元素的數(shù)據(jù)表。
總結(jié)
以上是生活随笔為你收集整理的【Redis6快速深入学习01】NoSQL数据库简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【尚硅谷】大厂必备技术之JUC并发编程—
- 下一篇: 【数据结构】对排序的综合总结