成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

第42期:RDB與NoSQL的訪問性能

企業動態
我們繼續從軟件角度上看外存數據源的性能,來考察數據庫的性能特點,在這篇文章中,我們只關心數據的訪問性能,而不涉及計算性能。

第42期:RDB與NoSQL的訪問性能

我們繼續從軟件角度上看外存數據源的性能,來考察數據庫的性能特點,在這篇文章中,我們只關心數據的訪問性能,而不涉及計算性能。

一、關系數據庫

關系數據庫也是很常見的數據存儲方式。本質上講,數據庫其實也是一種特殊的二進制文件,但它的性能會弱于直接寫在操作系統下的文件,主要原因在于數據庫通常都要提供數據更新的能力,這就會產生影響性能的因素:

1. 緊湊性與壓縮手段

數據庫要考慮數據的更新,一般會采用段頁式的分塊存儲,在存儲數據時不會把分塊完全填滿,而會留一小部分空白區用于后續的修改動作。這樣,占用的硬盤空間就會比不考慮更新動作的文件更大一點。

因為要更新數據,也很難實現數據壓縮。比如上一篇所說的把小整數存成較短字節的方案,如果采用了這種方案,一旦這個小整數被改成了大整數,原來的空間就存不下了,就要把后續數據都向后移動,這會使數據更新成本過高,所以一般數據庫都不采用壓縮手段,而直接根據數據類型分配空間,也會造成空間的浪費,極端情況會出現占用空間大于文本的現象。

2. 事務一致性帶來的復雜性

許多商業數據庫還會同時支持OLTP業務,在讀取數據時要提供一致性的能力,這會使訪問數據的動作復雜度變大很多。同一條數據,由于其它事務的寫操作,可能出現多個備份,在讀取時數據庫要根據事務的啟動時刻找到正確的那一個,這是個非常麻煩的動作,對性能影響很大。

另外,前面文章還提到過,按塊存儲的結構對于分段也不夠自由,不象文件那樣可以實施更靈活的并行手段,也會導致數據庫的性能表現弱于直接 文件。

數據庫普遍還有一個IO性能不佳的問題,數據在數據庫中運算時性能尚可,但要通過數據庫接口取出來就非常慢,實測的情況表明,這個性能經??赡軙扔梦谋敬鎯€慢。對于這個問題,在數據庫本身負擔不重時,可以采用并行取數的方法來解決,具體細節及代碼我們將在以后再詳述。

二、NoSQL數據庫

NoSQL常常被用作大數據處理,但是,它真地能獲得高性能嗎?

這要分情況,看進行什么樣的處理。

NoSQL產品一般都不提供事務一致性的能力,這是在數據訪問時的動作要比關系數據庫簡單了許多,不需要考慮回滾段、多備份等問題。而且,放棄事務的NoSQL一般也更容易橫向擴展,使用更多機器來承載更大的業務量。在這方面,NoSQL確實會有更高的性能,特別是高并發寫入時的優勢要比關系數據庫大得多。

不過,對于單純的分析型業務,卻不完全是這樣。

許多分析型關系數據庫也不考慮事務一致性的問題,訪問動作同樣也較為簡單。NoSQL不處理事務一致性帶來的性能優勢,與這些分析型數據庫比并沒有特別的地方。

NoSQL產品常常使用Key-Value型存儲組織,Value的隨意性會帶來結構多樣性的好處,即使用NoSQL存儲數據時不需要事先確定數據結構,不象關系數據庫那樣必須先建個有特定數據結構的表才能使用,這是NoSQL非常方便的地方。

但是,多樣性和高性能是一對天生的矛盾!

多樣性意味著每條記錄的數據結構都可能不一樣。在存儲數據時同時也要存儲結構,增大了存儲量,在解析數據時也要去匹配數據結構中的字段,增加大了復雜度。而關系數據庫中同一表的數據結構是確定且相同的,結構只要存儲一份,解析數據時的字段對應也非常簡單,當數據量很大時,這個優勢就會非常明顯。

大多數Key-Value式的NoSQL產品,只是在用Key尋找Values時性能很好(這只要有個Hash索引就能夠用Key找到對應的記錄,關系數據庫建了索引也可以),但面臨需要對數據遍歷才能完成的計算時(比如過濾條件不是針對Key的),它的性能就會遠遠低于確定數據結構的關系數據庫。把NoSQL用于高性能大數據分析業務是個錯誤的選擇,但現實中卻經常有人在這么用。

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2018-02-06 23:30:07

文件存儲數據

2017-05-25 08:56:22

硬盤性能特征

2018-10-25 14:37:12

UCloud虛擬網絡

2011-05-13 09:46:20

MySQLNoSQL

2017-05-19 22:46:36

多維后臺性能優化手段

2014-08-11 14:17:12

IT技術周刊

2017-05-21 22:32:39

報表性能優化

2010-01-26 09:46:16

2011-09-19 16:47:48

大話ITIT聽聽看公有云

2013-05-21 17:14:05

開發技術周刊

2017-10-09 22:33:56

SQL等值分組有序分組

2020-03-12 16:28:07

戴爾

2012-01-05 09:34:36

新一代廣域網優化

2013-01-21 13:41:59

IBMdW

2022-08-21 21:28:32

數據庫實踐

2012-11-28 11:42:28

網絡·安全技術周刊

2017-06-14 23:08:29

報表數據計算層

2018-06-29 10:28:43

UCloud存儲

2016-10-31 14:44:59

中國聯通智能制造運營商

2023-11-09 08:00:00

NoSQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄色小视频 | 久久久久国产一级毛片高清网站 | 欧美1区| 精品国产一区二区三区久久久蜜月 | 日韩中文字幕在线视频 | 免费天天干| 久草在线在线精品观看 | 亚洲中国字幕 | 天天干视频网 | 午夜天堂精品久久久久 | av网站免费 | 久久久久久久久久久成人 | 日韩视频一级 | aaaa一级毛片| 亚洲高清在线 | 国产精品美女在线观看 | 狠狠操网站| 日韩精品一区二区三区在线观看 | 日韩在线视频免费观看 | 日韩国产中文字幕 | 亚洲精品一二三区 | 久久99精品久久久久 | 韩国精品在线 | 亚洲精品国产a久久久久久 午夜影院网站 | 亚洲成人一区 | 亚洲第一视频网站 | 亚洲国产精品一区 | 国产91精品久久久久久久网曝门 | 人人干人人干人人 | 99pao成人国产永久免费视频 | 一级做a爰片久久毛片免费看 | 欧美精品v | 欧美一区二区三区视频 | 成人看片在线观看 | 亚洲综合精品 | 国产精品久久久久无码av | 精品国产乱码久久久久久中文 | 日韩欧美视频 | 五月综合激情在线 | 日本一区二区三区免费观看 | 黄色大片免费网站 |