程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 V9.5的版本選擇問題

DB2 V9.5的版本選擇問題

編輯:DB2教程

我寫這篇文章是為了幫助您決定使用哪種分布式 DB2 版本來為您的企業提供動力。隨著時間的推移,服務器版本不斷變化,還應該注意,從 DB2 8 到 DB2 9 有許多變更,本文不討論這些變更,以免本文過分復雜。在某些情況下,您可能擁有在 DB2 9 中不存在的特性或許可證。例如,DB2 8 Express Edition 要求購買一個服務器許可證和許多指定的用戶權利,這樣才能支持環境中的用戶集。在 DB2 9 和更高版本中,在使用用戶許可方式時沒有服務器許可證。關於版本之間的變更、遷移和更新權利的信息.

在與客戶交談時,常常有人問我許多關於高可用性的許可問題,或不同 DB2 版本之間的特性比較。關於這些主題和更多主題的詳細信息,我曾經撰寫的其他文章可能會有所幫助:

DB2 具有公共的代碼庫

在選擇 DB2 版本來處理您的工作負載時,首先應該理解的是:除了 DB2 Everyplace® 和 apache Derby(其 SQL API 與 DB2 完全兼容)以外,每個 DB2 版本對於不同的分布式平台都有相同的代碼庫。DB2 對於 Linux 的支持擴展到了所有的 IBM 服務器上:System i®、System z®、System x® 和 System p®,所有這些平台上的 DB2 也都是分布式版本。例如,DB2 for Linux on System z 與基於 Intel 或 AMD 的工作站上的 DB2 具有相同的代碼庫和許可方式。這意味著,盡管 DB2 for Linux on System z 服務器駐留在 System z 服務器上,但是訪問數據並不需要 DB2 Connect。(請仔細理解這句話 —— 如果連接 System z 服務器上的 DB2 for z/OS 數據服務器,就需要 DB2 Connect;這裡的差異在於 DB2 for Linux on a System z Integrated Facility for Linux(IFL)是一個分布式 DB2 版本。)

公共的代碼庫提供了可移植性,並確保如果需要擴展 DB2 解決方案,就可以無縫地完成,而無需考慮成本、平台或遷移工作量;因為 DB2 系列中的 SQL API 大約 95% 是公共的,所以在 DB2 系列成員之間遷移也很容易。除了 SQL API 之外,還有其他兼容性特性。例如,有一個公共的 Web 服務框架,它允許通過鼠標單擊將業務邏輯組合進面向服務體系結構(SOA)框架中。實際上,這個框架(稱為 IBM Data Web Services)適用於所有 IBM 數據服務器,包括 Informix!盡管聽起來不可思議,但是許多 IBM 數據服務器特性在每個 DB2 版本上都是相同的。例如,所有 IBM 數據服務器都用一個公共的 API 處理 SQL。例如,DB2 for z/OS 和 DB2 for Windows 的 JDBC 驅動程序具有相同的代碼。還有一個公共的客戶機:從 DB2 9.5 開始,如果要連接 DB2 for z/OS、DB2 for AIX 或 Informix,那麼只需安裝一個客戶機。另外,應用程序開發和管理工具(比如 Visual Studio 集成或 IBM Data Studio)也對整個系列有效。在所有平台上都啟用了 pureQuery。如果決定更改關於硬件體系結構(例如,從基於 Intel 的體系結構更改為 POWER6 體系結構)、操作系統(比如從 Windows® 遷移到 Linux™)或編程體系結構(比如從 .Net 更改為 Java,或反過來)的策略方向,就可以依賴於 DB2 適合各種平台這一特點。很簡單,您可以自由地做出選擇,而 DB2 確實是世界上惟一真正允許您根據環境定制信息平台的廣度和深度的數據服務器。如果需要使用支持觸發器、存儲過程等功能的更強大的數據庫,但是空間限制仍然很嚴格,而且設備可以運行 Java,那麼也可以考慮使用 Apache Derby,它的內存占用量只有大約 2 MB。apache Derby 數據庫可以充當 DB2 Everyplace 環境中的同步客戶機。另一個選擇是 DB2 Express-C FTL

DB2 Personal Edition……在個人平台上提供 DB2 的所有能力

DB2 Personal Edition(DB2 Personal)是運行在基於桌面的普通硬件上的單用戶數據服務器。DB2 Personal 可用在基於 Intel 和 AMD 的 Windows 和 Linux 工作站上。DB2 Personal 具有 DB2 Express Edition 中的大多數特性,但是它無法用作中心數據庫服務器,因為遠程客戶機不能連接到這個 DB2 版本的數據庫。但是,DB2 管理工具可以連接到這個 DB2 版本以執行遠程管理。這個 DB2 版本還包含對 64 位實例的支持並且沒有內存限制。DB2 Personal 提供安裝 DB2 Net Search Extender 和 Spatial Extender 的權利(它們在 DB2 9 和更高版本中是免費的),還支持基於 SQL 的復制。復制特性可以與 DB2 數據服務器相結合以支持偶爾連接的工作人員,也可以用來創建自己的 “發布/訂閱” 體系結構。DB2 Personal 還免費包含 pureXML 特性

許可和定價

DB2 Personal 按照安裝發放許可證,這與大多數 PC 工作站軟件非常相似。即使多位用戶輪流使用同一個安裝 DB2 Personal 的端點(他們顯然無法同時工作,因為只有一台機器),仍然只需要一個許可證,因為它是按照安裝而不是授權用戶發放許可證的。DB2 Personal 的每個安裝不需要考慮 RAM、價值單元等因素。例如,如果您有 10 個工作站,它們在三個 8 小時時間段中由 30 位用戶平等地共享,那麼需要 10 個 DB2 Personal 許可證。對於需要將個人單用戶數據庫用於大量 PC 工作站的應用程序來說,DB2 Personal 將是一個非常好的選擇,可以在每個工作站上安裝一個 DB2 Personal 拷貝。如果需要與分布式 DB2 數據服務器百分之百兼容,或者需要支持高級特性(比如 pureXML),那麼 DB2 Personal 是比 DB2 Everyplace 和 apache Derby 更合適的選擇。偶爾連接的用戶可能希望利用 DB2 Personal 內置的 SQL 復制特性來設置同步的數據和管理環境,在這種環境中移動的員工或遠程服務器可以與他們的企業保持聯系。當然,這只適合於膝上型計算機用戶和某些工作站,例如那些運行銷售點(POS)應用程序或銷售自動化(SFA)應用程序的機器。最後,開發人員也常常使用 DB2 Personal —— 但是,我個人認為 DB2 Express-C 更適合開發人員。

DB2 Express-C……它免費用於構建、開發和發布

在 2006 年 1 月 30 日,IBM 發布了一個特殊的免費 DB2 數據服務器版本,它稱為 DB2 Express-C。注意,它並不是 “正式的” DB2 版本。DB2 Express-C 是為合作伙伴和開發社區設計的,但是這個版本幾乎可以在任何環境中使用。相比之下,一些免費的 Express 競爭產品不但對 RAM 和處理器設置了嚴格的限制,還限制了在線實用程序、數據庫對象、自治、自動維護、內存位模型等,但是 DB2 Express-C 沒有這麼多限制。如果您研究這個 DB2 版本,會為它提供的豐富特性感到吃驚。DB2 Express-C 非常適合開發人員和中小型部署、學術社區等等。

與 DB2 Express 相比,DB2 Express-C 中 不 包含的主要特性有:

* 不保證代碼。例如,對這個產品不提供支持,也不提供 DB2 Spatial Extender 等的下載。注意,仍然可以下載並使用免費的 DB2 Extender(DB2 Spatial Extender 和 DB2 Net Search Extender);但是,您要自己解決在使用這個 DB2 版本時遇到的問題。

* 不能購買額外的 Feature Pack 來提供許多擴展服務。例如,不能購買 Storage Optimization Feature Pack,它提供深度行和備份映像壓縮服務。但是您應該知道,DB2 Express-C 附帶 pureXML 特性(稍後詳細討論),所以可以免費使用 DB2 XML 技術的所有功能。

* 不能使用集群軟件(比如 HACMP、SteelEye 或 DB2 9.5 內置的集群服務)將多台 DB2 Express-C 數據服務器配置成集群來提供高可用性。如果需要在高可用性環境中設置 DB2 Express-C,必須至少購買 DB2 Express-C Fixed Term License(FTL),FTL 是在這個 DB2 版本上增加的訂購選項。

* 沒有復制服務。這個問題使許多人產生了混淆,因為以前的 DB2 Express-C 版本間接指出在這個包中可以使用 DB2 內置的 SQL 復制的 APPLY 組件。在 DB2 Express-C 中不能使用任何復制服務。

* 不能購買獲獎的 24x7 IBM Passport Advantage 支持模型,而收費的 DB2 數據服務器可以使用這個模型。這可能是 DB2 Express-C 最大的限制之一(不能設置高可用性數據服務器集群是另一個主要限制)。

DB2 Express-C 的支持模型依賴於它的社區。這個社區的成員包括來自世界上最大型公司的最具經驗的 DBA 以及眾多的 DB2 開發人員和工程師,他們積極回答論壇上的提問,您可以在這裡尋求 關於 DB2 Express-C 的幫助、建議和支持(這種方式就像是開放源碼社區)。為了促進這個社區的發展,在 developerWorks Information Management 等網站上提供了實用的參考資料。

* DB2 Express-C 只提供當前版本。換句話說,當一個 DB2 Express-C 新版本發布時,就不再提供老版本。

如果希望使用上面列出的特性,至少需要購買 DB2 Express-C FTL(或者收費的其他 DB2 版本)。

關於 DB2 Express-C 的好消息是對它的限制不多:沒有數據庫大小限制,沒有自動管理或工具限制,沒有內存模型限制(可以使用 64 位內存模型),等等 —— 您使用的就是純正的 DB2。而一些 Express 競爭產品往往設置了許多限制;但是,這超出了本文的范圍。

DB2 Express-C 可以在運行 Linux 或 Windows 操作系統的服務器上使用。在 IBM DB2 Express-C 下載站點 上可以找到支持平台的完整列表。

開發人員喜歡 DB2 Express-C,因為可以使用它免費開發和部署應用程序。ISV 也喜歡 DB2 Express-C,因為可以使用它免費開發 DB2 並在他們的打包應用程序中部署和發布 DB2。請牢記,因為 DB2 Express-C 是純正的 DB2,這意味著可以不加修改地將這些應用程序部署到任何 DB2 版本上,甚至可以遷移到 DB2 for z/OS 上(只要在編寫應用程序時使用 DB2 系列 95+% 的公共 SQL API 集)。

許可和定價

DB2 Express-C 可以免費構建、部署和發布。因此,這個 DB2 版本沒有相關聯的許可費用。但是,在任何規模的服務器上,它限制 DB2 引擎只能使用最多 2 GB 的內存和 2 個處理器核心。可以在虛擬化環境中使用 DB2 Express-C。

DB2 9.5 中的變更

以前的 DB2 Express-C 版本被限制為最多 4 GB 的內存和 4 個處理器插槽。用戶負責通過 DB2 配置設置和個人觀察實施這些限制。在 DB2 9.5 中,這些資源將遵循前一節描述的新限制。

DB2 Express-C 可以用於許多不同的應用程序和項目 —— 尤其是因為它提供了收費 DB2 版本中的許多特性,而這些特性是其他 Express 競爭產品不具備的。

DB2 Express-C Fixed Term License(Subscription)……它不但可以免費構建、開發和發布,還可以設置 HA,而且它提供了支持!

在 2007 年 4 月 30 日,IBM 發布了另一個 DB2 Express-C 產品,DB2 Express-C Fixed Term License(FTL)。從本質上說,購買 DB2 Express-C FTL 會提供 DB2 Express-C 所不具備的三個特性:

* 每個 DB2 Express-C FTL 數據服務器都包含 IBM 的 24x7 支持。這可以幫助您解決問題,並提供與 DB2 數據服務器匹配的維護計劃。盡管這些服務器提供支持,但是仍然必須訪問 DB2 Express-C 論壇 和 DB2 Express-C Web page on Developer's Domain,因為在這些網站上可以了解關於 DB2 的許多信息。

* 與 DB2 Express-C 不同,DB2 Express-C FTL 為數據服務器增加了完整的 SQL 復制功能(包括 CAPTURE 和 APPLY 組件),因此適合偶爾連接的客戶機或發布/訂閱數據分布模型。

* DB2 Express-C FTL 允許在高可用性環境中將多台 DB2 Express-C FTL 數據服務器設置成集群。在高可用性環境中設置 DB2 Express-C FTL 數據服務器集群時,無論以何種方式使用備用 DB2 Express-C FTL 數據服務器,必須為每台 數據服務器購買許可證;例如,cold、warm 或 hot 備用。更多信息請參考 為高可用性環境中的分布式 DB2 9.5 服務器頒發許可。

* DB2 Express-C FTL 免費包含 High Availability Disaster Recovery(HADR)特性,這使建立高可用性 DB2 Express-C FTL 數據服務器集群的功能更加出眾。

* DB2 Express-C FTL 具有與常規 DB2 數據服務器更新計劃相關聯的 Fix Pack。例如,當為 DB2 發布一個 Fix Pack 時,也會為 DB2 Express-C FTL 提供這個 Fix Pack。另外,同時提供多個 DB2 Express-C FTL 版本,而 DB2 Express-C 只提供一個版本,不提供以前的代碼庫。

DB2 Express-C 與 DB2 Express-C FTL 之間的差異

當然,因為 DB2 Express-C FTL 的代碼庫與 DB2 Express-C 相同(各個 DB2 版本的代碼庫都相同),只是增加了前面提到的功能,所以仍然具備 DB2 Express 的靈活性和健壯性。與 DB2 Express-C 一樣,也不能為 DB2 Express-C FTL 購買 Feature Pack;例如,不能購買 Storage Optimization Feature Pack,它提供深度行和備份映像壓縮服務。因為 DB2 Express-C FTL 提供支持,所以仍然可以使用免費的 Extender 並獲得相關支持 —— 您不必自己解決問題,IBM 支持團隊會幫助您。可以在運行 Linux 或 Windows 操作系統的服務器上使用 DB2 Express-C FTL。在 IBM DB2 Express-C 下載站點 上可以找到支持平台的完整列表。

許可和定價

DB2 Express-C FTL 的 FTL 部分實際上是一個預訂許可證。在為 DB2 Express-C FTL 購買許可證時,實際上是為 FTL 部分付費。這個預訂提供一年的支持,還授權使用前面提到的附加功能。所以,在為這個產品發放許可證時,不需要考慮處理器、處理核心、VU 等因素。只需為每台服務器購買一個支持合同;例如,如果您有兩台 DB2 Express-C FTL 數據服務器,那麼必須購買兩份預訂(FTL)合同。如果使用 HADR 將這兩台DB2 Express-C FTL 數據服務器組合成集群,那麼仍然要購買兩份預訂合同,因為對於 DB2 Express-C FTL,沒有與高可用性相關的特殊許可規則。如果在一台機器上的兩個 VMWare 會話中安裝 DB2 Express-C FTL,就必須購買兩個 DB2 Express-C FTL 許可證。為 DB2 Express-C FTL 購買許可證很簡單吧?您應該知道,在任何規模的服務器上,DB2 Express-C FTL 只能使用最多 4 個處理內核和 4 GB 的內存。

DB2 9.5 中的變更

以前的 DB2 Express-C FTL 版本被限制為最多 4 GB 的內存和 4 個處理器插槽。用戶負責通過 DB2 配置設置和個人觀察實施這些限制。在 DB2 9.5 中,這些資源將遵循前面小節描述的新限制。

請考慮一下……

DB2 Express-C FTL 可以用於許多不同的應用程序和項目 —— 尤其是因為它提供了收費 DB2 版本中的許多特性,而這些特性是其他 Express 競爭產品不具備的。如果您對 DB2 Express-C 滿意,但是需要高可用性、復制、24x7 支持、pureXML 等附加特性,那麼可以考慮使用 DB2 Express-C FTL。

在 DB2 Express-C FTL 上可以實現的有趣功能

因為這個產品剛發布不久,我還沒有從客戶那裡了解到相關的反饋(只是到目前為止還沒有)。但是,在免費數據服務器上提供 HADR、24x7 支持、復制和 pureXML 意味著什麼呢?實際上大量生產性 OLTP 工作負載在兩個插槽的機器上運行,現在可以以與 MySQL 相同的價格獲得出色的可用性特性(HADR)、支持和 pureXML。這真的 很酷!

DB2 Express Edition……簡單、可靠且便宜

DB2 Express Edition(DB2 Express)是一個入門級的具有完整支持的 DB2 數據服務器,是專門定制的廉價、特性完整、達到工業級別和基於開放行業標准的關系數據庫。這個 DB2 版本的目標用戶通常是 SMB(中小型企業)和 ISV。對於使用運行 Linux、Solaris x86 和 Windows 的服務器的企業,DB2 Express 提供了非常誘人的切入點和富有競爭力的價格(前面的鏈接提供最新的平台支持信息)。

DB2 Express 還提供了大量可供選擇的業務伙伴應用程序、服務和支持。它附帶一組定價計劃,合作伙伴可以利用這些計劃為其企業產生可觀的收入。當然,企業也可以選擇在其環境中部署 DB2 Express,並且也經常這樣做。

因為 DB2 Express 的核心是功能完整的 DB2 服務器(在這裡找不到其他競爭產品中存在的技術性限制),所以 DBA 可以利用其內置的自主可管理性特性,如 IBM 的 Self Tuning Memory Manager(STMM)、Configuration Advisor、Health Center、Design Advisor、自主維護計劃、自動備份調優和節流以及更多功能。這些服務有助於提高 DB2 解決方案的性能和可靠性,同時將管理復雜性、所需的技能和總擁有成本降到最低。

DB2 Express 支持高可用性(HA)體系結構,如 HA 集群技術和日志傳送。DB2 9.5 中內置的 Tivoli System Automation(TSA)可用性技術和 HADR 不包含在基本的 DB2 Express 版本中,但是可以通過 Feature Pack 單獨購買這些特性(稍後詳細討論)。考慮到其他以 SMB 為目標的流行數據庫僅僅在其高級版本中包含高級在線和管理功能,加之 DB2 Express 的價格和自主功能,您可能從來不曾知道 DB2 Express 的存在,而且還可以包含在您的筆記本中!

這個 DB2 版本與用於 Linux、Windows 和 UNIX 平台的其他可伸縮 DB2 關系數據庫產品完全兼容,您可以預先配制 DB2 Express,以便輕松透明地安裝到應用程序中。客戶會喜歡 DB2 Express,因為他們所看到的全部東西只是一個解決方案;業務伙伴也會喜歡它,因為他們可以信任它能夠在真正無人值守的情況下運行。

DB2 Express 附帶 DB2 Net Search Extender(在所有 DB2 9 版本中都是免費的)、Spatial Extender(在所有 DB2 版本中也是免費的)以及基於 SQL 的復制。

關於 DB2 Express 特別好的一點是,它具有 “企業可擴展性”。有許多 Feature Packs 可以添加到 DB2 Express 數據服務器上,從而用企業服務充實它的功能。同時,仍然可以享受這個 DB2 版本的低價格。設計這些附加 Feature Pack 的目的是避免中端市場解決方案被迫使用企業級產品,而市場上的其他競爭產品會出現這一問題。

因為 DB2 Express 的核心是功能完整的 DB2 服務器(在這裡找不到其他競爭產品中存在的技術性限制),所以 DBA 可以利用其內置的自主可管理性特性,如 IBM 的 Self Tuning Memory Manager(STMM)、Configuration Advisor、Health Center、Design Advisor、自主維護計劃、自動備份調優和節流以及更多功能。這些服務有助於提高 DB2 解決方案的性能和可靠性,同時將管理復雜性、所需的技能和總擁有成本降到最低。

DB2 Express 支持高可用性(HA)體系結構,如 HA 集群技術和日志傳送。DB2 9.5 中內置的 Tivoli System Automation(TSA)可用性技術和 HADR 不包含在基本的 DB2 Express 版本中,但是可以通過 Feature Pack 單獨購買這些特性(稍後詳細討論)。考慮到其他以 SMB 為目標的流行數據庫僅僅在其高級版本中包含高級在線和管理功能,加之 DB2 Express 的價格和自主功能,您可能從來不曾知道 DB2 Express 的存在,而且還可以包含在您的筆記本中!

這個 DB2 版本與用於 Linux、Windows 和 UNIX 平台的其他可伸縮 DB2 關系數據庫產品完全兼容,您可以預先配制 DB2 Express,以便輕松透明地安裝到應用程序中。客戶會喜歡 DB2 Express,因為他們所看到的全部東西只是一個解決方案;業務伙伴也會喜歡它,因為他們可以信任它能夠在真正無人值守的情況下運行。

DB2 Express 附帶 DB2 Net Search Extender(在所有 DB2 9 版本中都是免費的)、Spatial Extender(在所有 DB2 版本中也是免費的)以及基於 SQL 的復制。

關於 DB2 Express 特別好的一點是,它具有 “企業可擴展性”。有許多 Feature Packs 可以添加到 DB2 Express 數據服務器上,從而用企業服務充實它的功能。同時,仍然可以享受這個 DB2 版本的低價格。設計這些附加 Feature Pack 的目的是避免中端市場解決方案被迫使用企業級產品,而市場上的其他競爭產品會出現這一問題。

DB2 Express 數據服務器的 Feature Pack

可以通過購買 Feature Packs,用許多企業服務擴展 DB2 Express。Feature Pack 是在 DB2 9 中首次引入並在 DB2 9.5 中繼續更新。通過引入 Feature Pack,客戶可以按照菜單定制 方式為應用程序購買數據服務,應用程序就可以在不使用大型服務器的情況下,使用通常在成熟的企業解決方案中才有的服務。

Feature Pack 必須采用與 DB2 數據服務器相同的許可方式,也就是按照授權用戶許可證或者按照安裝它們的服務器的價值單元級別授予許可。DB2 Express 9.5 可用的 Feature Pack 有變化,包括:

* High Availability Feature for DB2 Express: 它提供的許多服務可以提高在 DB2 Express 數據服務器上運行的應用程序的可用性,包括支持在線表重組、用於 DB2 9.5 內置的 Tivoli System Automation(TSA)高可用性服務的兩節點集群許可證和 High Availability Disaster Recovery(HADR)。這個 Feature Pack 中的所有特性都包含在基本 DB2 Workgroup 和 DB2 Enterprise 版本中。

HADR 是一組可用性服務,它們提供可靠的數據庫可用性和一個保護計劃,不但在整個組合上提供冗余,甚至能夠滿足最苛刻的可用性服務水平協議,支持以秒度量的平均修復(MTTR)時間。HADR 最出色的方面是,只需單擊按鈕,就能夠設置好它。

在線表重組與其他廠商的產品功能都不一樣。它可以對表進行連續的重組,而不需要傳統鏡像復制方式所需的大量磁盤空間。它可以啟動、暫停和節流;當您改變操作的狀態時,就立刻會見到收益。例如,可以在晚上運行重組,在白天對它進行節流或停止它。當重組停止時,訪問表的應用程序會立即享受到重組帶來的好處:這是真正的可用性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved