NoSQL常見存儲方式
來源:易賢網(wǎng) 閱讀:984 次 日期:2014-10-17 10:11:28
溫馨提示:易賢網(wǎng)小編為您整理了“NoSQL常見存儲方式”,方便廣大網(wǎng)友查閱!

一、 鍵值存儲

它的數(shù)據(jù)是以鍵值的形式存儲的,雖然它的速度非??欤旧现荒芡ㄟ^鍵的完全一致查詢獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的保存方式可以分為臨時性、永久性和兩者兼具三種。

(1)臨時性(memcached)

所謂臨時性就是數(shù)據(jù)有可能丟失,memcached把所有數(shù)據(jù)都保存在內存中,這樣保存和讀取的速度非常快,但是當memcached停止時,數(shù)據(jù)就不存在了。由于數(shù)據(jù)保存在內存中,所以無法操作超出內存容量的數(shù)據(jù),舊數(shù)據(jù)會丟失。

總結來說:

1、在內存中保存數(shù)據(jù)

2、可以進行非??焖俚谋4婧妥x取處理

3、數(shù)據(jù)有可能丟失

(2)永久性(ROMA、Tokyo Tyrant、Flare)

所謂永久性就是數(shù)據(jù)不會丟失,這里的鍵值存儲是把數(shù)據(jù)保存在硬盤上,與臨時性比起來,由于必然要發(fā)生對硬盤的IO操作,所以性能上還是有差距的,但數(shù)據(jù)不會丟失是它最大的優(yōu)勢。

總結來說:

1、在硬盤上保存數(shù)據(jù)

2、可以進行非??焖俚谋4婧妥x取處理(但無法與memcached相比)

3、數(shù)據(jù)不會丟失

(3)兩者兼?zhèn)?Redis)

Redis有些特殊,臨時性和永久性兼具。Redis首先把數(shù)據(jù)保存在內存中,在滿足特定條件(默認是 15分鐘一次以上,5分鐘內10個以上,1分鐘內10000個以上的鍵發(fā)生變更)的時候將數(shù)據(jù)寫入到硬盤中,這樣既確保了內存中數(shù)據(jù)的處理速度,又可以通過寫入硬盤來保證數(shù)據(jù)的永久性,這種類型的數(shù)據(jù)庫特別適合處理數(shù)組類型的數(shù)據(jù)。

總結來說:

同時在內存和硬盤上保存數(shù)據(jù)

1、可以進行非??焖俚谋4婧妥x取處理

2、保存在硬盤上的數(shù)據(jù)不會消失(可以恢復)

3、適合于處理數(shù)組類型的數(shù)據(jù)

二、面向文檔的數(shù)據(jù)庫(MongoDB、CouchDB)

(1)不定義表結構

即使不定義表結構,也可以像定義了表結構一樣使用,還省去了變更表結構的麻煩。

(2)可以使用復雜的查詢條件

跟鍵值存儲不同的是,面向文檔的數(shù)據(jù)庫可以通過復雜的查詢條件來獲取數(shù)據(jù),雖然不具備事務處理和Join這些關系型數(shù)據(jù)庫所具有的處理能力,但初次以外的其他處理基本上都能實現(xiàn)。

三、 面向列的數(shù)據(jù)庫(Cassandra、HBase、HyperTabl)

由于近年來數(shù)據(jù)量出現(xiàn)爆發(fā)性增長,這種類型的NoSQL數(shù)據(jù)庫尤其引入注目。

普通的關系型數(shù)據(jù)庫都是以行為單位來存儲數(shù)據(jù)的,擅長以行為單位的讀入處理,比如特定條件數(shù)據(jù)的獲取。因此,關系型數(shù)據(jù)庫也被成為面向行的數(shù)據(jù)庫。相反,面向列的數(shù)據(jù)庫是以列為單位來存儲數(shù)據(jù)的,擅長以列為單位讀入數(shù)據(jù)。

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:NoSQL常見存儲方式

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)