[Azure][SQL]Azure SQL Database 變大了

好幾天沒有注意 Azure SQL Database ,忽然在新增的時候看到有許多不同的等級可以設定,因此來看看這些新改變有甚麼不一樣 !

這一陣子比較忙於產品的開發上,平常使用 Azure SQL Database ,也都是採用 SSDT 和 SSMS 來建置和管理,因此就沒有注意到有甚麼樣的新功能改變了。

剛好最近因為需要另外建立一些測試用的環境,順便要在 Portal 上調整一些設定,因此就使用 Portal 來建立 Azure SQL Database。一開起來有看到一些新增的小功能,但沒有太多的去注意,但在建立資料庫需要配置規模的時候,卻發現有很不一樣的改變了。從下面的圖片中可以看到,原本較常使用的 Standard 等級下,從原本的 S0 , S1 , S2 , S3 四個等級,看起來又新增了一些,這樣看起來如果 Standard 等級想要使用較高的 DTU 的時候,就可以不用特別升級到 Premiun 了。這樣有甚麼好處呢 ? 在 Standard 版本中,每一 DTU 的成本,會比 Preminu 來的便宜許多,因此如果能在 Standard 就能讓 DTU 可以超過原本 S3 的 100 DTU 的限制,而達到最高 3000 DTU ,那看起來是一個很不錯的改變。

然而除了 DTU 可以有較多的選擇之外,另外一個比較容易受到大家抱怨的,就是 Standard 版本只能有 250GB ( 雖然不見得大家會超過這樣的限制,但沒有達到 TB 等級,很多時候在不同雲端資料庫比較時,還是會被拿出來討論一番 ) 。而現在從 S3 等級開始,基本上還是提供 250GB 的資料庫大小,但如果您有需要較大的資料庫,只需要增加額外儲存的費用,就可以讓資料庫最大可以到 1TB,這樣看起來應該非常得夠用了。

因此我整理了一下目前新的等級、DTU 和費用,在這裡因為從 S4 , S6 , S7 , S9 和 S12 目前都是 Preview 的版本,因此價錢上會有折扣。所以比較明顯的是 S3 和 S4 ,DTU 雖然兩者之間相差一倍,但價錢是一樣的。當然這個到 GA 的時候,價格應該就會恢復了,所以我在表格的下方多增加一個預估費用。因此如果你有特別的效能需求的話,Azure SQL Database 目前的改變,相信可以對你有所幫助。
(PS. 價錢以微軟公告為準,這裡只是整理 Portal 上所列出的價格做個整理 )

而在儲存空間部分,S3 等級開始可以選擇較大的空間,但超出 250GB 的部分就要另外計費,以目前的牌價來看,平均增加每 1GB 的費用是 2.64 元,但要記得這個是 Preview 的價錢,因此 GA 的時候應該價格會有所提升。

增加空間(GB) 50 150 250 500 774
增加費用(NT$) 131.87 395.6 659.33 1318.67 2041.3

而這樣的改變,不只在資料庫上有所調整,同時在 Elastic Database Pool ( 彈性資料庫集區 ) ,也有做了相對地調整了。拿 Standard 等級的為例,之前我們在使用的時候,如果集區的 eDTU 是 100 的話,那所有資料庫的總和就只有 100GB,這對我們想使用集區來節省費用的人來說,這感覺上沒有太大的幫助。像是我有三個資料庫,每個資料庫都大約 100GB,本來我都可以使用 S2 等級 50 DTU 的規模,每個資料庫一個月約需 NT$2328;但如果使用彈性資料庫集區的話,那因為資料庫的大小要被考慮進來,因此我勢必只能選擇 eDTU 400 的規模,這樣一個月的費用是 NT$27894,遠比我三個資料庫都是 S2 等級的加起來的費用高很多,這樣不但沒有節省費用,反而增加不少的支出。當然啦,在使用彈性資料庫的時候因為總共有 400 DTU ,因此我可以設定三個資料庫最低能有 50 DTU ,最高可以有 400 DTU。帳面上看起來效能會有所提升,但如果平常 50 DTU 就很足夠的狀況下,那麼彈性資料庫集區對你的幫助就幾乎沒有了。

然而已剛剛的狀況,在新的彈性資料庫集區的改版中,我們可已看到如果 eDTU 就算只有 50,除了原本預設限制只能 50GB 外,現在您也可以直接擴充 Pool GB 的上限,增加的空間另外付費就可以了

在這樣的改變下,不一定就能完全滿足所有人的需求,因為彈性資料庫集區在 eDTU 較小的狀況下,是比較不容易感受到它的效益。他比較適用的情況是資料庫多,每個資料庫 DTU 等級也比較高的狀況下,可以有更多的彈性配置,而以往空間的限制,透過目前可以擴增的便利,應該會讓彈性資料庫集區被容易被接受使用。