NoSQL

創(chuàng)新互聯(lián)成立于2013年,先為密山等服務(wù)建站,密山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為密山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
數(shù)據(jù)庫系統(tǒng)目前主流的有
HBase、MongoDB
和
SimpleDB等,每個產(chǎn)品的實(shí)現(xiàn)都不盡相同,還是要根據(jù)你的實(shí)際應(yīng)用來分析的的。比如你使用的Hbase,那就參考hadoop的擴(kuò)展方法即可。
1. 鍵值數(shù)據(jù)庫
相關(guān)產(chǎn)品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
應(yīng)用:內(nèi)容緩存
優(yōu)點(diǎn):擴(kuò)展性好、靈活性好、大量寫操作時性能高
缺點(diǎn):無法存儲結(jié)構(gòu)化信息、條件查詢效率較低
使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族數(shù)據(jù)庫
相關(guān)產(chǎn)品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
應(yīng)用:分布式數(shù)據(jù)存儲與管理
優(yōu)點(diǎn):查找速度快、可擴(kuò)展性強(qiáng)、容易進(jìn)行分布式擴(kuò)展、復(fù)雜性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文檔數(shù)據(jù)庫
相關(guān)產(chǎn)品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
應(yīng)用:存儲、索引并管理面向文檔的數(shù)據(jù)或者類似的半結(jié)構(gòu)化數(shù)據(jù)
優(yōu)點(diǎn):性能好、靈活性高、復(fù)雜性低、數(shù)據(jù)結(jié)構(gòu)靈活
缺點(diǎn):缺乏統(tǒng)一的查詢語言
使用者:百度云數(shù)據(jù)庫(MongoDB)、SAP(MongoDB)
4. 圖形數(shù)據(jù)庫
圖形數(shù)據(jù)庫-使用圖作為數(shù)據(jù)模型來存儲數(shù)據(jù)。
相關(guān)產(chǎn)品:Neo4J、OrientDB、InfoGrid、GraphDB
應(yīng)用:大量復(fù)雜、互連接、低結(jié)構(gòu)化的圖結(jié)構(gòu)場合,如社交網(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太火,冒出太多產(chǎn)品了,保守估計也成百上千了。
互聯(lián)網(wǎng)公司常用的基本集中在以下幾種,每種只舉一個比較常見或者應(yīng)用比較成功的例子吧。
1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機(jī)恢復(fù),同時支持replication提供讀可擴(kuò)展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盤的key-value storage, 模型單一簡單,數(shù)據(jù)量不受限于內(nèi)存大小,數(shù)據(jù)落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優(yōu)化,順序?qū)懕P的方式對于新硬件ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。
3. Document Store: Mongodb
分布式nosql,具備了區(qū)別mysql的最大亮點(diǎn):可擴(kuò)展性。mongodb 最新引人的莫過于提供了sql接口,是目前nosql里最像mysql的,只是沒有ACID的特性,發(fā)展很快,支持了索引等特性,上手容易,對于數(shù)據(jù)量遠(yuǎn)超內(nèi)存限制的場景來說,還需要慎重。
4. Column Table Store: HBase
這個富二代似乎不用贅述了,最大的優(yōu)勢是開源,對于普通的scan和基于行的get等基本查詢,性能完全不是問題,只是只提供裸的api,易用性上是短板,可擴(kuò)展性方面是最強(qiáng)的,其次坐上了Hadoop的快車,社區(qū)發(fā)展很快,各種基于其上的開源產(chǎn)品不少,來解決諸如join、聚集運(yùn)算等復(fù)雜查詢。
NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。
一般將NoSQL數(shù)據(jù)庫分為四大類:鍵值(Key-Value)存儲數(shù)據(jù)庫、列存儲數(shù)據(jù)庫、文檔型數(shù)據(jù)庫和圖形(Graph)數(shù)據(jù)庫。它們的數(shù)據(jù)模型、優(yōu)缺點(diǎn)、典型應(yīng)用場景。
鍵值(Key-Value)存儲數(shù)據(jù)庫Key指向Value的鍵值對,通常用hash表來實(shí)現(xiàn)查找速度快數(shù)據(jù)無結(jié)構(gòu)化(通常只被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù))內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高訪問負(fù)載,也用于一些日志系統(tǒng)等。
列存儲數(shù)據(jù)庫,以列簇式存儲,將同一列數(shù)據(jù)存在一起查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展功能相對局限分布式的文件系統(tǒng)。
文檔型數(shù)據(jù)庫,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)一的查詢語法,Web應(yīng)用。
圖形(Graph)數(shù)據(jù)庫,圖結(jié)構(gòu),利用圖結(jié)構(gòu)相關(guān)算法(如最短路徑尋址,N度關(guān)系查找等),很多時候需要對整個圖做計算才能得出需要的信息,而且這種結(jié)構(gòu)不太好做分布式的集群方案,社交網(wǎng)絡(luò),推薦系統(tǒng)等。
文檔數(shù)據(jù)庫
源起:受Lotus Notes啟發(fā)。
數(shù)據(jù)模型:包含了key-value的文檔集合
例子:CouchDB, MongoDB
優(yōu)點(diǎn):數(shù)據(jù)模型自然,編程友好,快速開發(fā),web友好,CRUD。
圖數(shù)據(jù)庫
源起: 歐拉和圖理論。
數(shù)據(jù)模型:節(jié)點(diǎn)和關(guān)系,也可處理鍵值對。
例子:AllegroGraph, InfoGrid, Neo4j
優(yōu)點(diǎn):解決復(fù)雜的圖問題。
關(guān)系數(shù)據(jù)庫
源起: E. F. Codd 在A Relational Model of Data for Large Shared Data Banks提出的
數(shù)據(jù)模型:各種關(guān)系
例子:VoltDB, Clustrix, MySQL
優(yōu)點(diǎn):高性能、可擴(kuò)展的OLTP,支持SQL,物化視圖,支持事務(wù),編程友好。
對象數(shù)據(jù)庫
源起:圖數(shù)據(jù)庫研究
數(shù)據(jù)模型:對象
例子:Objectivity, Gemstone
優(yōu)點(diǎn):復(fù)雜對象模型,快速鍵值訪問,鍵功能訪問,以及圖數(shù)據(jù)庫的優(yōu)點(diǎn)。
Key-Value數(shù)據(jù)庫
源起:Amazon的論文 Dynamo 和 Distributed HashTables。
數(shù)據(jù)模型:鍵值對
例子:Membase, Riak
優(yōu)點(diǎn):處理大量數(shù)據(jù),快速處理大量讀寫請求。編程友好。
BigTable類型數(shù)據(jù)庫
源起:Google的論文 BigTable。
數(shù)據(jù)模型:列簇,每一行在理論上都是不同的
例子:HBase, Hypertable, Cassandra
優(yōu)點(diǎn):處理大量數(shù)據(jù),應(yīng)對極高寫負(fù)載,高可用,支持跨數(shù)據(jù)中心, MapReduce。
數(shù)據(jù)結(jié)構(gòu)服務(wù)
源起: ?
數(shù)據(jù)模型:字典操作,lists, sets和字符串值
例子:Redis
優(yōu)點(diǎn):不同于以前的任何數(shù)據(jù)庫
網(wǎng)格數(shù)據(jù)庫
源起:數(shù)據(jù)網(wǎng)格和元組空間研究。
數(shù)據(jù)模型:基于空間的架構(gòu)
例子:GigaSpaces, Coherence
優(yōu)點(diǎn):適于事務(wù)處理的高性能和高擴(kuò)展性
本文名稱:nosql的擴(kuò)展性,nosql的優(yōu)勢
文章起源:http://chinadenli.net/article2/dsehhoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計、微信公眾號、網(wǎng)站改版、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)