NoSQL資料庫的四大分類介紹
鍵值(Key-Value)儲存資料庫:
這一類資料庫主要會使用到一個雜湊表,這個表中有一個特定的鍵和一個指標指向特定的資料。Key/value模型對於IT系統來說的優勢在於簡單、易部署。但是如果DBA只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了。[3] 舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.
列儲存資料庫:
這部分資料庫通常是用來應對分散式儲存的海量資料。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.
文件型資料庫:
文件型資料庫的靈感是來自於Lotus Notes辦公軟體的,而且它同第一種鍵值儲存相類似。該型別的資料模型是版本化的文件,半結構化的文件以特定的格式儲存,比如JSON。文件型資料庫可 以看作是鍵值資料庫的升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。如:CouchDB, MongoDb. 國內也有文件型資料庫SequoiaDB,已經開源。
圖形(Graph)資料庫:
圖形結構的資料庫同其他行列以及剛性結構的SQL資料庫不同,它是使用靈活的圖形模型,並且能夠擴充套件到多個伺服器上。NoSQL資料庫沒有標準的查詢語言(SQL),因此進行資料庫查詢需要制定資料模型。許多NoSQL資料庫都有REST式的資料介面或者查詢API。[2] 如:Neo4J, InfoGrid, Infinite Graph.
因此,我們總結NoSQL資料庫在以下的這幾種情況下比較適用:1、資料模型比較簡單;2、需要靈活性更強的IT系統;3、對資料庫效能要求較高;4、不需要高度的資料一致性;5、對於給定key,比較容易對映覆雜值的環境。
NoSQL資料庫的四大分類表格分析
分類 |
Examples舉例 |
典型應用場景 |
資料模型 |
優點 |
缺點 |
鍵值(key-value) |
Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB |
內容快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等。 |
Key 指向 Value 的鍵值對,通常用hash table來實現 |
查詢速度快 |
資料無結構化,通常只被當作字串或者二進位制資料 |
列儲存資料庫 |
Cassandra, HBase, Riak |
分散式的檔案系統 |
以列簇式儲存,將同一列資料存在一起 |
查詢速度快,可擴充套件性強,更容易進行分散式擴充套件 |
功能相對侷限 |
文件型資料庫 |
CouchDB, MongoDb |
Web應用(與Key-Value類似,Value是結構化的,不同的是資料庫能夠了解Value的內容) |
Key-Value對應的鍵值對,Value為結構化資料 |
資料結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構 |
查詢效能不高,而且缺乏統一的查詢語法。 |
圖形(Graph)資料庫[3] |
Neo4J, InfoGrid, Infinite Graph |
社交網路,推薦系統等。專注於構建關係圖譜 |
圖結構 |
利用圖結構相關演算法。比如最短路徑定址,N度關係查詢等 |
很多時候需要對整個圖做計算才能得出需要的資訊,而且這種結構不太好做分散式的叢集方案。[3] |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2134863/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NoSQL資料庫的四大分類及分析SQL資料庫
- 四類NoSQL資料庫SQL資料庫
- 四大類NOSQL資料庫SQL資料庫
- 關係型資料庫和NOSQL資料庫的優缺點介紹資料庫SQL
- 12款免費與開源的NoSQL資料庫介紹SQL資料庫
- redis(1)NoSQL資料庫簡介RedisSQL資料庫
- NoSQL資料庫概念與NoSQL資料庫家族SQL資料庫
- 資料庫介紹資料庫
- FSharpCouch和MongoFS——NoSQL的輔助庫介紹RPCGoSQL
- NoSql資料庫SQL資料庫
- 【NoSQL】redis基本介紹SQLRedis
- 資料庫介紹--初識資料庫資料庫
- IndexedDB資料庫介紹Index資料庫
- [轉]介紹了Oracle資料庫鎖的種類及研究Oracle資料庫
- redis-1.Nosql的介紹RedisSQL
- 【Unity 3D遊戲開發】在Unity使用NoSQL資料庫方法介紹Unity3D遊戲開發SQL資料庫
- Mysql資料庫學習(四):常用Mysql C API 介紹和使用、封裝一個訪問Mysql資料庫的類MysqlDBMySql資料庫API封裝
- L10資料庫——資料庫介紹資料庫
- Nosql大家族介紹SQL
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- MySQL資料庫鎖介紹MySql資料庫
- postgresql資料庫鎖介紹SQL資料庫
- 四種大資料分析方法介紹!大資料
- 資料表建立引數介紹(四)
- 資料倉儲—資料庫—Oracle 介紹資料庫Oracle
- NoSQL資料庫興起SQL資料庫
- NoSQL資料庫盤點SQL資料庫
- NoSQL資料庫筆談SQL資料庫
- 國產資料庫:達夢資料庫的幾個版本介紹資料庫
- 資料庫安全知識介紹資料庫
- QuestDB時序資料庫介紹資料庫
- HSQL 資料庫介紹(2)--使用SQL資料庫
- 常見的四類HTTP狀態碼介紹HTTP
- 資料倉儲—資料庫—SQL Server 介紹資料庫SQLServer
- H2 資料庫介紹(1)--簡介資料庫
- 什麼是NoSQL資料庫?SQL資料庫
- NoSQL資料庫效能測試SQL資料庫
- NoSQL 資料庫的主主備份SQL資料庫