|
Paul Zikopoulos, 数据库专家, IBM 多伦多实验室
Roman B. Melnyk, IBM
2002 年 7 月
您是不是像 Goldilocks 和那三只熊一样,正合计着哪一个分布式 DB2 版本才“正好合适”您?本文将各种选项摊了开来,还包含了一个快捷参考,将典型的用户环境和建议采用的 DB2 版本一一对应起来。
引言
数据库管理软件已经发展成为企业计算的核心。随着公司进入宽带通信和普及市场的因特网时代,数据库必须能够存储并服务于巨大的多媒体文件、管理日益增多的数据、提供改善的性能、能一直保持可用状态,并支持受限程度最大的设备(如蜂窝电话、个人数字助理等)所要运行的下一代应用程序。 DB2® 通用数据库™(DB2® Universal Database™,DB2)凭着其几乎毫无限制的伸缩能力、多媒体可扩展性、业界领先的性能和可靠性以及平台开放性,已经对领导这种发展潮流起到了很大的帮助作用,并将继续领导数据库计算走向未来。从掌上电脑到 Teraflop(每秒万亿次浮点运算)计算,DB2 都是大多数成功企业的动力之源。
DB2 为大多数要求较高的电子商务应用程序提供动力,例如电子交易、企业资源规划(enterprise resource planning,ERP)、客户关系管理(customer relationship management,CRM)、供应链管理(supply-chain management,SCM)以及 Web 自助服务。DB2 包含了对前沿因特网技术(例如,对基于可扩展标记语言(eXtensible Markup Language,XML)的文档进行存储和操作、Web 响应时间达到“像思维的速度那样快”的高速内存数据库技术和简单对象访问协议(Simple Object Access Protocol,SOAP)等等)的免费支持。
DB2 版本 7 有几种 DB2 打包选项,许可方式都有所不同。我们所说的“版本”指的就是这些选项。本文拟从功能、功能部件、优势以及许可方式的角度重点讨论 DB2(可在分布式平台上使用的)的不同版本。我们假定您已经知道 DB2 解决方案能够给贵公司提供哪些优势;读完本文之后,您应该能够判断出哪个版本的 DB2 才是适合您的。要了解关于 DB2 for iSeries和 DB2 for z/OS的信息,请分别访问其产品页面。
是 DB2,是 DB2,还是 DB2
您应该了解的第一件事就是,除 DB2 Everyplace Edition 之外,其它每个 DB2 版本的代码库在各种分布式平台上都是相同的。公共代码库带来了可移植性,而且确保了在需要向上扩展(scale up)DB2 解决方案时,能够以最少的费用无缝地完成这项任务。您可以确信这样一个事实,即在您业务增长的时候,DB2 也能够随之发展。
图 1显示了跨支持的分布式平台的 DB2 的体系结构视图。
图 1. 跨 Windows、Linux、UNIX® 和 OS/2® 的是 DB2,是 DB2,还是 DB2
图 2显示了不同版本的 DB2。除 DB2 Everyplace 之外,您都可以这样假设: 图 2中左边的版本的每种功能、功能部件和优势在 图 2中右边的每个版本中都具备。
DB2 Everyplace Edition
移动计算的真正动力并不在于设备本身,而在于该设备从其它来源获得数据的能力。DB2 Everyplace 给移动设备带来了 DB2 的动力,利用这些设备的能力来对数据和其它系统进行同步 — 把您的企业数据照搬到您那些常要外出的员工的袖珍设备中,使他们能够从外面更新企业数据。
DB2 Everyplace 并非仅仅是一个移动计算基础设施。它是一个完整的开发环境,包含有您在构建、部署和支持强大的电子商务应用程序时需要的工具。DB2 Everyplace 的特色是有一个小型的“指纹(fingerprint)”引擎(大约 150 KB)。这个引擎可以在各种各样的手持设备上很好地运行,它支持 Palm OS、Microsoft Windows® CE/PocketPC、任何 Microsoft Windows 32 位操作系统、Symbian EPOC、QNX Neutrino 以及嵌入式 Linux(例如 BlueCat Linux)。
DB2 Everyplace 用起来非常简单 — 用户不需要具备任何数据库管理技能。DB2 Everyplace 也极其强大,它支持开放数据库连接(Open Database Connectivity,ODBC)、Java™ 数据库连接(Java™ Database Connectivity,JDBC)以及 DB2 调用级接口(DB2 Call Level Interface,CLI)。DB2 Everyplace 是一个真正的关系数据库管理系统(relational database management system,RDBMS),它使用了 DB2 服务器 SQL 标准的一个子集,从而具有了与您现有的 DB2 企业数据库进行无缝合作的能力。
DB2 Everyplace 可以以完全同步环境或单机嵌入式数据库的方式进行许可。DB2 Everyplace 有两个版本:DB2 Everyplace Database Edition 和 DB2 Everyplace Enterprise Edition。
DB2 Everyplace Database Edition 不包含用于把数据扩展到后端企业服务器的同步中间件。DB2 Everyplace Database Edition 主要用在那些需要嵌入式数据库或本地关系型存储功能程序(这个功能程序被公开给用户)的应用程序。
图 2. 分布式 DB2 产品系列
DB2 Everyplace Enterprise Edition 带有 DB2 Synchronization Server,它处理 DB2 Everyplace 数据库和后端数据库之间的同步问题。后端数据库可以是任何遵循 JDBC 的数据库(即各种版本的 DB2、Oracle、Informix® 以及 SQL Server 等等)。
如果您需要在受限设备上有一个关系引擎(和同步服务),那就必须使用 DB2 Everyplace。但是,对于那些使用膝上型计算机的偶尔连接的移动用户,假如他们的应用程序不需要本来就不是 DB2 Everyplace 引擎的一部分的功能部件(如触发器),那么也可以考虑使用这个产品。
DB2 Personal Edition,DB2 PE
DB2 PE 是在低价位的桌上型标准硬件(commodity hardware)上运行的单用户 RDBMS。DB2 PE 在 Windows 9x、Windows ME、Windows NT® 和 Windows 2000、Windows XP、Linux 以及 OS/2 上都能使用。DB2 PE 具有 DB2 Workgroup Edition 所具有的所有功能,不过远程客户机无法连接到运行着这个版本的 DB2 的数据库。(但是,带有控制中心(Control Center)的工作站可以连接到这些数据库以进行远程管理)。因此,对于那些未连接到网络上,但却需要强大的数据存储,或者需要提供数据库存储功能程序并且能够连接到远程 DB2 服务器(或者是这两者的某种组合)的 PC 机,DB2 PE 是很有用的。
因为“是 DB2,是 DB2,还是 DB2”,所以那些针对 DB2 PE 而开发的应用程序(极少有例外)将都能够在 DB2 的任何其它版本上运行。DB2 PE 能够用来开发要操作 DB2 的应用程序,之后再将它们转出到生产环境。实际上,开发者可以通过 DB2 Personal Developer's Edition 产品免费获得 DB2 PE。
DB2 PE 还随带了 DB2 OLAP Starter Kit 和 DB2 仓库中心(DB2 Warehouse Center),这样用户便可以实验商业智能查询和分析功能。DB2 PE 具有有限的可扩展性功能,但确实支持以下 DB2 Extenders™:XML、文本(Text)、音频(Audio)、图像(Image)和视频(Video)。
偶尔连接的用户可能会想利用 DB2 内置的复制功能部件和 DB2 控制服务器来建立同步环境,常要外出的员工可以通过这个环境与企业保持联系。当然,这只适合于使用膝上型计算机的用户和某些工作站,例如那些运行零售终端(point-of-sale,POS)应用程序的工作站。
DB2 Personal Developer's Edition(DB2 PDE)是免费提供给 ISV 和开发者的,但是只限于用来进行应用程序的开发、评估、演示和测试。DB2 PDE 给用户提供了 DB2 PE 具有的所有功能,外加一些用来连接到基于大型机的 DB2 数据的连接选项。
DB2 Workgroup Edition,DB2 WE
DB2 WE 是一个能在 Web 上使用的、功能齐全的客户机/服务器 RDBMS。它可以在得到支持的各种类型的 UNIX(HP-UX、Numa-Q/PTX、AIX、Solaris 和 HP-UX)上使用,也可以在 Linux、Windows NT 和 2000、Windows XP 以及 OS/2 上使用。
DB2 WE 提供了一种低价位的入门级服务器,它主要针对小企业和部门计算。DB2 WE 在功能上与 DB2 EE 相当,只不过它没有集成的大型机连接(通过 DB2 Connect 组件)和有限的可扩展性(例如,DB2 WE 不支持 64 位计算、DB2 Spatial Extender 或 DB2 Data Links File Manager)之外。DB2 WE 可以许可在多达 4 路对称多处理(symmetric multiprocessing,SMP)Intel 机器上使用,也可以许可在基于 2 路 SMP UNIX RISC 的机器上使用。
通过使用并发或注册用户选项,DB2 WE 可以被许可用于客户机到服务器模型。此外,如果需要从防火墙外面进行访问,则可以在服务器/客户机许可中添加一个因特网处理器(Internet processor)选项。
并发用户许可(concurrent user license)适合于这样的应用程序或设备,它们已经和一台服务器上的一个或多个数据库建立了连接。一个拥有到单个服务器的多个连接的用户只能算作一个并发用户。唯一的例外是上述多个连接是由多路复用程序、应用程序服务器或其它连接到 DB2 的程序(它们代表其它用户提供访问)建立的这样一种情况。在并发用户模型中,顾客必须确保对于每个服务器来说,许可使用该服务器的用户数在任何时候都是最大值。
当数据库的每个用户都是已知的时候,就可以采用 注册用户许可(registered user license)的方式使用 DB2 WE。基本的许可费用仍然是要支付的;但是,对每个用户都必须单独计数,这些许可是不可传递的。
能够以 因特网处理器许可的形式使用 DB2 WE,这使得 DB2 WE 能够服务于通过应用程序服务器传到数据库管理器的因特网请求。无法对这些用户进行计数。
DB2 WE 在企业中可以起到多种作用。它非常适合于那些需要可伸缩的、可用的、成熟的关系数据库存储的中小型企业。对于要为业务范围创建“silo”服务器的企业环境,或者对于在未来需要具有可伸缩能力的部门,DB2 WE 也很有用。同样,因为“是 DB2,是 DB2,还是 DB2”,所以,在 DB2 WE 上构建的应用程序能够在 DB2 的任何版本上运行。
DB2 Workgroup Unlimited Edition,DB2 WUE
DB2 WUE 实际上就是 DB2 Workgroup Edition(DB2 WE),只是许可条款不同。要获得对本产品提供的功能的完整描述,请参阅上面的 DB2 Workgroup Edition部分。DB2 WUE 只能通过处理器选项进行许可。
DB2 WUE 与 DB2 WE 有两方面的差异:
- DB2 WE(带有一个处理器选项)局限于因特网连接。这就排除了内部网连接(差异在于因特网连接是从防火墙内通过应用程序服务器到达数据库管理器的)。在实现电子商务的努力中,许多公司都是不仅仅在 Web 上进行业务交易,而且通过 Web 在内部组织 内部业务流程的流动(例如,只对员工开放的员工目录)。DB2 WUE 的处理器许可同时考虑了因特网连接和内部网连接。
- DB2 WUE 可以许可给多达 8 路的基于 Intel 的 SMP 机器和 4 路的 RISC 机器,从而使这个版本的用户能使用更多的处理器、具有更好的可伸缩性。
用户如果需要同时在因特网上和内部网上提供 DB2 数据服务,但不需要利用 DB2 Enterprise Edition(DB2 EE)的附加功能、功能部件和优势,那他们通常就应认真考虑 DB2 的这个版本。
DB2 Enterprise Edition,DB2 EE
DB2 EE 是一个能在 Web 上使用的、功能齐全的客户机/服务器 RDBMS。它可以在得到支持的各种类型的 UNIX(HP-UX、Numa-Q/PTX、AIX、Solaris 和 HP-UX)上使用,也可以在 Linux、Windows NT 和 2000、Windows XP 以及 OS/2 上使用。
DB2 EE 的目标是大中型部门服务器。除了具有 DB2 WE 所提供的功能之外,DB2 EE 还包含有一个 DB2 Connect 组件,使您能够连接到主机数据库。DB2 EE 还提供了许多可扩展性功能,如用于空间分析的扩展部件、内存中搜索、对存储在文件系统之外的文档的数据库控制,等等。
DB2 EE 不能跨多个数据库服务器将数据分成几部分。除此之外,其它所有 DB2 功能在 DB2 EE 中都可用。
DB2 EE 只能以处理器资格的方式进行许可。
对于那些要求强大的可伸缩性、可访问性和可扩展性功能的企业,那些想通过因特网或内部网满足数据请求的企业,或者那些有非常多用户的企业,都应该使用 DB2 EE。对于用户真得非常之多的企业,那么购买一个处理器许可要来得更实际。大多数企业都选择了这个版本。
对于应用程序开发,提供有一个称为 DB2 Universal Developer's Edition(DB2 UDE)的产品。应用程序开发者利用它能够访问多数 DB2 extender 以及各种版本的 DB2(除 DB2 Enterprise - Extended Edition之外)。用户可以使用该版本开发、评估、演示和测试应用程序。
DB2 Enterprise - Extended Edition,DB2 EEE
DB2 EEE 具有 DB2 EE 的所有功能,而且还给了您跨多台计算机(它们都必须运行相同的操作系统)把数据库分成几部分的能力。这意味着您的数据库的大小可以无限增大,唯一的限制是您拥有的计算机数目!DB2 EEE 针对的是最大的(太字节以上)数据仓库和在线分析处理(online analytical processing,OLAP)工作负载,或者是高性能的在线交易处理(online transaction processing,OLTP)需求。DB2 EEE 还允许以群集方式将多个 SMP 组合起来,且超大规模的数据量有一个单一的数据库映像。
DB2 EEE 存在一些不太重要的限制(例如不支持标识列)。
DB2 EEE 以群集环境中的每台处理器进行许可。
结束语
正如您看到的,DB2 不仅能在许多平台上运行,而且有许多打包选项,使得您能够选择适合您的企业的版本。将 DB2 从一个版本向上扩展到另一个版本是无缝的,这就使得随着业务的增长,您仍然能够利用您的 DB2 投资。不论您是在因特网上进行销售跟踪的 SMB、移动解决方案提供商,还是极尽所能对销售数据进行分析以便在合适的时间把合适的产品送到合适的人手中的财富 500 强企业,总会有适合您的 DB2 版本。从掌上电脑到 Teraflop(每秒万亿次浮点运算)计算,您都可以使用 DB2 来为您的企业的发展提供动力。
快捷参考
表 1简要描述了一些业务情形及每种情形相应“最合适”的 DB2 产品。请参照这张表,它能指导您快速确定哪一个 DB2 产品适合您。
表 1. 选择适合您的分布式版本
| 情形 |
建议采用的 DB2 产品 |
| 签发违章停车传票的市政府部门代理人需要在移动设备上存储和检索数据。代理人需要记录与所签发的每张传票有关的信息。一旦将这些信息输入到了系统中,就可以将传票打印出来。当代理人回到他的家庭办公室时,他打印出他那天签发的所有传票,以与企业数据库合并起来。这种解决方案的技术要求包括嵌入式数据库、对移动设备的资源占用量很小,不需要数据库维护。 |
DB2 Everyplace Database Edition |
| 前一种情形中的负责停车的公司现在想去除每次换班时手工打印出所签发的传票这一步骤。现在就需要能够“快速地”将数据和后端数据源同步;移动设备必须能够电子化地对传票上的数据进行同步,以与企业数据库相合并,从而去除这个手工步骤。 |
DB2 Everyplace Enterprise Edition |
| 旅行保险代理人需要访问保险价格数据。她有一个接受信息作为输入,然后生成保险单报价的应用程序。代理人一点都不知道 DB2 安装在了系统上,也不知道她的应用程序和数据必须定期更新。代理人在偶尔连接的环境中操作。 |
DB2 Everyplace Database Edition 或 DB2 Personal Edition |
| 前一种情形中的代理人所使用的应用程序现在必须能够利用 DB2 的所有功能部件和功能(包括触发器、存储过程等)。有些代理人会在偶尔连接的环境(其中后端数据的合并是自动的)中操作,其他代理人则将通过手工方式对他们的数据进行合并。 |
DB2 Personal Edition |
| 开发者想下载和开发针对 DB2 的应用程序。她只想在 Linux 或 Windows 上构建这些应用程序,并且知道 DB2 应用程序在 DB2 的不同版本中是可移植的。她不需要测试连接性。 |
DB2 Personal Developer's Edition |
| 企业在全国多个地方运营。每个地方有一个记录交易信息的零售终端(POS)工作站。每周末将这些信息存入到数据仓库。因为当地员工不具备数据库技能,所以这些 POS 工作站需要有某种形式的远程管理。 |
DB2 Workgroup Edition |
| 中小型企业(SMB)要在因特网上销售小产品。它们并不期望每天有成千上万次的 Web 点击,但对企业数据库解决方案的可靠性和性能有所祈求。它们希望随着企业的蓬勃发展,其解决方案可以发展成为可伸缩性更好的解决方案。 |
DB2 Workgroup Edition |
| 前一种情形中企业现在需要有无限制的因特网和内部网连接。它们打算不仅将 DB2 用来销售小产品,而且用来组织它们内部业务流程的流水线。 |
DB2 Workgroup Unlimited Edition |
| 通过因特网销售书籍的企业要使用 DB2 Workgroup Edition(DB2 WE)。虽然它们觉得需要给它们的环境添加更多的处理能力,但却受到它们的 DB2 WE 许可的处理器限制。不过,它们不需要 DB2 Enterprise Edition 的无限可伸缩性功能,并且受到严格的费用限制。 |
DB2 Workgroup Unlimited Edition |
| 有家公司想用 DB2 来推动它们业务的发展。它们需要一种对内部业务流程和可从外部获得的应用程序都适用、健壮并且可伸缩的数据库系统。在获取许可时,它们不需要考虑用户数,因为用户的数量每天都在改变。数据库将有多种用途,既能用于交易也能用于分析(通过数据集市(data mart))。 |
DB2 Enterprise Edition |
| 有家公司要维护 eServer zSeries™ 和 pSeries™ 环境。pSeries 工作站充当数据集市,植入到工作站中的数据来自驻留在 zSeries 硬件上的交易系统。在月底的时候,每个数据集市通过 APPLY 进程被装入,这个进程复制由在 zSeries 硬件上运行的 CAPTURE 进程记录下来的变化。需要有一个到 zSeries 硬件的连接,这样 APPLY 和 CAPTURE 进程才能交谈。这个功能是通过 DB2 Enterprise Edition 中的嵌入式 DB2 Connect 组件提供的。 |
DB2 Enterprise Edition |
| 独立软件供应商(Independent Software Vendor,ISV)想要编写和开发运行在 DB2 之上的应用程序。由于它们是在开发应用程序,但并不在生产环境中运行数据库引擎来促进其业务的发展,所以,它们需要一种经济的、能够让它们构建和测试 DB2 上的应用程序的解决方案。它们需要能够访问和连接到 DB2 系列的所有产品(包括 zSeries 和 iSeries™ 工作站)。 |
DB2 Universal Developer's Edition |
| 有家公司同时要求数据仓库(包括 OLAP 和数据挖掘)和交易处理方面最大限度的可伸缩性。这家公司需要有一种方式来无缝地伸缩到几万亿字节及以上。这个系统的管理是极其重要的。因为它是资源密集的,所以数据库必须以单个映像的方式出现。需要能够透明地向上扩展(SMP)和向外扩展(群集)该数据库解决方案。 |
DB2 Enterprise - Extended Edition |
作者简介
Paul C. Zikopoulos,文学士,MBA,是一位数据库专家,也是一位获得 IDUG 奖的演讲人,他在 IBM Global Sales Support 小组工作。他已经有了七年多的 DB2 使用经验,还写了许多关于 DB2 的杂志文章和书籍。Paul 曾投过稿的杂志有 DB2 Magazine、Linux Journal、DB2 Update 以及 IDUG Solutions Journal等等。最近,Paul 与别人合著了两本书: DB2: The Complete Reference, DB2 Fundamentals Certification for Dummies, DB2 For Dummies和 A DBA's Guide to Databases on Linux。Paul 是一位 DB2 认证高级技术专家(DB2 Certified Advanced Technical Expert)(DRDA 和 Cluster/EEE)、DB2 认证解决方案专家(DB2 Certified Solutions Expert)(商业智能(Business Intelligence)和数据库管理(Database Administration))以及 DB2 认证用户专家(DB2 Certified User Specialist)。您可以通过 paulz_ibm@yahoo.com与他联系。 |
|
Roman B. Melnyk,博土,是 DB2 Information Development 小组的一名高级成员,专长是数据库管理和 SQL。在 IBM 工作的七年多来,Roman 已经写了许许多多 DB2 书籍和其它相关材料。Roman 最近与别人合著了 DB2: The Complete Reference, DB2 Fundamentals Certification for Dummies和 DB2 for Dummies。您可以通过 roman_b_melnyk@hotmail.com与他联系。
|
|