2011年1月27日 星期四

使用SQL Azure 心得

緣由

前天參加了微軟 PDW 的產品發表會,心知微軟的 SQL Server 產品真的是愈來愈強大了。

發表會中又再次提到了SQL Azure 資料庫。心想,不使用一下真的不太行。真的狠下心了,照著小朱的方法,註冊了一個帳號,花個小錢來試用一下。

過程

除了註冊這一回事是比較囉嗦之外,在使用 SQL Azure 真的是極其簡單。直接使用 SSMS (SQL Server Management Studio) 來管理資料庫就可以了。

但是,我的目的仍在於試用。看看SQL Azure雲端資料庫與一般的SQL Server使用上到底有什麼不同處?

差異

其實在 General Guidelines and Limitations (SQL Azure Database) 中已經提到了。但資料實在太多,還是只有親自使用一下才能了解真正的差異。

無法備份/還原

雲端資料庫不需要備份/還原,因為這樣的常見的資料庫管理工作已經不需要專責DBA來執行。當我們寫一份資料到SQL Azure,其實最後會儲存到三個地方。SQL Azure 在同一個資料中心(Data Center)會有兩份一模一樣的資料,當Server A掛掉時,Server B 立即取代。在另一個資料中心(不同的地理位置)還會備份一份資料,做為異地備援。換句話說,真正達到 High Availibility(高可用性)。

可是我已經習慣使用備份/還原的方式來作業了。這一點真的是很不習慣。可能是我之前習慣不好。

沒有 SQL Server Agent 的 Jobs 可用

我們也常用 SQL Server Agent 的 Job 來排程作業,執行常見的 SQL script。這一點也無法在 SQL Azure被設定了。

不能使用 SQL Profiler

sql script 的效能不好?我當然會使用SQL Profiler 看一指令執行的效能資訊。然而,SQL Profiler 無法在 SQL Azure 上執行。

謎之聲:當雲端資料庫的校能不好時,要用什麼工具看效能狀況啊?

不能使用 sp_configure

之前在 SQL Server 的管理經驗,在SQL Azure 可能都不管用了。DBA 常用的 sp_configure,在 SQL Azure 上是不被接受的。

好處

很棒,執行效能與自行建置的SQL Server 幾乎沒兩樣。除了 SSMS 管理時效能似乎慢了一些,但在AP 在執行SQL 指令時的效能似乎沒有任何差別,只看當時的網路狀況。

(待持續整理)

沒有留言:

Share with Facebook