iT邦幫忙

0

請問各位大大,iSCSI裝置是否可以讓兩三個SQL Server同時存取一個資料庫檔案?

因為最近在規劃Loading Balance的問題
想說看看能否除了WEB可以分成多台以外,把SQL Server也拆成多台來跑
因為聽說iSCSI是block等級,是否就可以擺脫資料庫檔案會被luck的狀況?
讓多台SQL Server同時存取一個在iSCSI上的資料庫檔案?

player iT邦大師 1 級 ‧ 2010-10-20 17:17:35 檢舉
SQL Server叢集? 看需求而定
如果不是太複雜或高負載的架構的話

你把DB的檔案掛在其中一台sql server上
其它台的sql server改用 link-db的方式連過去抓資料
這樣sql server可以用較便宜的版本
22
鐵殼心
iT邦高手 1 級 ‧ 2009-11-23 08:54:12
最佳解答

對 SQL Server 而言, 經由iSCSI方式設定出來的硬碟空間, 等同於一個實體硬碟, 所以實體硬碟上對 SQL Server 的限制依然是有效的.

如果要讓兩三個 SQL Server 同時存取一個資料庫檔案, 還是必須要由 SQL Server叢集系統的方向入手會比較合適.

感謝大大的指導!
因為叢集的設定比較複雜,一直想避開叢集!
看來是免不了!

16
insider
iT邦研究生 5 級 ‧ 2009-11-23 10:03:02

Normally, DB engine needs cluster (2 nodes onwards) has to purchase extra SAN storage "partitions/domain" license for it. iSCSI is part of SAN storage. For SQL server clustering has to enable Windows "Enterprise" Server cluster license first before can go for it ( this is a practice if you honor the License agreement ). The SQL Server also needs "enterprise" license. It is good to get hardware principal/distributor to let you fill the "Sizing Questionnaire" in the proper spreadsheet & template since the proper sizing and LUN design is very important to enable DB cluster environment.

12
Albert
iT邦高手 1 級 ‧ 2009-11-23 17:40:39

lock 的問題來自 update and delete

insert data 是不會 record lock

要減少 record lock 要將 會 update and delete 的 處理程序

放在 SOA 引擎

只有 SOA 引擎才可以執行 update and delete 的 處理程序

就不會有 record lock

我們的系統可以給你參考

Skype: Adempiere/Compiere
OpenSource ERP 技術轉移顧問

Albert iT邦高手 1 級 ‧ 2009-11-24 09:48:31 檢舉

SOA 引擎 我們是用 JBOSS open source application server
塞車是因為 沒有 update and delete 管制動作
不要認為用暴力可解決 4線道塞車 用 8線道
不要認為用暴力可解決 8線道塞車 用 16線道
一樣是亂成一團

Albert iT邦高手 1 級 ‧ 2009-11-24 09:51:00 檢舉

感冒要休息
不是一直喝咖啡提神
除非真想要飛到天上去當神
對症下藥重要

Albert iT邦高手 1 級 ‧ 2009-11-24 09:52:17 檢舉

MDA架構 一路順暢
業務/採購/生管/會計
也能自行 設計欄位 自定驗證規則
餵食蜂王漿必成蜂王
MDA架構成就你的未來
不被軟件公司綑綁

12
otislin88
iT邦新手 3 級 ‧ 2009-11-24 09:19:47

iSCSI是當作硬碟來看,就Block level上來講只要可以連線就可以使用,但是每一台機器都有自己的Memory,IO時資料會暫時放在Memory,不會立即寫入HD,即使寫入也有先後次序的差別,光資料異動後要如何通知另一台機器就是個大問題,如果不處理就會造成資料的損毀,所以iSCSI不能這樣使用.

很想直接弄一台iSCSI的機器來實測!
利用VMWare模擬五台SQL Server來做壓力測試!
看看實驗的結果是否符合預期?

10
dscwferp
iT邦好手 1 級 ‧ 2009-11-24 18:19:11

iSCSI 雖然有您現在想要的功能
HA產品 也是不用 SQL 的 叢集 就可以做到及時備援
但 這些都是 "專業" 的技術
用"猜"想還不夠
"實驗"才是正確!
多加實驗吧!
如果沒空沒設備
找 "專業廠商"幫您會比較好
因為 她們已實驗過了! 還可以 DEMO給您看喔!
VM 廠商 HA 廠商 iSCSI 廠商 SQL 廠商
都有可以學習的地方!
都可以找找!

我打算開始改採 SSD 硬碟 或是 硬體RAMDISK的方式
來直接拉資料庫效能
iSCSI可能會擺在資料庫備援、備份上使用..!!

因為主要是希望透過多台SQL Server來分散資料庫Loading
看來,這個構想並不容易實現!
所以,只好採用第二個策略
就是將資料庫檔案 MDF 檔,存放在SSD硬碟或是硬體RAMDISK上面
利用SSD或是RAMDISK來突破硬碟的物理限制!
達到單一資料庫伺服器效能極大化!
我想,如果突破了硬碟的物理限制,那麼單一資料庫的效能也許可以在拉十倍!
這樣就會比多台SQL Server的反應速度更快!
以上是我自己的想法,也許會有不錯的效果!

jason88 iT邦新手 4 級 ‧ 2012-10-31 13:17:04 檢舉

weihsinchiu提到:
因為主要是希望透過多台SQL Server來分散資料庫Loading
看來,這個構想並不容易實現!
所以,只好採用第二個策略
就是將資料庫檔案 MDF 檔,存放在SSD硬碟或是硬體RAMDISK上面
利用SSD或是RAMDISK來突破硬碟的物理限制!
達到單一資料庫伺服...(恕刪)

如像你說的這樣那企業系統怎麼跑? ssd能用多久?
最主要的瓶頸不是disk io.
大部分的情況下都是只有一台 DB ,
足夠的mem /cpu /disk io ;和良好的程式設計才是該注意的!

我要發表回答

立即登入回答