iT邦幫忙

0

資料庫是否適合儲放在SSD硬碟,提供大量查詢? 會不會用一陣子就掛點?

根據報導SSD硬碟比一般硬碟快70倍,若將常被查詢的資料庫放到SSD硬碟,似乎可以大幅度提高效能,這樣可行嗎? 還是有其他更好的解決方案? 請各位先進傳道解惑. 謝謝.

外獅佬 iT邦大師 1 級 ‧ 2011-05-12 00:03:21 檢舉
SSD快歸快,總是沒有記憶體來得快....
個人認為...把那個錢用來加大記憶體做快取..說不定比較有經濟效益
當然,這個跟應用程式的寫法、資料庫的設定有滿密切的關係的...
並不是無限上綱加大記憶體就能效能up up...
player iT邦大師 1 級 ‧ 2011-05-12 16:54:19 檢舉
SSD 本身就是 EEPROM(電性可抹寫唯讀記憶體) 的技術了
與USB-Disk在用 Flash Memory相當
10
weihsinchiu
iT邦新手 4 級 ‧ 2011-05-12 08:43:40
最佳解答

我個人認為放在SSD上面確實可以達到加速的效果
不過要記得每年最好換一顆新的SSD硬碟
因為資料庫的存取頻率很高,這樣才能確保裝置的穩定性

另外,正確的設定索引,也可以大幅提升查詢的效率
定期的索引資料重建可以讓資料庫保持在最佳狀態

cooch iT邦研究生 3 級 ‧ 2011-05-14 08:16:42 檢舉

大部分資料庫都是 "讀取" 遠大於 "寫入",
存取頻率高..應該說是 "存" 比較少 , "取" 比較多,
其實不如想像中會縮短 SSD 的壽命!

6
player
iT邦大師 1 級 ‧ 2011-05-11 18:37:48

SSD的壽命雖然稍短
但是放個1~2年, 基本上應該還OK
不過要看你的資料庫對於硬碟的存取需求而定
如果是那種數GB以上的DB
或是DB連線數超過5
才不太適合SSD

8
sheng514
iT邦新手 1 級 ‧ 2011-05-12 08:26:29

不建議用這樣的方式..畢竟成本蠻高的,基本上查詢會慢可能是index沒有依照使用者的需求建好,導致Full Scan , 我們公司的資料庫主檔動輒2~3千萬筆資料,適當的建立索引讓搜尋的效率才是王道

18
sam0407
iT邦高手 1 級 ‧ 2011-05-12 09:09:57

前幾位大大都提出極為中肯的建議,其實資料庫的效能問題真的都要視個案情況來作建議,我也提出我淺見供您參考。

基本上SSD硬碟適合多讀取少寫入的環境,所以我認為如果是Read Only的資料庫是滿適合放在SSD硬碟上的。

如果資料庫雖然平時Update頻繁,但查詢並不十分要求即時性,您也可以架兩台資料庫,一台主資料庫用普通硬碟,一台查詢資料庫用SSD硬碟,採用定時將主資料庫的資料,批次更新至查詢資料庫。

我的狀況幾乎是Readonly,只有一支程式負責Posting 日常資料. 但資料講究即時,用批次更新,恐怕不符合需求,而且兩顆硬碟同步時,可能會造成主機太忙,無法接受查詢,有點難搞.
Thanks.

14
denetliu
iT邦新手 5 級 ‧ 2011-05-12 09:18:17

我是認為 SSD 硬碟的限制是在於寫入次數,如果很確認資料庫的用途是查詢用的話,我不認為有何不可。若再能搭配良好的 Index 與 In-Memory DB,效益應該是會更高才是。
把最高優先權或是最常被參考、但量少的資料( < 8GB ) 放在 Memory DB,被查詢得資料體本身放在SSD 碟上,個人想法,提供參考。

Index已經Tune好,主要是處理邏輯有點複雜,請教市面上是否有較好用的In-Memory DB?
Thanks.

6
shunyuan
iT邦研究生 1 級 ‧ 2011-05-12 10:37:16

不適合,資料庫資料安全的考量,勝過效能的考量。

6
insider
iT邦研究生 5 級 ‧ 2011-05-12 17:11:26

It is a trend to deploy Database engine with SSD disk or Smart Flash Cache. You can check with the following document :

Accelerate Oracle Applications with Solid State Disk (SSD) Storage.

Oracle Exdata II widely deploys the SSD to boost up the database engines & OLAP performance. Same as HP+Microsoft BI/OLAP solution (joint-development).

Thanks.

10
bbcash
iT邦新手 1 級 ‧ 2011-05-12 21:33:24

既然是打算拿SSD來放DB的話
DB Server 的HDD 也應該做Raid 吧
SSD HDD Raid 加上定期更換HDD的話
風險就不高了吧

8
ssh38390
iT邦新手 4 級 ‧ 2011-05-13 10:05:36

我想建置成本是很大的一個考量點
不過現在已經有Tier-Storage 的產品出現,可以將最需要存取的部分放在SSD , 主要資料放在SAS or Fiber HDD, 已經很久沒動的資料放在SATA HDD.

如果有興趣就請關係好的SI廠商借一座來玩玩嚕..

10
edwardso
iT邦新手 5 級 ‧ 2011-05-14 14:47:58

SSD 分MLC 及 SLC 2種 (後者壽命較長, 但也較貴). SSD壽命期較硬盤為短. 不過,資料庫都一定要使用備份(磁帶, 異機備份等等).

本人實作過在硬盤使用MYSQL回應時間為500ms, 而改用第一代MLS SSD回應時間為80ms, 相同資料, 相同查詢. 相同電腦.

上面大家提出, INDEX 優化. TEMP TABLE一般SQL優化都是重點.

4
harrier7
iT邦研究生 2 級 ‧ 2011-05-17 18:05:13

先問樓主:老闆是台灣人還是外國人?

台灣..就免了,台灣企業每年編預算採購只為了看不見的風險?哈~
掛了?老闆還是唯你是問!!

這就是台灣企業。

我要發表回答

立即登入回答