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

硬盤是如何影響數據庫性能的?

存儲 存儲設備
現在主流的機械硬盤基本上都是 7200 轉的 SATA 硬盤,在全速運轉并且是順序讀寫的情況下,性能也就是 150MB~160MB/s 左右;如果涉及到數據庫讀寫等隨機性較強的 IO 操作,這個性能還要再下降。

[[408630]]

前面松哥和大家聊了 CPU 和內存對于數據庫性能的影響,但是大家想想,無論如何,數據最終都是要存入硬盤中的,所以硬盤肯定也會影響到數據庫的性能,那么硬盤到底是如何影響數據庫性能的,今天我們就來簡單聊聊。

  1. 硬盤的使用,有四個不同的方向:
  2. 傳統的機械硬盤。
  3. 使用 RAID 增強機械硬盤性能。
  4. 使用固態存儲 SSD。

使用網絡存儲 NAS 和 SAN。

接下來我們就針對這四個方向逐一進行分析。

1.機械硬盤

這是最為常見的一種硬盤。松哥剛上大學那會,買筆記本電腦,基本上都是這種機械硬盤。不過現在小伙伴們買電腦,應該很多都是固態硬盤了。機械硬盤的特點就是便宜、單盤存儲空間較大,不過問題也很明顯,那就是讀寫較慢,相比于內存每秒 10GB 以上的數據傳輸,機械硬盤的數據真的慢的可憐。我剛畢業的時候,有一段時間特別想買 Mac,特別糾結。后來把我的 Windows 筆記本的機械硬盤換成了固態硬盤,開機可以秒開了,才把買 Mac 的想法掐滅了(一滅就是三年,三年后還是入手了 Mac)。

現在主流的機械硬盤基本上都是 7200 轉的 SATA 硬盤,在全速運轉并且是順序讀寫的情況下,性能也就是 150MB~160MB/s 左右;如果涉及到數據庫讀寫等隨機性較強的 IO 操作,這個性能還要再下降。

傳統的機械硬盤在讀寫數據的時候,有三個步驟:

  1. 尋道:磁頭定位到數據所在的磁道上,這是一個非常耗時的操作。目前 SATA 硬盤的平均尋道時間一般為 8~10 ms。
  2. 旋轉延遲:到了特定的磁道之后,硬盤盤片需要旋轉,以便要讀寫的扇區能夠和磁頭吻合。7200 轉的硬盤,旋轉一周的時間為 1000/120=8.33 毫秒,平均旋轉延時則為 4.17 毫秒左右。
  3. 數據傳輸:磁頭定位到需要讀取的扇區之后,開始傳輸數據。假設硬盤順序讀取的平均速度為 150MB/s,則讀取 4KB 的數據需要 4KB*1000/(150*1024KB)=0.026 毫秒,此值幾乎可以忽略不計。讀取 1MB 的數據需要 1MB*1000/(150MB)=6.67 毫秒,可見讀取大塊數據時,其真正用來讀取數據的時間一般也小于尋道時間和旋轉延時的和。

上面三個步驟所耗費的時間,也就是數據讀取的時間。

那么該如何選擇磁盤呢?我們應該從如下幾個方面來考慮:

  1. 單盤容量盡量大。
  2. 數據傳輸速度盡量快,這個取決于磁盤主軸轉動速度,以及數據存儲在磁盤表面的密度,一般來說,這個并不會成為我們的瓶頸。
  3. 訪問時間盡量夠快。
  4. 主軸轉速盡量快,根據上面的介紹,磁盤的轉速會影響到數據的訪問時間和讀取時間。
  5. 還有一個就是磁盤的物理尺寸。這個也好理解,磁盤越小,數據讀取速度肯定越快。不過一般來說,磁盤越小,意味著存儲空間可能也會變小,這就和第一點相悖了,在實際選擇中需要權衡。

2.RAID

獨立硬盤冗余陣列(RAID, Redundant Array of Independent Disks),以前也叫廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),簡稱磁盤陣列。RAID 利用虛擬化存儲技術把多個硬盤組合起來,成為一個或多個硬盤陣列組,目的為提升性能或實現數據冗余,或是兩者同時提升。

在具體運行中,RAID 層級不同,資料也會以多種模式分散于各個硬盤,RAID 層級的命名會以 RAID 開頭并帶數字,例如:RAID0、RAID1、RAID5、RAID6、RAID7、RAID01、RAID10、RAID50、RAID60,每種層級都有其理論上的優缺點,不同的層級在數據冗余和性能提升兩個目標間獲取平衡。

簡單來說,RAID 把多個硬盤組合成為一個邏輯硬盤,因此,操作系統只會把它當作一個實體硬盤。RAID 常被用在服務器電腦上,并且常使用完全相同的硬盤作為組合,由于硬盤價格的不斷下降同時 RAID 功能更加有效地與主板集成,這使得 RAID 成為普通用戶的一個選擇,特別是需要大容量存儲空間的工作使用 RAID 就特別合適,如:視頻與音頻制作。

我們來看看幾個常見的 RAID 層級:

RAID0

RAID0 亦稱為數據條帶,它將兩個以上的磁盤并聯起來,成為一個大容量的磁盤。在存放數據時,分段后分散存儲在這些磁盤中,因為讀寫時都可以并行處理,所以在所有的級別中,RAID0 的速度是最快的(想當于可以同時讀取兩個磁盤)。但是 RAID0 既沒有冗余功能,也不具備容錯能力,如果一個磁盤(物理)損壞,所有數據都會丟失,RAID0 也是實現成本最低的 RAID 模式。在一些不擔心數據丟失的場景下(例如數據備份),可以使用 RAID0。

RAID1

兩組以上的 N 個磁盤相互作鏡像,在一些多線程操作系統中能有很好的讀取速度,理論上讀取速度等于硬盤數量的倍數,與 RAID 0 相同,另外寫入速度有微小的降低(因為要寫到兩個磁盤上去)。RAID1 只要一個磁盤正常即可維持運作,可靠性最高。

其原理為在主硬盤上存放數據的同時也在鏡像硬盤上寫一樣的數據,當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做數據備份,所以 RAID 1 的數據安全性在所有的 RAID 級別上來說是最好的。但無論用多少磁盤做 RAID 1,僅算一個磁盤的容量,所以它又是所有 RAID 中磁盤利用率最低的一個級別。RAID 1 可以在不影響性能的前提下,最大限度保證系統的可靠性和可修復性。

如果用兩個不同大小的磁盤建 RAID 1,可用空間為較小的那個磁盤,較大的磁盤多出來的空間也可以分割成一個區來使用,不會造成浪費。

RAID5

RAID5 也稱之為分布式奇偶校驗磁盤陣列,這種方式通過分布式奇偶校驗塊把數據分散到多個磁盤上,這樣如果任何一個盤數據丟失,都可以從奇偶數據校驗塊中重建。但是如果是兩個盤的數據丟失,則整個數據卷就無法恢復了。

RAID10

RAID 10 是先分割數據再鏡像。首先將所有硬盤分為兩組,先對磁盤做 RAID1,然后再對兩組 RAID1 的磁盤做 RAID 0,所以它的讀寫性能都比較好。

RAID 01 則是跟 RAID 10 的程序相反,先對磁盤做 RAID0,再做 RAID 1。

當 RAID 10 有一個硬盤受損,其余硬盤會繼續運作,而 RAID 01 只要有一個硬盤受損,同組 RAID 0 的所有硬盤都會停止運作,只剩下其他組的硬盤運作,可靠性較低。因此,RAID 10 比 RAID 01 常用,零售主板絕大部分支持 RAID 0/1/5/10,但不支持 RAID 01。

那么選哪種呢?下面這張表比較了不同 RAID 層級各自的特點:

3.固態硬盤

固態硬盤不需要多說,相比于傳統的機械硬盤有如下三個優勢:

  1. 沒有機械結構,不怕震動(震動有可能讓磁頭撞到碟片上劃花碟片導致損壞)。
  2. 沒有尋道過程,因此讀寫文件的延遲更低。
  3. 連續讀寫文件的速度一般比機械硬盤快。

目前SSD的主流接口分為,SATA 3.0、M.2、PCI-E 三種,U.2 和 mSATA 目前并不多見。

SATA 和 M.2 或 PCI-E 的主要區別在于二者采用不同的通道:PCI-E 通道的汽車就像是在高速上行駛,而 SATA 通道的汽車就像是在崎嶇山路上行駛,你說哪個速度快?

下面這張表格描述了不同接口的傳輸速率:

相比于機械硬盤,固態硬盤具有更好的隨機讀寫功能,順序讀寫其實機械硬盤也不差,但是隨機讀寫就會差很多,而數據庫操作中,隨機讀寫又很重要,所以固態硬盤的優勢明顯。

4.網絡存儲

網絡存儲其實不太適合存儲數據庫文件,光是網絡延遲就夠令人崩潰了。不過如果想存放數據庫備份文件,倒是可以用網絡存儲。另外就是需要注意數據庫服務器的帶寬要夠用,別上面的東西整了一大堆,最后服務器帶寬 128KB。。。

參考資料:

https://zhuanlan.zhihu.com/p/19592076

https://ssd.zol.com.cn/676/6766649_all.html

本文轉載自微信公眾號「江南一點雨」,可以通過以下二維碼關注。轉載本文請聯系江南一點雨公眾號。

 

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2017-10-23 13:52:31

數據庫硬件

2010-11-26 14:52:10

MySQL系統變量

2010-06-17 13:34:47

SQL Server數

2010-11-04 09:07:25

2009-06-30 15:02:41

磁盤排序Oracle數據庫性能

2009-06-22 10:41:43

ibmdwLotus

2023-10-08 08:09:16

數據庫性能服務器

2010-05-10 09:48:16

SQL Server數

2019-03-07 15:06:48

MySQL數據庫數據庫優化

2010-10-12 10:58:13

NoSQL

2009-07-02 00:26:00

臨時表空間Oracle數據庫性能

2017-06-19 16:20:09

數據庫性能工具

2016-10-08 18:13:55

數據庫性能工具數據庫管理系統

2022-12-05 08:00:00

數據庫向量化數據庫性能

2022-08-16 14:40:09

SQL數據庫內存結構

2019-07-23 11:41:45

數據庫SQLDocker

2010-04-16 10:18:10

Import性能

2022-06-28 15:00:28

數據庫性能操作系統

2011-04-18 09:03:36

數據庫查詢

2010-04-27 16:41:07

Oracle性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产传媒毛片精品视频第一次 | 日韩免费视频一区二区 | 91麻豆产精品久久久久久 | 久久国产精品久久久久久 | 欧美专区日韩专区 | 九九看片| 日韩二三区 | 久久丝袜| 青青久久久 | 婷婷久久五月天 | 亚洲免费在线 | 精品欧美一区二区三区久久久 | 欧美精品一区二区三区在线四季 | 精产国产伦理一二三区 | 一级毛片大全免费播放 | 国产精品久久精品 | 精品粉嫩aⅴ一区二区三区四区 | 精品国产一区二区三区久久久久久 | 色综合桃花网 | 国产精品中文字幕在线观看 | 亚洲综合成人网 | 久久久久国产精品一区二区 | 91av视频在线观看 | 国产1区2区在线观看 | 亚洲成人精 | 欧美日韩视频网站 | 看片wwwwwwwwwww| 亚洲一区二区三区视频在线 | 午夜精品一区二区三区免费视频 | 国产精品久久久久久久久免费 | 成人精品在线观看 | 国产一区久久 | 久久国产精品久久久久久 | 国产精品一区二区av | 亚洲狠狠丁香婷婷综合久久久 | 91黄色片免费看 | 九九热热九九 | 一区二区三区中文字幕 | 久久国产精品-国产精品 | 女人毛片a毛片久久人人 | 欧美三区 |