顧名思義就是非關系型數據庫,它的出現,就是為了解決關系型數據庫存在的一些問題,可以用NoSQL來進行彌補,現在聽得比較多的NoSQL數據庫有Redis、MongoDB、HBase等。
在網站制作、做網站過程中,需要針對客戶的行業(yè)特點、產品特性、目標受眾和市場情況進行定位分析,以確定網站的風格、色彩、版式、交互等方面的設計方向。創(chuàng)新互聯(lián)公司還需要根據客戶的需求進行功能模塊的開發(fā)和設計,包括內容管理、前臺展示、用戶權限管理、數據統(tǒng)計和安全保護等功能。
NoSQL(NoSQL
=
Not
Only
SQL
),意即“不僅僅是SQL”,是一項全新的數據庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對于鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。
隨著大數據的不斷發(fā)展,非關系型的數據庫現在成了一個極其熱門的新領域,非關系數據庫產品的發(fā)展非常迅速。現今的計算機體系結構在數據存儲方面要有龐大的水平擴展性,而NoSQL也正是致力于改變這一現狀。目前Google的
BigTable和Amazon
的Dynamo使用的就是NoSQL型數據庫,本文介紹了10種出色的NoSQL數據庫。
雖然NoSQL流行語火起來才短短一年的時間,但是不可否認,現在已經開始了第二代運動。盡管早期的堆棧代碼只能算是一種實驗,然而現在的系統(tǒng)已經更加的成熟、穩(wěn)定。不過現在也面臨著一個嚴酷的事實:技術越來越成熟——以至于原來很好的NoSQL數據存儲不得不進行重寫,也有少數人認為這就是所謂的2.0版本。這里列出一些比較知名的NoSQL工具,可以為大數據建立快速、可擴展的存儲庫。
給一個地址吧
分類一:鍵值數據庫
Redis, Voldemort, Oracle BDB,國內的ssdb
分類二:列存儲數據庫
Cassandra, HBase
分類三:文檔型數據庫
CouchDB, MongoDb,國內的SequoiaDB
分類四:圖形(Graph)數據庫
Neo4J, InfoGrid, Infinite Graph
常用數據庫有:
1、關系型數據庫
關系型數據庫是由IBM的E.F. Codd于1970年發(fā)明的,它是一個表格數據庫,其中定義了數據,因此可以以多種不同的方式對其進行重組和訪問。關系數據庫由一組表組成,其中的數據屬于預定義的類別。每個表在一個列中至少有一個數據類別,并且每一行對于列中定義的類別都有一個特定的數據實例。
2、分布式數據庫
分布式數據庫是一種數據庫,數據庫存儲在多個物理位置,處理在網絡中的不同點之間分散或復制。分布式數據庫可以是同構的,也可以是異構的。同構分布式數據庫系統(tǒng)中的所有物理位置都具有相同的底層硬件,并運行相同的操作系統(tǒng)和數據庫應用程序。異構分布式數據庫中的硬件、操作系統(tǒng)或數據庫應用程序在每個位置上可能是不同的。
3、云數據庫
云數據庫是針對虛擬化環(huán)境優(yōu)化或構建的數據庫。云數據庫提供了一些好處,比如可以按每次使用支付存儲容量和帶寬的費用,還可以根據需要提供可伸縮性和高可用性。云數據庫還為企業(yè)提供了在軟件即服務部署中支持業(yè)務應用程序的機會。
4、NoSQL數據庫
NoSQL數據庫對于大型分布式數據集非常有用。NoSQL數據庫對于關系數據庫無法解決的大數據性能問題非常有效。當組織必須分析大量非結構化數據或存儲在云中多個虛擬服務器上的數據時,它們是最有效的。
5、面向對象的數據庫
使用面向對象編程語言創(chuàng)建的項通常存儲在關系數據庫中,但是面向對象數據庫非常適合于這些項。面向對象的數據庫是圍繞對象(而不是操作)和數據(而不是邏輯)組織的。例如,關系數據庫中的多媒體記錄可以是可定義的數據對象,而不是字母數字值。
6、圖形數據庫
面向圖形的數據庫是一種NoSQL數據庫,它使用圖形理論存儲、映射和查詢關系。圖數據庫基本上是節(jié)點和邊的集合,其中每個節(jié)點表示一個實體,每個邊表示節(jié)點之間的連接。
NoSQL,泛指非關系型的數據庫。隨著互聯(lián)網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
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)