技术开发 频道

DB2 V9.5的版本选择问题

 

    DB2 9.5 中的变更

    DB2 9.5 在许可和打包方式方面做了许多重要(且具有积极意义)的变更。在许可方面,DB2 Workgroup 9.5 的 RAM 限制针对数据服务器,而不是像 DB2 9 中那样针对物理服务器。这使公司能够在更大的服务器上运行 DB2 Workgroup,使这个 DB2 版本更适合参与多应用程序整合。注意,DB2 9.5 的 RAM 限制并没有变,只是改变了计算方法。很简单,从 DB2 9.5 开始,如果服务器不超过 400 VU 而且服务器上有 32 GB 的 RAM,就可以使用 DB2 Workgroup(只要 DB2 只使用 16 GB 的 RAM);而在 DB2 9 中就不能这么做。

    DB2 9.5 中的另一个重要变更是,High Availability Feature Pack 不再作为 DB2 Workgroup 的可选 Feature Pack。那么,它放在哪里了?它免费包含在这个产品中!从 DB2 9.5 开始,HADR、在线表重组和集成的 TSA 集群软件等特性包含在 DB2 Workgroup 中。当然,如果将两个 DB2 Workgroup 服务器设置成高可用性集群,那么仍然必须根据备用服务器的角色为它购买许可证。注意,DB2 9.5 将描述备用服务器的术语从 active/passive 改为 hot/warm/cold,还引入了一些新的许可规则。正如前面提到的,我的文章 “为高可用性环境中的分布式 DB2 9.5 服务器颁发许可” 讨论了这些细节;同样,这些变更都有积极意义。

    除了在 DB2 Workgroup 9.5 中免费包含 High Availability Feature Pack 之外,对于这个 DB2 版本,还取消了一些 Feature Pack,一些 Feature Pack 改了名字。Workload Management Feature Pack 不再作为这个版本的可选 Feature Pack。这意味着这个 DB2 版本不能再使用 DB2 Query Patroller、DB2 Governor 和替代它们的 Workload Manager。

    最后,在 DB2 9 中,可以为 DB2 Workgroup 购买 DB2 Performance Optizmiation Feature Pack。这个 Feature Pack 包含 MDC、MQT 和并行性。DB2 Workgroup 现在仍然可以使用这个 Feature Pack,但是它已经改名为 Query Optizmization Feature Pack;但是,它提供的组件是相同的。改变它的名称是为了避免混淆,因为 DB2 Enterprise 可用的一个 Feature Pack 使用同样的名称,但是包含不同的组件。

    请考虑一下……

    DB2 Workgroup 可以在企业中扮演许多角色。如果中小型企业需要完全成熟的可伸缩且高可用的关系数据库,但是数据服务器不需要使用 16 GB 以上的内存或超过 400 VU 的处理能力,那么很适合使用这个版本。与 DB2 Express 相比,DB2 Workgroup 尤其适合业务线应用程序需要小型 “silo” 服务器的企业环境,也适合需要为低事务吞吐量应用程序提供企业服务的部门。

    DB2 Enterprise Server Edition……无可匹敌的可伸缩性、弹性和灵活性

    DB2 Enterprise Server Edition(DB2 Enterprise)是 IBM 功能最齐全的支持 Web 的客户机/服务器数据服务器。在 DB2 支持的所有分布式平台上都可以运行这个 DB2 版本,即:Linux、Windows、AIX、Solaris 和 HP-UX(前面的链接提供最新的平台支持信息)。

    DB2 Enterprise 旨在用作大中型的部门服务器,在所有 DB2 9 版本中它提供的特性和服务最为全面。例如,这个 DB2 版本免费提供表分区、HADR、并行性、MDC、MQT、TSA 等服务,而这些特性对于 DB2 Express 和 DB2 Workgroup 需要通过 Feature Pack 另外购买。除此之外,DB2 Enterprise 还具备它特有的服务。例如,DB2 Enterprise 能够使用表分区服务对一台服务器中的数据进行分区,这个服务只能在 DB2 Enterprise 上使用。这个功能包含在基本 DB2 Enterprise 版本中,但是对于 DB2 Express 或 DB2 Workgroup 都不可用,甚至无法通过 Feature Pack 购买。

    这个 DB2 版本对于使用的内存数量没有限制(实际上,最好的 DB2 9 TPC-C 结果使用差不多 2 TB 内存作为缓冲池 —— 这个内存量甚至超过了许多公司拥有的数据总量)。对于运行这个数据服务器的底层服务器,也没有最大 价值单元 限制。

    DB2 Enterprise 还有一组 Feature Pack,它们可以用更多的数据服务扩展企业解决方案。

    DB2 Enterprise 数据服务器的 Feature Pack

    DB2 Enterprise 有自己的一组 Feature Packs,它们为 DB2 Enterprise 提供高级数据服务,可以按照与 DB2 Express 和 DB2 Workgroup 数据服务器相同的方式使用这些 Feature Pack。因为 DB2 Express 和 DB2 Workgroup 的 Feature Pack 提供的许多服务免费包含在 DB2 Enterprise 中,所以这个 DB2 版本可用的大多数 Feature Pack 与那两个版本不一样。

    DB2 Enterprise 的 Feature Pack 必须采用与 DB2 Enterprise 数据服务器相同的许可方式,也就是按照授权用户或者按照价值单元购买许可证。但是,DB2 Storage Optimization Feature Pack 不能使用授权用户许可证,必须按照价值单元购买许可证。这意味着,如果要购买这个 Feature Pack,那么 DB2 Enterprise 也必须使用价值单元许可证。

    在 DB2 Enterprise 中可用的 Feature Pack 有:

    * Performance Optimization Feature for DB2 Enterprise: 它提供工作负载管理服务和一套用于 DB2 数据服务器性能调优的报告和工具。

    DB2 9.5 引入了一组全新的工作负载管理服务,它们替代了以前由 DB2 Query Patroller 和 DB2 Governor 组成的体系结构;这些服务统称为 Extreme Workload Manager 或 DB2 Workload Manager(DB2 WLM)。DB2 9.5 中的这个新体系结构允许显式地控制执行的工作的 CPU 使用,探测并防止所谓的 run away 或 rogue 查询,以许多不同的方式密切监视数据库活动。

    DB2 WLM 可以替代以 DB2 Query Patroller 和 DB2 Governor 为中心的 DB2 9 工作负载管理解决方案。在 DB2 9.5 中仍然完全支持这两个产品,并可以在 DB2 9.5 WLM 环境中使用它们;但是,它们将随着时间的推移逐渐退出,最终将被 DB2 WLM 取代。

    Performance Optizmiation Feature Pack 还包含 DB2 Performance Expert。DB2 Performance Expert 简化了性能管理和调优工作。它为 DBA 提供 DB2 数据服务器的一致性视图,包含关于实例、子系统、数据库和应用程序的信息。例如,它提供一组预定义的报告,可以显示 DB2 中的资源不足和异常情况、锁冲突和死锁以及导致高工作负载的应用程序和 SQL 语句。它还包含一组关于 SQL、数据库和缓冲池活动的详细报告,并进行趋势分析和假设测试,从而支持性能优化等任务。这个 Feature Pack 中的 DB2 Performance Expert 版本只能供在 Linux、UNIX 和 Windows 上运行的 DB2 数据服务器使用,而在这个 Feature Pack 之外另外购买的 DB2 Performance Expert 工具可以在所有 DB2 系列产品上使用。

    * pureXML for DB2 Enterprise:为 DB2 Enterprise 提供与 pureXML Feature Pack for DB2 Express 相同的 XML 特性和功能。

    * Homogeneous Federation DB2 Enterprise:为 DB2 Enterprise 提供与 Homogeneous Federation DB2 Express 相同的同构联邦特性和功能。

    * Advanced Access Control for DB2 Enterprise: 它为 DB2 Enterprise 数据服务器中存储的数据提供基于标签的访问控制(LBAC)保护服务。通过使用这个特性,可以在表列和行级别控制用户和组拥有的读写访问权。LBAC 通过在表对象上附加安全标签来控制对它们的访问。试图访问对象的用户必须具有安全标签。如果安全标签匹配,就允许访问;如果不匹配,就拒绝访问并隐藏数据。

    Advanced Access Control 特性提供一个安全框架,可以围绕业务实体、数组或其组合的层次化表示组织这个框架。除此之外,还可以使用 LBAC 在文档级控制对 pureXML 列中存储的 XML 文档的访问。

    * Geodetic Data Management Feature: 它提供考虑到地球曲率的空间分析(这是它与所有 DB2 9 版本中的免费 Spatial Extender 之间的主要差异)。Geodetic Data Management Feature 用于那些需要把地球表面投影所造成的误差减至最低的高级分析,它对于国防应用程序、天气应用程序等尤其有用。

    例如,在使用 DB2 Spatial Extender 时,可以用不同的投影(例如,Mercator 投影)使地球 “平面化”,然后在应用程序中容忍或考虑误差。如果用这种方法定位打 911 报警电话的人的住宅,那么不会产生什么问题(10 英尺的误差不会造成什么损害)。但是,像导弹防御系统这样的国家安全应用程序需要更高的精度,无法容忍将地球表面 “平面化” 为 LAT/LONG 坐标所导致的误差。这正是 Geodetic Data Management Feature 可以发挥作用的领域。

    通俗地讲,如果诸如 “格陵兰岛是非洲的 1/14”(这与我在上小学时看到的地图并不符合)这样的误差会给应用程序带来问题,那么这个特性正好适合您。

    * Mobility on Demand for Enterprise :它以低价为 DB2 Enterprise 服务器提供 DB2 Everyplace Enterprise 的组件。通过使用这个特性,可以把企业数据扩展到数量不限的移动设备上(只要这些设备能够与数据服务器进行数据同步)。

    * DB2 Storage Optimization Feature for DB2 Enterprise :它提供的存储压缩服务可以用来优化数据的性能和内存占用量。这个 Feature Pack 由 Row Level Compression 和 Backup Compression 服务组成。

    Row Level Compression 服务是在 DB2 9 中首次引入的,它给数据库行业带来了很大的震撼。在 DB2 9.5 中,它们得到了扩展,支持自主的词典创建。这些服务提供从磁盘到缓冲池的行级压缩,可以显著减少磁盘空间占用(内部测试表明,这些服务节约的磁盘空间平均为大约 65%),并提高出现 I/O 瓶颈的系统的性能(数据仓库系统的瓶颈都在 I/O 方面;毕竟,CPU 瓶颈是很容易消除的)。但是,不只如此。

    请考虑一下压缩可能带来的其他潜在好处。相信我,压缩的好处绝不仅仅是节约磁盘空间。例如,在 DBA 必须负责的备份任务方面,压缩不但使备份更小,而且备份过程会更快(因为要备份的数据更少)。再想想 Q/A 和测试环境。如果数据在磁盘和 内存缓冲区中都是压缩的,那么就可以在这些缓冲区中获得更多数据。这不仅意味着性能可能会提高,而且 RUNSTATS 和 REORG 等维护操作也可以更快地运行。另外,考虑到 DB2 9 可以在一个数据页面上支持超过 2,000 个数据行(DB2 8 限制为 255 个数据行),您已经拥有了一个出色的消除 I/O 瓶颈的方法。最后,考虑 HVAC 给存储等方面带来的好处。综合考虑所有这些因素之后,您就会相信对数据进行压缩的好处绝不仅仅是节约磁盘空间,它将会全面改善系统!

    那么,DB2 9 中的这些压缩服务有哪些与众不同之处呢?InfoWorld 上提供的访谈对 DB2 9 做了以下评论:“DB2 中新的行级压缩是我最喜欢的特性之一。它实际上是表级压缩,可以直接节省 45% 到 75% 的磁盘空间……如果要我选出比其他任何数据库都先进的 DB2 特性,那么这个特性肯定是其中之一,因为它对大多数客户都很有帮助。我想 Oracle 和 Microsoft 正在努力将这一特性引入市场。”

    顾名思义,Backup Compression 服务可以对数据库备份进行压缩。DB2 中的数据库备份框架基于一个开放的可插入接口,它允许使用 DB2 附带的默认压缩算法,也可以使用您自己的算法。使用的压缩算法嵌入在备份映像中,所以在发生灾难后恢复数据时,可以在另一个服务器上恢复数据。

    许可和定价

    可以按照以下两种方式之一为 DB2 Enterprise 购买许可证:

    * 按照运行这个软件的服务器的 价值单元 总数购买许可证。这种许可证允许任意数量的用户使用任何方法访问 DB2 Enterprise 数据服务器。但是要注意,与 DB2 Express 和 DB2 Workgroup 不同,DB2 Enterprise 可以进行子容量定价。例如,可以在 System p 服务器上创建一个 LPAR,让它使用服务器上的一半价值单元,然后按照这些价值单元(而不是整个服务器的价值单元数)为 DB2 Enterprise 购买许可证。另外,可以按照 Dynamic LPAR(DLPAR)为 DB2 Enterprise 购买许可证,DLPAR 中的资源根据预定义的业务规则动态地移入和移出安装 DB2 的 LPAR。可以通过我的文章 “DB2 Universal Database 在双核心处理器和随需添加处理器上的许可授权” 了解如何在 LPAR 或 DLPAR 环境中为 DB2 购买许可证;尽管这篇文章根据内核数量进行讨论,而 IBM SWG 现在按照 VU 进行软件定价,但是判断许可需求的方法是相同的。

    * 按照访问 DB2 Enterprise 数据服务器的授权用户总数购买许可证。授权用户是一个个体(在某些情况下,只要不代表其他用户发挥作用,它可以是一个应用程序或装置),它具有在公司内外的特定身份。由于最终用户是已知的(必须针对许可明确识别用户),因此也可以通过因特网使用这些许可证(比如在线银行应用程序)。授权用户许可证拥有完全的权利;不需要像以前的 DB2 版本中那样另外使用服务器许可证。请注意特定身份 这个词。如果使用多路复用或连接集中软件,那么需要首先完全识别这些用户,然后才能将这些软件应用于连接。

    与 DB2 Express 和 DB2 Workgroup 一样,DB2 Enterprise 也有最低授权用户许可证数量要求。DB2 Express 和 DB2 Workgroup 要求为每个服务器至少购买 5 个授权用户许可证,而 DB2 Enterprise 要求为服务器上的每 100 VU 购买至少 25 个授权用户许可证。应该注意,对于每个服务器,都有一个授权用户许可证数量的 “平衡点”;在这个位置上按照 VU 为服务器购买许可证会更划算。

    例如,如果在一台基于 IBM Power 5 QCM 的 System p 服务器上运行 DB2 Enterprise,服务器有一个四核处理器,您至少需要购买 50 个用户许可证,因为这台服务器的 VU 总数是 200 VU(200 VU/ 100 VU = 2 x 25 授权用户)。如果在一台 Sun Niagara 服务器上运行 DB2 Enterprise,服务器有一个六核处理器,则至少要购买 50 个授权用户许可证,因为这台服务器的 VU 总数是 180 VU,当超过 100 VU 阈值时,VU 总数应该向上取整到 100 VU 的倍数。当然,如果使用 LPAR 技术,计算 DB2 许可证所用的 VU 数量就不一样了。

    授权用户许可证不能随工作转移而转移(但是可以由于雇用关系转移而转移),它们只对特定的一个服务器有效。例如,如果有 75 个用户需要访问两个单独的 DB2 Enterprise 数据服务器,那么需要购买 150 个授权用户许可证:2 个服务器 x 每个服务器 75 个授权用户 = 150(每个服务器 75 个)。但是,如果这两个服务器都有 4 个基于 Intel XEON 的双核处理器,那么需要购买最少 200 个授权用户许可证(每个服务器 100 个),因为 DB2 Enterprise 的最低授权用户数量要求是每 100 VU 25 个用户:((( 4 个插槽 x 2 个核心 = 8 个核心 ) x 每个核心 50 VU = 400 VU)/100 VU = 4) x 25 个授权用户 = 100 x 2 个服务器 = 200 个授权用户。

    DB2 9.5 中的变更

    Database Partitioning Feature(DPF) 不再作为 DB2 Enterprise 的 Feature Pack。这个特性没有取消,但是因为它适用于数据仓库,所以被包含在所有 DB2 Warehouse 版本中。

    请考虑一下……

    如果应用程序需要无限制的灵活性(例如,使用表分区)和可伸缩性(例如,没有 VU 或 RAM 限制),那么应该认真考虑使用 DB2 Enterprise。如果需要高级的扩展服务,例如高级的安全控制服务(比如基于标签的访问控制)、存储优化服务(比如压缩)等,那么也应该考虑使用 DB2 Enterprise。DB2 Enterprise 对于容量没有限制,您只需考虑优化资源平衡,而且它提供大量特性。

    DB2 Data Stream Edition

    DB2 Data Stream Edition(DB2 Data Stream,也称为 DB2 Real Time Insight) 是一种综合的服务、特性和产品组合,其中包含 DB2 Enterprise、Data Partitioning Feature 和 Real-Time Insight Feature。它提供一个快速且高效的内存数据服务器,并包含处理实时数据流的扩展服务。

    是把它称为一个 DB2 版本,还是一个 DB2 特性?对于这个问题,我犹豫了很久。因为它的核心实际上是 Real-Time Insight Feature(这个特性只能通过这个产品使用)。我决定把它称为一个版本,因为它实际上是针对一种特殊应用程序类型的解决方案。

    越来越多的客户需要捕捉并存储由电子源生成的大量实时 数据,比如市场数据 feed、GPS 发送器生成的地理位置、RFID 标记生成的产品 ID 等等。设计 DB2 Data Stream 就是为了满足这种需求。这些数据通常很小,但是量(消息数量)非常庞大。例如,市场数据提要常常出现每秒超过 100,000 个事务的情况!

    促使为这种应用程序购买 DB2 Data Stream 的主要业务因素是,它们是需要严格优化和加强的应用程序。例如,军事、供应链(旅行推销员问题)、技术公平贸易战略、后勤计划等领域都可能需要处理大量的流数据。用于处理风险、国内贸易、人身安全或反恐的应用程序也是这种应用程序的好例子。

    DB2 Data Stream 为处理各种消息提供了很大的灵活性,它为长期持久化和后继过程中的操作提供服务,对后继的分布操作进行筛选,比如删除、可行的纠正或否决等操作。这个产品的细节超出了本文的范围,如果您需要这种解决方案,请通过 IBM 销售代表和 IBM 业务伙伴了解更多信息。

    对于应用程序开发而言,可使用名为 Database Enterprise Developer's Edition(DEDE)的特殊产品。这是一个降价产品,它使应用程序开发人员可以访问大多数 DB2 特性和版本,以及一组 Informix 产品和 DB2 Connect。DEDE 仅限于应用程序的开发、评估、演示和测试用途。DEDE 是按每个开发人员发放许可证的。如果您公司的开发人员不是很多,那么在应用程序开发过程中使用 DEDE 可能是更经济的方法。
 

0
相关文章