概念
No Only SQL,泛指非關(guān)系型數(shù)據(jù)庫,互聯(lián)網(wǎng)web2.0的產(chǎn)物。
分類
- 鍵值存儲(chǔ)數(shù)據(jù)庫(Key-Value)
| 分類 | 舉例 | 典型應(yīng)用場景 | 數(shù)據(jù)模型 | 優(yōu)點(diǎn) | 缺點(diǎn) |
| --------|
| 鍵值(key-value)|Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB|內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高訪問負(fù)載,也用于一些日志系統(tǒng)等等。|Key 指向 Value 的鍵值對,通常用hash table來實(shí)現(xiàn)| 查找速度快|數(shù)據(jù)無結(jié)構(gòu)化,通常只被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù)
|列存儲(chǔ)數(shù)據(jù)庫|Cassandra, HBase, Riak|分布式的文件系統(tǒng)|以列簇式存儲(chǔ),將同一列數(shù)據(jù)存在一起|查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展|功能相對局限
|文檔型數(shù)據(jù)庫|CouchDB, MongoDb|Web應(yīng)用(與Key-Value類似,Value是結(jié)構(gòu)化的,不同的是數(shù)據(jù)庫能夠了解Value的內(nèi)容)|Key-Value對應(yīng)的鍵值對,Value為結(jié)構(gòu)化數(shù)據(jù)|數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格,表結(jié)構(gòu)可變,不需要像關(guān)系型數(shù)據(jù)庫一樣需要預(yù)先定義表結(jié)構(gòu)|查詢性能不高,而且缺乏統(tǒng)一的查詢語法。
|圖形(Graph)數(shù)據(jù)庫|Neo4J, InfoGrid, Infinite Graph|社交網(wǎng)絡(luò),推薦系統(tǒng)等。專注于構(gòu)建關(guān)系圖譜|圖結(jié)構(gòu)|利用圖結(jié)構(gòu)相關(guān)算法。比如最短路徑尋址,N度關(guān)系查找等|很多時(shí)候需要對整個(gè)圖做計(jì)算才能得出需要的信息,而且這種結(jié)構(gòu)不太好做分布式的集群方案。
特點(diǎn)
- 易擴(kuò)展
- 靈活的數(shù)據(jù)模型
- 高性能的大數(shù)據(jù)讀寫
- 高可用