nosql四大分類:1、KV鍵值對(duì)。
十年的乳源網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整乳源建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“乳源網(wǎng)站設(shè)計(jì)”,“乳源網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
2、文檔型數(shù)據(jù)庫(kù)。
3、列存儲(chǔ)數(shù)據(jù)庫(kù)。
4、圖關(guān)系數(shù)據(jù)庫(kù)。nosql是非關(guān)系型數(shù)據(jù)庫(kù),NoSQL(NotOnlySQL),意思是"不僅僅是SQL",指的是非關(guān)系型數(shù)據(jù)庫(kù),是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱。
nosql數(shù)據(jù)庫(kù)的四種類型如下:
1.key-value鍵值存儲(chǔ)數(shù)據(jù)庫(kù):
相關(guān)產(chǎn)品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要應(yīng)用: 內(nèi)容緩存,處理大量數(shù)據(jù)的高負(fù)載訪問,也用于系統(tǒng)日志。
優(yōu)點(diǎn):查找速度快,大量操作時(shí)性能高。
2.列存儲(chǔ)數(shù)據(jù)庫(kù):
相關(guān)產(chǎn)品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要應(yīng)用: 分布式數(shù)據(jù)的儲(chǔ)存與管理。
優(yōu)點(diǎn):查找速度快,可擴(kuò)展性強(qiáng),容易進(jìn)行分布式擴(kuò)展。
缺點(diǎn):功能相對(duì)局限。
3.文檔型數(shù)據(jù)庫(kù)
相關(guān)產(chǎn)品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要應(yīng)用: web應(yīng)用,管理面向文檔的數(shù)據(jù)或者類似的半結(jié)構(gòu)化數(shù)據(jù)。
優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)靈活,表結(jié)構(gòu)可變,復(fù)雜性低。
缺點(diǎn):查詢效率低,且缺乏統(tǒng)一的查詢語言。
4.Graph圖形數(shù)據(jù)庫(kù)
相關(guān)產(chǎn)品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要應(yīng)用: 復(fù)雜,互連接,低結(jié)構(gòu)化的圖結(jié)構(gòu)場(chǎng)合, 專注構(gòu)建關(guān)系圖譜。
優(yōu)點(diǎn): 利用圖結(jié)構(gòu)相關(guān)算法, 可用于構(gòu)建復(fù)雜的關(guān)系圖譜。
缺點(diǎn): 復(fù)雜度高。
1. 鍵值數(shù)據(jù)庫(kù)
相關(guān)產(chǎn)品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
應(yīng)用:內(nèi)容緩存
優(yōu)點(diǎn):擴(kuò)展性好、靈活性好、大量寫操作時(shí)性能高
缺點(diǎn):無法存儲(chǔ)結(jié)構(gòu)化信息、條件查詢效率較低
使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族數(shù)據(jù)庫(kù)
相關(guān)產(chǎn)品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
應(yīng)用:分布式數(shù)據(jù)存儲(chǔ)與管理
優(yōu)點(diǎn):查找速度快、可擴(kuò)展性強(qiáng)、容易進(jìn)行分布式擴(kuò)展、復(fù)雜性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文檔數(shù)據(jù)庫(kù)
相關(guān)產(chǎn)品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
應(yīng)用:存儲(chǔ)、索引并管理面向文檔的數(shù)據(jù)或者類似的半結(jié)構(gòu)化數(shù)據(jù)
優(yōu)點(diǎn):性能好、靈活性高、復(fù)雜性低、數(shù)據(jù)結(jié)構(gòu)靈活
缺點(diǎn):缺乏統(tǒng)一的查詢語言
使用者:百度云數(shù)據(jù)庫(kù)(MongoDB)、SAP(MongoDB)
4. 圖形數(shù)據(jù)庫(kù)
圖形數(shù)據(jù)庫(kù)-使用圖作為數(shù)據(jù)模型來存儲(chǔ)數(shù)據(jù)。
相關(guān)產(chǎn)品:Neo4J、OrientDB、InfoGrid、GraphDB
應(yīng)用:大量復(fù)雜、互連接、低結(jié)構(gòu)化的圖結(jié)構(gòu)場(chǎng)合,如社交網(wǎng)絡(luò)、推薦系統(tǒng)等
優(yōu)點(diǎn):靈活性高、支持復(fù)雜的圖形算法、可用于構(gòu)建復(fù)雜的關(guān)系圖譜
缺點(diǎn):復(fù)雜性高、只能支持一定的數(shù)據(jù)規(guī)模
使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)
NoSQL描述的是大量結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方法的集合,根據(jù)結(jié)構(gòu)化方法以及應(yīng)用場(chǎng)合的不同,主要可以將NoSQL分為以下幾類。
(1)Column-Oriented
面向檢索的列式存儲(chǔ),其存儲(chǔ)結(jié)構(gòu)為列式結(jié)構(gòu),同于關(guān)系型數(shù)據(jù)庫(kù)的行式結(jié)構(gòu),這種結(jié)構(gòu)會(huì)讓很多統(tǒng)計(jì)聚合操作更簡(jiǎn)單方便,使系統(tǒng)具有較高的可擴(kuò)展性。這類數(shù)據(jù)庫(kù)還可以適應(yīng)海量數(shù)據(jù)的增加以及數(shù)據(jù)結(jié)構(gòu)的變化,這個(gè)特點(diǎn)與云計(jì)算所需的相關(guān)需求是相符合的,比如GoogleAppengine的BigTable以及相同設(shè)計(jì)理念的Hadoop子系統(tǒng)HaBase就是這類的典型代表。需要特別指出的是,Big Table特別適用于MapReduce處理,這對(duì)于云計(jì)算的發(fā)展有很高的適應(yīng)性。
(2)Key-Value。
面向高性能并發(fā)讀/寫的緩存存儲(chǔ),其結(jié)構(gòu)類似于數(shù)據(jù)結(jié)構(gòu)中的Hash表,每個(gè)Key分別對(duì)應(yīng)一個(gè)Value,能夠提供非??斓牟樵兯俣?、大數(shù)據(jù)存放量和高并發(fā)操作,非常適合通過主鍵對(duì)數(shù)據(jù)進(jìn)行查詢和修改等操作。Key-Value數(shù)據(jù)庫(kù)的主要特點(diǎn)是具有極高的并發(fā)讀/寫性能,非常適合作為緩存系統(tǒng)使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value數(shù)據(jù)庫(kù)的代表。
(3)Document-Oriented。
面向海量數(shù)據(jù)訪問的文檔存儲(chǔ),這類存儲(chǔ)的結(jié)構(gòu)與Key-Value非常相似,也是每個(gè)Key分別對(duì)應(yīng)一個(gè)Value,但是這個(gè)Value主要以JSON(JavaScriptObjectNotations)或者XML等格式的文檔來進(jìn)行存儲(chǔ)。這種存儲(chǔ)方式可以很方便地被面向?qū)ο蟮恼Z言所使用。這類數(shù)據(jù)庫(kù)可在海量的數(shù)據(jù)中快速查詢數(shù)據(jù),典型代表為MongoDB、CouchDB等。
NoSQL具有擴(kuò)展簡(jiǎn)單、高并發(fā)、高穩(wěn)定性、成本低廉等優(yōu)勢(shì),也存在一些問題。例如,NoSQL暫不提供SQL的支持,會(huì)造成開發(fā)人員的額外學(xué)習(xí)成本;NoSQL大多為開源軟件其成熟度與商用的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)相比有差距;NoSQL的架構(gòu)特性決定了其很難保證數(shù)據(jù)的完整性,適合在一些特殊的應(yīng)用場(chǎng)景使用。
基本含義NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無疑是一種全新的思維的注入。NoSQLNoSQL數(shù)據(jù)庫(kù)的四大分類鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù)這一類數(shù)據(jù)庫(kù)主要會(huì)使用到一個(gè)哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。Key/value模型對(duì)于IT系統(tǒng)來說的優(yōu)勢(shì)在于簡(jiǎn)單、易部署。但是如果DBA只對(duì)部分值進(jìn)行查詢或更新的時(shí)候,Key/value就顯得效率低下了。[3] 舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.列存儲(chǔ)數(shù)據(jù)庫(kù)。這部分?jǐn)?shù)據(jù)庫(kù)通常是用來應(yīng)對(duì)分布式存儲(chǔ)的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點(diǎn)是指向了多個(gè)列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.文檔型數(shù)據(jù)庫(kù)文檔型數(shù)據(jù)庫(kù)的靈感是來自于Lotus Notes辦公軟件的,而且它同第一種鍵值存儲(chǔ)相類似。該類型的數(shù)據(jù)模型是版本化的文檔,半結(jié)構(gòu)化的文檔以特定的格式存儲(chǔ),比如JSON。文檔型數(shù)據(jù)庫(kù)可 以看作是鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許之間嵌套鍵值。而且文檔型數(shù)據(jù)庫(kù)比鍵值數(shù)據(jù)庫(kù)的查詢效率更高。如:CouchDB, MongoDb. 國(guó)內(nèi)也有文檔型數(shù)據(jù)庫(kù)SequoiaDB,已經(jīng)開源。圖形(Graph)數(shù)據(jù)庫(kù)圖形結(jié)構(gòu)的數(shù)據(jù)庫(kù)同其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫(kù)不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多個(gè)服務(wù)器上。NoSQL數(shù)據(jù)庫(kù)沒有標(biāo)準(zhǔn)的查詢語言(SQL),因此進(jìn)行數(shù)據(jù)庫(kù)查詢需要制定數(shù)據(jù)模型。許多NoSQL數(shù)據(jù)庫(kù)都有REST式的數(shù)據(jù)接口或者查詢API。[2] 如:Neo4J, InfoGrid, Infinite Graph.因此,我們總結(jié)NoSQL數(shù)據(jù)庫(kù)在以下的這幾種情況下比較適用:1、數(shù)據(jù)模型比較簡(jiǎn)單;2、需要靈活性更強(qiáng)的IT系統(tǒng);3、對(duì)數(shù)據(jù)庫(kù)性能要求較高;4、不需要高度的數(shù)據(jù)一致性;5、對(duì)于給定key,比較容易映射復(fù)雜值的環(huán)境。