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