1. 程式人生 > >威尼斯人源碼搭建與NoSql簡介

威尼斯人源碼搭建與NoSql簡介

nosql數據庫 可擴展性 key 查詢 sequoiadb rac 要求 系統 處理

NoSQL(Not Only SQL ),意即“不僅僅是SQL”,是一項全新的數據庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對於鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的註入。威尼斯人源碼搭建QQ:2152876294 網址diguaym.com

NoSQL數據庫的四大分類
(1)鍵值(Key-Value)存儲數據庫

這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來說的優勢在於簡單、易部署。但是如果DBA只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了。 舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

典型應用場景:內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日誌系統等等。

數據模型:Key 指向 Value 的鍵值對,通常用hash table來實現

優缺點:查找速度快;數據無結構化,通常只被當作字符串或者二進制數據

(2)列存儲數據庫。

這部分數據庫通常是用來應對分布式存儲的海量數據。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.

典型應用場景:分布式的文件系統

數據模型:以列簇式存儲,將同一列數據存在一起

優缺點:查找速度快,可擴展性強,更容易進行分布式擴展;功能相對局限

(3)文檔型數據庫

文檔型數據庫的靈感是來自於Lotus Notes辦公軟件的,而且它同第一種鍵值存儲相類似。該類型的數據模型是版本化的文檔,半結構化的文檔以特定的格式存儲,比如JSON。文檔型數據庫可 以看作是鍵值數據庫的升級版,允許之間嵌套鍵值。而且文檔型數據庫比鍵值數據庫的查詢效率更高。如:CouchDB, MongoDb. 國內也有文檔型數據庫SequoiaDB,已經開源。

典型應用場景:Web應用(與Key-Value類似,Value是結構化的,不同的是數據庫能夠了解Value的內容)

數據模型:Key-Value對應的鍵值對,Value為結構化數據

優缺點:數據結構要求不嚴格,表結構可變,不需要像關系型數據庫一樣需要預先定義表結構;查詢性能不高,而且缺乏統一的查詢語法。

(4)圖形(Graph)數據庫

圖形結構的數據庫同其他行列以及剛性結構的SQL數據庫不同,它是使用靈活的圖形模型,並且能夠擴展到多個服務器上。NoSQL數據庫沒有標準的查詢語言(SQL),因此進行數據庫查詢需要制定數據模型。許多NoSQL數據庫都有REST式的數據接口或者查詢API。 如:Neo4J, InfoGrid, Infinite Graph.

典型應用場景:社交網絡,推薦系統等。專註於構建關系圖譜

數據模型:圖結構

優缺點:利用圖結構相關算法。比如最短路徑尋址,N度關系查找等;很多時候需要對整個圖做計算才能得出需要的信息,而且這種結構不太好做分布式的集群方案。

威尼斯人源碼搭建與NoSql簡介