NVME SSD 會加速繁重的查詢,例如大偏移量/表掃描等的選擇嗎?
如果數據庫數據將在 NVME SSD 上,假設它比普通 SSD 快 4 倍,那麼查詢
SELECT something OFFSET 100000
之類的查詢通常也會快得多(當然,當它們沒有記憶體/緩衝等時)?
這很明顯,不是嗎?
如果數據庫的 IO 端是瓶頸,那麼擁有更好的 IO 端會加快速度。
現在,大多數時候——在數據倉庫之外——一旦你離開硬碟的 IOPS 非常低的一面,IO 就不應該成為那麼糟糕的瓶頸。一個合適的數據庫伺服器將有足夠的 RAM(同樣,在數據倉庫之外)有很多記憶體 - 這意味著不,您可能真的不需要那麼多數據庫頻寬,它可能不會讓您獲得 4 倍的吞吐量。
但是,如果您有 5GB RAM 和 100GB 表並進行表掃描,那麼是的,更快的 IO 意味著更快的查詢處理。明顯地。
另請注意:NVM 並不一定意味著 SSD 也更快。不確定它們是否存在,但您最好確保您的 NVM SSD 能夠勝任這項任務。有一些非常便宜的:a:沒有針對所需的寫入性能進行優化,b:太慢而無法用完 NVM 埠。
我正在為 NVME RAID 進行配置。在承諾購買之前,我想嘗試對需要掃描的查詢如何從更好的傳輸速度中受益進行基準測試。
我目前有一個讀取速度接近 900MBps 的 SSD RAID 和一個讀取速度接近 100MBps 的 HDD RAID。想要一個快速而骯髒的指標,我只測試了兩個任務:
(1) 拉取與未索引列匹配的所有記錄(少於 100 條) (2) 拉取一條記錄偏移量為 100 000 000。
時間是:
- 執行時間 (1):SSD 上 82 秒與 HDD 上 780 秒
- 執行時間 (2):SSD 上 49 秒與 HDD 上 480 秒
執行時間的差異非常接近讀取速度的差異。我將在 NVME RAID 執行時更新結果
$$ EDIT $$ 我已經能夠在 NVME 系統上執行類似的查詢(2100 MBps 與我們的 SSD 陣列上的 900 MBPS)。查詢的執行速度提高了 30%,而不是兩倍。明顯跡象表明 CPU 正在成為一個問題。