1. 程式人生 > 其它 >NoSql的四大分類

NoSql的四大分類

NoSql的四大分類

KV鍵值對:

  • 新浪:Redis
  • 美團:Redis + Tair
  • 阿里、百度:Redis + memecache

文件型資料庫(bson格式和json一樣):

  • MongoDB (一般必須要掌握)
    • MongoDB是一個基於分散式檔案儲存的資料庫,C++編寫,主要用來處理大量的文件!
    • MongoDB是一個介於關係型資料庫和非關係型資料庫中的中間產品!MongoDB是非關係型資料庫中功能最豐富,最像關係型資料庫的!
  • ConthDB

列儲存資料庫

  • HBase
  • 分散式檔案系統

圖關係資料庫

  • 他不是存圖形,放的是關係,比如:朋友圈,社交網路,廣告推薦!
  • Neo4j,InfoGrid;

四者對比

分類 舉例 典型應用場景 資料模型 優點 缺點
鍵值(key-value) Tokyo Cabint/Tyrant,Redis,Voldemort,Oracle BDB 內容快取,主要用於處理大量資料的高訪問負載,也用於一些日誌系統等等。 Key指向Value的鍵值對,通常用hash table來實現 查詢速度快 資料五結構化,通常被當作字串或者二進位制資料
列儲存資料庫 Cassandra,HBase,Rlak 分散式的檔案系統 以列簇式儲存,將同一列資料存放在一起 查詢速度快,可擴充套件性強,更容易進行分散式擴充套件 功能相對侷限
文件型資料庫 CouchDB,MongoDB Web應用(與Key-Value類似,Value是結構化的,不同的是資料庫能夠了解Value的內容) Key-Value對應的鍵值對,Value為結構化資料 資料結構要求不嚴格,表結構可變,不需要像關係型資料庫一樣需要預先定義表結構 查詢效能不高,而且缺乏統一的查詢語法。
圖形(Graph)資料庫 Neo4j,InfoGrid,Infinite Graph 社交網路,推薦系統等。專注於構建關係圖譜 圖結構 利用圖結構相關演算法。比如最短路徑定址,N度關係查詢等 很多時候需要對整個圖做計算才能得出需要的資訊,而且這種結構不太好做分散式的叢集方案。

敬畏之心可以使人進步!