我們公司在正委外一個專案,專案有SQL資料的交換運算,我也正在規劃,是要放在中華電信的雲端,還是自己買硬體,架設VM,但之後若是使用端增加,必須在VM多增加幾台SERVER出來,但是SQL好像不能拆開吧,我要問的是,SQL的設計與一般的SERVER與VM會有甚麼不一樣嗎
你的雲端概念有些不正確。
VM 是雲端服務提供者,把強力高效的電腦,分成幾個 VM 服務來提供不同的客戶需求。並不是分越多 VM 就能服務越多使用者端。你一台實體主機,分再多的 VM 還不都是吃同一台硬體資源嗎?還多弄這層 VM 在消耗資源,豈不是多此一舉?
SQL 本身就是一個抽象層,所以後端不管是實體 DB server,或者是雲端 DB service,AP 端均不必做任何改變,均對同一個接口做 DB 存取,至於 DB 後端該怎麼把 DB server 變成是 High Available、Load Balance 的雲端服務,就跟你就沒關係了,你使用端就當它是一台 DB 就好了。
vamos168提到:
SQL好像不能拆開
怎麼會??
用cluster去做就可以了啊...
如果用了SQL Server 2012...還可以搭配always on去做...
就我粗淺的知識... .net 使用sqlclient provider...可以指定 failover partner...
SQL好像不能拆開
一個系統在一個資料庫交易通常就綽綽有餘, 若負載大是沒調校好...
一個系統若在多個資料庫交易, 會要處理資料同步一致性...等問題, 是很複雜...
SQL Server 2012...還可以搭配always on去做...
SQL2012的Always on 也僅允許主資料庫做交易, 其他待命資料庫僅能做查詢
charmmih提到:
主資料庫做交易, 其他待命資料庫
記得以前有做過類似的東西....不過,那是搭配replication做的...
讀寫分離的作法,分散資料庫的負載...
資料庫主機另外有一個特性
就是記憶體與硬碟I/O要求比較高
VM是一種資源共享的環境
如果貴單位的資料庫效能需求逼近或超出廠商所提供的虛擬主機
廠商可能會
If MS Azure cloud computing available in the region, may try to deploy on it ==>Microsoft SQL Azure Database is a cloud-based relational database service that is built on SQL Server technologies and runs in Microsoft data centers.
As I know, Singapore and HongKong have the Azure cloud data centers to ensure 99.95% SLA+ NOC+SOC+DR+Audit requirements.