在我們行業,6 年就意味著永遠。以此看來,IBM DB2 Express-C 已存在了很長時間。自 2008 年 IBM DB2 DBMS 作為一款免費版本推出以來,DB2 Express-C 迅速在 DBA、應用程序開發人員、學生和 ISV 中流行起來。
在 6 年中經過無數更新之后,DB2 Express-C 10 終于在 2012 年 4 月 30 日得以發布,它可供任何人或在云上免費使用。我們不會再提供其他使用方式。
DB2 Express-C 如何避免變成試用軟件
商用產品提供免費版在 2012 年已不再是件新鮮事。開放源碼運動帶來了人們對免費產品期待的一種氣氛,并且許多軟件提供商也以發布其商用產品的免費版本來回應這一運動(出于某種原因,律師不喜歡 “免費” 這個詞)。提供商用產品免費版并不是一項容易的決定。畢竟,如果一個產品可免費獲得,那么還有什么理由繼續支付數十萬或者甚至數百萬美元購買相同的產品呢?
為了保護來自現有產品的可觀收入,供應商為其免費產品添加了限制,這些限制如此嚴格,以至于大部分這樣的產品都被稱為 “試用軟件”。一個很好的例子是來自 Oracle 和 Microsoft 的 DBMS 免費版。Oracle Express Edition 和 Microsoft SQL Server Express Edition 均是其非常昂貴商用產品所對應的強大免費版本。為了保護收入(他們也應該這么做),Oracle 和 Microsoft 在內存使用、處理能力和可用性等區域引入了非常相似的限制。盡管面向低端市場,這些限制仍然是在不削弱功能的前提下限制 DBMS 性能的合理方式。但是,兩家供應商都選擇嚴格限制免費 DBMS 能處理的數據量。Oracle 將 Oracle XE 限制為 11GB 數據,Microsoft SQL Server 引入了 10GB 的限制。
DB2 Express-C 與其他免費商用 DBMS 有何不同?
DB2 Express-C 選擇了一種不同的戰略。盡管對 IBM 而言充滿風險,但我們覺得我們所采取的措施對我們的客戶更好。(如果人們不付費,他們還是您的客戶嗎?我們認為是的。)此戰略毫無保留地向應用程序開發人員提供了 DB2 的所有功能。當使用 DB2 Express-C 構建應用程序時,您可以確定 DB2 提供的每個編程接口都可供您使用。您也可以確定您使用 DB2 Express-C 編寫的應用程序代碼可原封不動地在任何其他 DB2 for Linux®, UNIX®, and Windows® 和 IBM InfoSphere® Warehouse(DB2 數據倉庫產品)中運行。在大部分情況下,它還將原封不動地在 DB2 for z/OS® 和 DB2 on System i® 上運行。
而且,因為 DB2 Express-C 包含與 DB2 for Linux, UNIX, and Windows 的付費版本完全相同的代碼,所以您可以確定,您的應用程序在與付費 DB2 版本和免費 DB2 Express-C 中使用時均具有完全相同的行為。與來自 Oracle 和 Microsoft 的競爭產品不同,您不會受到 DB2 Express-C 可管理數據量的限制。任何人在處理大小超出 11GB 的時看到 ORA-12592 錯誤消息都能可證實這有多糟糕,尤其是在您的聲譽與您客戶密不可分的時候。DB2 Express-C 中沒有類似的消息,DB2 絕不會因為您處理超出限制大小的數據量而停止工作。DB2 Express-C 可管理的大小在本質上是無限的。它只會受限于您向 DB2 Express-C 提供的資源,而這一限制只會影響性能,而不會影響功能。DB2 Express-C 不會將您置身于由于許可限制應用程序停止工作的境地。
因為我們探討的是數據庫和資源的主題,所以我們還應該指出,DB2 Express-C 服務器可以是物理的或虛擬的。而且,您可以在單個服務器上運行多個 DB2 實例,每個實例可擁有多達 256 個獨立且不同的 DB2 數據庫。每個數據庫可進一步將數據分解為 32000 種模式。這對任何付費 DBMS 而言都是一種強大的功能,在 “免費 DBMS” 市場更是絕無僅有的。
如果 DB2 Express-C 免費提供了這么強大的能力,為什么要付費購買 DB2 的 Express、Workgroup、Enterprise 和 Advanced Enterprise 版本?DBMS 的性能高度依賴于可供它使用的內存和處理器資源。它的價值也與通過數據庫管理員可用的高級功能優化 DBMS 操作的操作效率直接相關。這些是各種 DB2 版本的兩個方面的區別。
可供 DB2 Express-C 使用的資源
讓我們首先看看資源方面。DB2 Express-C 可部署在擁有任何內存量的任何大小服務器(無論是物理的還是虛擬的)上。換句話說,您選擇來運行 DB2 Express-C 的服務器硬件不會受到任何限制。但是,DB2 Express-C 將控制自身僅使用許可協議條款允許使用的資源。具體來講,DB2 Express-C 將計劃在兩個處理器核心上執行 DB2 任務,無論運行 DB2 Express-C 的服務器上存在多少個處理器核心。這項工作是自動完成的,不會添加任何監視和管理客戶合規性的負擔。如果您愿意,可以更改供 DB2 Express-C 使用的處理器核心。默認情況下,它將使用前兩個處理器核心,也就是編號為 0 和 1 的處理器核心。DB2 Express-C 10 中存在這一 CPU 能力限制是自 DB2 Express-C 之前版本開始就有的。
資源的另一個方面是主內存或 RAM。DB2 Express-C 的早期版本將自身限制為使用最多 2GB 內存。DB2 Express-C 版本 10 將最大內存量翻了一倍,更改為 4GB。您可能想知道為什么我們選擇將可用內存量翻倍,而與早期版本相同的處理器數量。我們發現,內存對性能的影響比 CPU 容量對性能的影響要大得多。具體來講,我們發現許多新工作負載(比如涉及文本和 XML 處理的工作負載)實際上會使用更多內存。
為了全面理解資源方面,請考慮兩個示例。假設您有一個 x64 架構的服務器,它具有兩個四核處理器和 64GB 內存。您可以在此服務器上部署 DB2 Express-C,無需擔憂許可合規性。DB2 Express-C 將使用兩個處理器核心,將剩余 6 個核心留給其他工作負載,比如 Web 和應用服務器或新的文本搜索服務器(稍后將更詳細介紹)。類似地,DB2 Express-C 將使用 4GB 內存,將剩余 60GB 用于其他工作負載。
您可能會一直在想為什么要升級到付費版 DB2 的這個問題。DB2 的付費版本會利用更多處理器和內存資源。因此,他們將提供更高的性能水平。此外,DB2 付費版本為 DBA 提供了額外的功能來優化數據庫的性能,減少操作成本。例如,DB2 付費版本提供了高級數據壓縮功能,它可顯著減少存儲成本,同時改善性能。對于需要管理非常龐大數據庫的客戶,單單在存儲成本上的節省就足以補償 DB2 許可的成本。
DB2 付費版本中可實現成本節約的功能的另一個示例是多溫度存儲(V10.1 中的新功能)。此功能允許 DBA 將經常使用的和重要的數據(熱數據)放在更快的存儲上,比如 SSD,將參考數據或不常使用的數據(冷數據)放在更加廉價的存儲上。類似于壓縮,在性能得到的改善以及在存儲成本的縮減足以補償 DB2 許可的成本。
另一個示例可能是物化查詢表 (MQT)。這些在本質上是預先計算的復雜查詢,可以對那些在過去可能需要幾小時進行計算的問題提供即時的答案。連接集中器功能允許 DBA 處理數萬個用戶的工作負載,而無需向每個工作負載專門分配數據庫服務器資源。這允許單個數據庫實例處理大量的并發用戶。DB2 付費版本支持此功能,而 DB2 Express-C 產品不支持。高級安全性是另一個示例。基于標簽的訪問控制 (LBAC) 與行和列訪問控制(RCAC,V10.1 中的新功能)允許 DBA 提供更強有力的數據安全性和隱私保護,而無需應用程序開發人員來滿足這些需求。
請注意,所有這些功能都旨在幫助 DBA 設計更高性能、更低操作成本且更高安全性的數據庫環境。這不是巧合,而是一個設計重點。正如本文前面所述,DB2 Express-C 提供了 DB2 的所有編程接口,允許使用 DB2 Express-C 構建的應用程序在所有 DB2 版本上運行,同時為 DBA 提供了先進的功能來優化這些應用程序的成本和性能。我們還提到,DB2 Express-C 受到志趣相投群體的支持,而 DB2 付費版本卻提供了由全球的 IBM 支持團隊所帶來的技術支持。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com