顧名思義就是非關系型數據庫,它的出現,就是為了解決關系型數據庫存在的一些問題,可以用NoSQL來進行彌補,現在聽得比較多的NoSQL數據庫有Redis、MongoDB、HBase等。
目前創(chuàng)新互聯已為上千余家的企業(yè)提供了網站建設、域名、網頁空間、網站托管、服務器租用、企業(yè)網站設計、金壇網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Web1.0的時代,數據訪問量很有限,用一夫當關的高性能的單點服務器可以解決大部分問題。
隨著Web2.0的時代的到來,用戶訪問量大幅度提升,同時產生了大量的用戶數據。加上后來的智能移動設備的普及,所有的互聯網平臺都面臨了巨大的性能挑戰(zhàn)。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關系型的數據庫。
NoSQL 不依賴業(yè)務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數據庫的擴展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式數據庫 列式數據庫 Hbase Hbase
HBase是Hadoop項目中的數據庫。它用于需要對大量的數據進行隨機、實時的讀寫操作的場景中。
HBase的目標就是處理數據量非常龐大的表,可以用普通的計算機處理超過10億行數據,還可處理有數百萬列元素的數據表。
Cassandra Cassandra
Apache Cassandra是一款免費的開源NoSQL數據庫,其設計目的在于管理由大量商用服務器構建起來的龐大集群上的海量數據集(數據量通常達到PB級別)。在眾多顯著特性當中,Cassandra最為卓越的長處是對寫入及讀取操作進行規(guī)模調整,而且其不強調主集群的設計思路能夠以相對直觀的方式簡化各集群的創(chuàng)建與擴展流程。
主要應用:社會關系,公共交通網絡,地圖及網絡拓譜(n*(n-1)/2)
1. 鍵值數據庫
相關產品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
應用:內容緩存
優(yōu)點:擴展性好、靈活性好、大量寫操作時性能高
缺點:無法存儲結構化信息、條件查詢效率較低
使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2. 列族數據庫
相關產品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
應用:分布式數據存儲與管理
優(yōu)點:查找速度快、可擴展性強、容易進行分布式擴展、復雜性低
使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)
3. 文檔數據庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
應用:存儲、索引并管理面向文檔的數據或者類似的半結構化數據
優(yōu)點:性能好、靈活性高、復雜性低、數據結構靈活
缺點:缺乏統(tǒng)一的查詢語言
使用者:百度云數據庫(MongoDB)、SAP(MongoDB)
4. 圖形數據庫
圖形數據庫-使用圖作為數據模型來存儲數據。
相關產品:Neo4J、OrientDB、InfoGrid、GraphDB
應用:大量復雜、互連接、低結構化的圖結構場合,如社交網絡、推薦系統(tǒng)等
優(yōu)點:靈活性高、支持復雜的圖形算法、可用于構建復雜的關系圖譜
缺點:復雜性高、只能支持一定的數據規(guī)模
使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)
分類一:鍵值數據庫
Redis,
Voldemort,
Oracle
BDB,國內的ssdb
分類二:列存儲數據庫
Cassandra,
HBase
分類三:文檔型數據庫
CouchDB,
MongoDb,國內的SequoiaDB
分類四:圖形(Graph)數據庫
Neo4J,
InfoGrid,
Infinite
Graph
NoSQL,泛指非關系型的數據庫。隨著互聯網web2.0網站的興起,傳統(tǒng)的關系數據庫在處理web2.0網站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網站已經顯得力不從心,出現了很多難以克服的問題,而非關系型的數據庫則由于其本身的特點得到了非常迅速的發(fā)展。
常見的Nosql數據庫有:
一、Redis數據庫
Redis(RemoteDictionaryServer),即遠程字典服務,是一個開源的使用ANSIC語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。
二、MongoDB數據庫
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。
Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
擴展資料:
對于NoSQL并沒有一個明確的范圍和定義,但是他們都普遍存在下面一些共同特征:
一、易擴展
NoSQL數據庫種類繁多,但是一個共同的特點都是去掉關系數據庫的關系型特性。數據之間無關系,這樣就非常容易擴展。無形之間,在架構的層面上帶來了可擴展的能力。
二、大數據量,高性能
NoSQL數據庫都具有非常高的讀寫性能,尤其在大數據量下,同樣表現優(yōu)秀。這得益于它的無關系性,數據庫的結構簡單。一般MySQL使用Query Cache。NoSQL的Cache是記錄級的,是一種細粒度的Cache,所以NoSQL在這個層面上來說性能就要高很多。
三、靈活的數據模型
NoSQL無須事先為要存儲的數據建立字段,隨時可以存儲自定義的數據格式。而在關系數據庫里,增刪字段是一件非常麻煩的事情。如果是非常大數據量的表,增加字段簡直就是——個噩夢。這點在大數據量的Web2.0時代尤其明顯。
四、高可用
NoSQL在不太影響性能的情況,就可以方便地實現高可用的架構。比如Cassandra、HBase模型,通過復制模型也能實現高可用。
參考資料來源:百度百科-NoSQL
nosql數據庫的四種類型如下:
1.key-value鍵值存儲數據庫:
相關產品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.
主要應用: 內容緩存,處理大量數據的高負載訪問,也用于系統(tǒng)日志。
優(yōu)點:查找速度快,大量操作時性能高。
2.列存儲數據庫:
相關產品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.
主要應用: 分布式數據的儲存與管理。
優(yōu)點:查找速度快,可擴展性強,容易進行分布式擴展。
缺點:功能相對局限。
3.文檔型數據庫
相關產品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.
主要應用: web應用,管理面向文檔的數據或者類似的半結構化數據。
優(yōu)點:數據結構靈活,表結構可變,復雜性低。
缺點:查詢效率低,且缺乏統(tǒng)一的查詢語言。
4.Graph圖形數據庫
相關產品: Neo4J、OrientDB、InfoGrid、GraphDB.
主要應用: 復雜,互連接,低結構化的圖結構場合, 專注構建關系圖譜。
優(yōu)點: 利用圖結構相關算法, 可用于構建復雜的關系圖譜。
缺點: 復雜度高。