上周微軟發布了SQL Server的歷史性公告:SQL Server 標准版的SP1提供你和企業版一樣得功能。你不信的話?可以點擊這里。
這改變了整個關系數據庫市場,重重打擊了Oracle。在今天的文章里我想具體談下這個令人激動的發布——標准版和企業版之間還是有區別的,在某些情況下還是需要企業版。
標准版等同企業版?
安裝SQL Server 2016 SP1后,會在標准版、Web版、免費版和本地數據庫里啟用SQL Server開發版本的所有功能:
- 修改數據捕獲
- 數據庫快照
- 列存儲索引
- 分區
- 壓縮
- 內存中OLTP
- 全程加密
- PolyBase
- 審計
- 多文件流容器
從開發人員來說,你不再需要在數據庫程序里里關心你使用的SQL Server版本。在所有的SQL Server版本里,一切都是可用的。這真的太棒了!因此現在的問題是,你還需要SQL Server企業版?我們來看下這個。
標准版不等同企業版
SQL Server企業版還是需要的,因為:
- 高可用性/故障恢復
- 支持更多的硬件資源
例如,如果你想部署Always On可用性組,你還是需要SQL Server企業版,因為標准版志給你基本的可用性組。甚至部分數據庫可用性只在企業版里支持。
最重要的是標准版只支持128G內存,4個CPU插槽或24個CPU核。如果你想使用更多的硬件,你還是需要企業版。
這里我們再談下內存支持。在標准版本里,如果你使用內存中OLTP或列存儲索引,SQL Server對每個功能,會給你額外的32G內存(除緩存沖外):
- 額外32G用於內存中OLTP
- 額外32G用於列存儲索引
這就是說在標准版里最大可用內存現在是192G(128G 緩存池 + 32G 內存中OLTP + 32G 列存儲),一旦你使用內存中OLTP和列存儲索引。如果你的內存優化表大於32GB,所有剩下的INSERT和UPDATE語句就會失敗……哈~~~
但在列存儲索引里就不一樣,因為SQL Server在內存里只保持列存儲索引的32G,如果你超過這個限制,那么其它的列存儲數據庫就從內存里忽略。一個聚集列存儲索引相比傳統行存儲索引會很高的壓縮率,因此對於列存儲索引32G的額外內部才能可以在內存里存儲很多數據。