• 第 1 部分:DB2 规划
本教程介绍 DB2 9 产品和工具的基本知识,以及描述不同类型的数据应用程序、数
据仓库和 OLAP 的概念。
• 第 2 部分:安全性
本教程介绍与 DB2 9 相关的身份验证、授权和特权概念。您应该具备数据库概念和
操作系统安全性的基本知识。
• 第 3 部分:访问 DB2 数据
本教程讲解组成 DB2 数据库的对象,以及影响创建数据库的方式的不同因素。在简
要介绍 DB2 对象之后,我们将研究用来创建、访问和操作 DB2 对象的不同工具。
• 第 4 部分:处理 DB2 数据
本教程讲解结构化查询语言(Structured Query Language,SQL),帮助您理解 DB2 9 如
何使用 SQL 操纵关系数据库中的数据。
• 第 5 部分:处理 DB2 对象
学习能帮助您适当管理 DB2 数据库服务器的技巧。
• 第 6 部分:数据并发性
本教程讲解数据一致性的概念以及 DB2 在单用户和多用户环境中用来维护一致性的
各种机制。
• 第 7 部分:XQuery 简介
本教程将解释几个基本的 XQuery 概念,并讲解如何编写处理 DB2 XML 数据的简单
XQuery。
※本教程内容均来自 IBM developerWorks 中国
DB2 9 基础(730 考试)认证指南,第 1 部分: DB2 规划
DB2 产品
DB2 的不同版本
DB2 9 提供了适于所有企业的数据管理解决方案。没有其他数据库管理系统能够在性能、可用性、可伸缩性
和可管理性方面达到 DB2 9 的水平。但是,DB2 有不同的版本,每种版本适合市场的不同部分。DB2 基
础考试要求您了解不同的 DB2 产品和版本,所以本节讨论这个问题。
下面的图显示了所有可用的 DB2 发行版。从图中可以看出 DB2 的发展:每个版本都包含低一级版本的所
有功能和特性,并添加了新的特性和功能。Linux、UNIX 和 Windows(luw)平台上的代码有大约 90%
是相同的,在每种操作系统上有 10% 的专用代码,用于使数据库与底层操作系统紧密地集成。例如,使用
AIX 上的 Huge Pages 或 Windows 上的 NTFS 文件系统。
DB2 系列中还有两个成员没有显示在下图中:DB2 for System i 和 DB2 for System z。这些数据库基
于不同的代码基础,专门针对运行它们的底层操作系统和硬件架构做了调整,它们的 SQL 可移植度达到
95%,这使它们成为 DB2 系列的成员。例如,DB2 for System i 构建在 i5/OS 操作系统中。DB2 for
z/OS 利用了 System z 服务器上的硬件耦合器(Coupling Facility),因此与使用 “shared-nothing” 方
式的 DB2 luw 相反,它采用 “shared-everything” 的方式。
DB2 版本
这些版本的详细许可协议超出了本系列教程探讨的范围,但是需要注意在您所购买的 DB2 Enterprise 中有
一些可以免费使用的 DB2 9 功能特性。如果 DB2 Express 或 DB2 Workgroup 中没有免费包含某一功
能,那么(在大多数情况下)可以通过附加的 Feature Pack 购买这一功能。
例如,在 DB2 Express 9 和 DB2 Workgroup 9 中,可以通过购买以下 Feature Pack 向数据服务器
中添加功能:
纯 XML(pureXML)
提供 DB2 9 新的 XML 数据列类型和索引。DB2 9 提供一种混合型引擎,它既可以按照关系方式
操作和存储基于 SQL 的数据,又可以按照层次化方式操作和存储基于 XML 的数据。
高可用性
提供在线表重组、Tivoli System Automation for AIX and Linux 以及高可用性灾难恢复(High
Availability Disaster Recovery, HADR)功能。这在 DB2 Enterprise 中是免费提供的。
性能优化
这是使用多维聚集表(Multidimensional Clustering, MDC)、物 化 查询表( Materialized Query
Tables, MQT)和查询并行性所需要的特性。这在 DB2 Enterprise 中是免费提供的。
负载管理
提供 Connection Concentrator、DB2 Query Patroller 和 DB2 Governor。
Connection
Concentrator 和 DB2 Governor 特性在 DB2 Enterprise 中是免费提供的。
DB2 Enterprise 9 附带以下附加特性来扩展这个 DB2 版本的功能:
纯 XML(pureXML)
提供 DB2 9 新的 XML 数据列类型和索引。DB2 9 提供一种混合型引擎,它既可以按照关系方式
操作和存储基于 SQL 的数据,又可以按照层次化方式操作和存储基于 XML 的数据。
高级访问控制(LBAC)
用于提供扩展的安全架构,在这个架构中基于角色对数据进行访问。
地理数据管理特性
用于对各种应用程序中使用的空间和球面数据模式进行建模,比如气候分析、国防以及在分析中需
要考虑地球曲率的应用程序。
存储优化特性
用于行级和备份/恢复压缩,可以显
著提高操作的速度并使数据的存储开销最小化。
性能优化特性
提供在 DB2 Enterprise 服务器环境中使用的 DB2 Performance Expert 和 DB2 Query
Patroller 产品。
DB2 Everyplace
移动计算的真正力量并不在于移动设备本身,而是在于能够利用来自其他来源的数据。DB2 Everyplace 将
DB2 的强大力量注入了移动设备,能够与其他系统进行数据同步,从而让企业数据进入移动员工的口袋,让
他们能够从远程位置更新企业数据。
DB2 Everyplace 不仅仅是一种移动计算基础设施。它是一个完整的环境,包含了构建、部署和支持强大的
电子商务应用程序所需的工具。DB2 Everyplace 提供一个 “指纹” 引擎(大约 200 KB),其中包含所有
的安全特性,比如表加密和提供高性能的高级索引技术。它可以在当今最常见的各种手持设备上顺利地运行
(提供多线程支持),比如:Palm OS、Microsoft Windows Mobile Edition、任何基于 Windows 的 32
位操作系统、Symbian、QNX Neutrino、Java 2 Platform Micro Edition(J2ME)设备(比如 RIM 的
Blackberry pager)、嵌入式 Linux 发布版(比如 BlueCat Linux)等等。
如果需要在资源有限的设备上使用关系引擎和同步服务,就应该使用 DB2 Everyplace。对于偶尔连接的笔
记本电脑用户,如果他们的应用程序不需要 DB2 Everyplace 引擎中没有的特性(比如触发器),那么也
可以考虑这个产品。
在 DB2 8 中,DB2 Everyplace 是作为 Mobility-on-Demand 特性提供的。在 DB2 8 或 DB2 9 中
遇到这个特性时,可以认为这两个产品提供的功能是相同的。尽管在版本之间打包方式不同,但是 DB2
Everyplace 和 DB2 Mobility-on-Demand 为环境提供相同的功能、特性和能力。
在 DB2 9 中,Mobility on Demand 由 DB2 Enterprise 免费提供。DB2 Express 和 DB2 Workgroup
用户需要购买 DB2 Everyplace Enterprise Edition 来获得这些功能。
DB2 Personal Edition
DB2 Personal Edition(DB2 Personal)是单用户 RDBMS,运行于低价的商用硬件桌面计算机上。DB2
Personal 可以用在基于 Windows 和 Linux 的工作站上。DB2 Personal 包含 DB2 Express 的所有特
性,但是有一个例外:远程客户机无法连接运行这个 DB2 版本的数据库(但是,具有 Control Center 的
工作站可以连接这些数据库来执行远程管理)。因为 “DB2 就是 DB2”,为 DB2 Personal 开发的应用程
序也可以在 DB2 的任何其他版本上运行。例如,可以使用 DB2 Personal 开发 DB2 应用程序,然后将
它们部署到运行 DB2 Enterprise 9 for AIX 的生产环境中。
DB2 Personal 既适用于不连接网络的 PC,也适用于连接网络的 PC。在这两种情况下,它为用户提供了
强大的数据存储
,或者提供了数据库存储设施并能够连接到远程 DB2 服务器。
偶尔连接的用户可以利用 DB2 内置的复制特性和 DB2 Control Server 设置一个同步的环境,让移动员
工可以与企业保持联系。当然,这只适合笔记本和某些工作站的用户,比如那些运行销售点(point-of-sale,
POS)应用程序的用户。
DB2 Express - C
DB2 Express - C
其实
不算是 DB2 系列的一个版本,但是它提供了 DB2 Express 的大多数功能。2006
年 1 月,IBM 发布了这个特殊的 DB2 免费版本,可以用于基于 Linux 和 Windows 的操作系统。DB2
Express-C 是为合作伙伴和开发社区设计的,但是正如您知道的,它几乎可以应用于任何地方。DB2
Express - C 引人注目的一个特点是:它没有其他厂商发布免费版本时通常会设置的限制。在有限制的方面,
它也比其他厂商的免费系统宽松得多。
例如,DB2 Express - C 没有数据库大小限制,而且可以处理 64 位内存模型。DB2 Express-C 非常适
合开发人员和中小型应用部署、学校社区等等。DB2 Express-C 具有 DB2 Express 的全部灵活性和健壮
性,但是没有 DB2 Express 付费版本的一些扩展特性。DB2 Express-C 中
不
包含的特性包括:
• DB2 Express Feature Pack 中的特性 —— 例如,高可用性灾难恢复(HADR)
• 数据复制捕获
• 24x7 IBM Passport Advantage 支持模型
如果希望在自己的环境中利用这些特性,那么至少需要购买 DB2 Express。
DB2 Express Edition
DB2 Express Edition(DB2 Express)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。DB2
Express 可以用于基于 Windows 和 Linux 的工作站。DB2 Express 提供一个低价的入门级服务器,主
要用于小型企业和部门的计算任务。它的功能与 DB2 Workgroup
相同,但是在服务器上可以安装的内存
和价值单元(等于一个服务器处理器核心的能力)数量方面与 DB2 Workgroup 有区别。
可以添加额外特性来提供扩展的功能(比如 DB2 Enterprise 中的一些功能),而不需要购买相应的版本。
本教程前面描述了 DB2 Express 9 可用的 Feature Pack。
DB2 Express 可根据由运行应用程序的处理器决定的价值单元发放许可证,或者以授权用户数量为标准发
放许可证。授权用户是 DB2 9 的一个新概念,它代表经过注册能访问环境中单一数据服务器上的服务或数
据的用户。例如,如果有一个用户需要访问两个不同的 DB2 Express 9 数据服务器,而且这个环境要求按
照授权用户发放许可,那么这个用户需要两个 DB2 Express 授权用户许可证(每个服务器一个)。
DB2 Express 在企业中可以扮演许多角色。它非常适合那些需要完全成熟的关系数据库的小型企业。他们
可能不需要某些更成熟或更重要的应用程序那样的可伸缩性,但是他们希望存在一个企业级数据库来支撑其
应用程序,在需要时,可以轻松地扩展此应用程序而不必进行任何修改。注意,针对 DB2 的任何版本编写
的应用程序都可以轻松地移植到任何分布式平台上的另一个版本。
DB2 Workgroup Edition
DB2 Workgroup Edition(DB2 Workgroup)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。
它可以用于所有支持的 UNIX 版本、Linux 和 Windows。
DB2 Workgroup 提供了一种低价的入门级服务器,主要用于小型企业和部门的计算任务。在功能方面,它
支持与 DB2 Express
相同的所有特性。可以添加额外特性来提供扩展的功能,比如 DB2 Enterprise 中
的那些功能,而不需要购买 DB2 Enterprise。可选的 DB2 Workgroup 的许可方式与 DB2 Express 相
同。
在 DB2 8 中,有两种 Workgroup Edition:DB2 Workgroup Server Edition(DB2 WSE)和 DB2
Workgroup Unlimited Edition(DB2 WSUE)。DB2 WSE 只能按照命名用户许可证和基础服务器许可
证进行许可。DB2 WSUE 只能按照处理器进行许可。在 DB2 9 中,这两个版本合成了一个版本 —— DB2
Workgroup。命名用户和服务器许可被替换为简化的授权用户。处理器许可仍然存在,但是根据 IBM 订价
策略,它转换成了按价值单元付费的形式。