WEB开发网
开发学院数据库DB2 IBM DB2 Express-C 9.5.2 中激动人心的新特性 阅读

IBM DB2 Express-C 9.5.2 中激动人心的新特性

 2008-12-30 16:37:12 来源:WEB开发网   
核心提示:或许您已经知道,DB2 Express-C 是 DB2 免费的社区版本,IBM DB2 Express-C 9.5.2 中激动人心的新特性,您可以将它应用在产品中,或者在应用系统中分发,俄语和葡萄牙语,还有其它的增强包括:一个可由 DBA 定制的可用于程序动态控制任务执行计划的管理任务调度器;对符合文化传统预期的排序规

或许您已经知道,DB2 Express-C 是 DB2 免费的社区版本。您可以将它应用在产品中,或者在应用系统中分发,或者只是为了简单的开发目的而使用它,并且所有这些都是免费的!尽管 DB2 Express – C 只能使用两个处理器和 2G 内存,但是您可以在任何大小的服务器上安装它,而且在数据库的大小上是没有任何限制的。与其他厂商提供的社区版本相比,这是相当慷慨的捐赠了。

DB2 Express-C 的 9.5 版是在 2007 年 11 月发布。从那时起,几个重要的改进和新的特性已被添加到新版本的 DB2 Express-C 中。尽管这些特性原先只存在于 DB2 的收费版本中,但是现在它们也被整合到最新发布的 DB2 Express-C 9.5.2 版本中了。

截止到撰稿时,DB2 Express-C 团队正在对该社区版支持的所有平台的官方版做最后的质量测试;但是,这篇文章要比预期提前发表,而官方版还没有被发布,但是您仍然可以使用从 2008 年 10 月份就可以下载的 DB2 Express-C 的 Beta 版。

通过使用新版本的 DB2 Express-C 您可以充分体验下面的这些新功能:

DB2 文本搜索,新被整合到此产品中,允许您在文本列中执行快速的检索;

任务管理调度器,允许开发者有规化地调度任务;

支持本地化敏感的排序,支持符合本地文化习惯的排序;

PureXML 增强,比如支持向 XML 文档中插入数据的 LOAD 功能;

许多针对 JDBC, SQLJ 和 .NET 客户端和驱动的增强。

除了对 DB2 Express-C 9.5 的改进和新功能的增加,DB2 Express-C 9.5.2 同样修补了 9.5 以来发现的缺陷。对于修复列表,请参照本文中的“参考资源”部分。

DB2 文本搜索

DB2 文本搜索应该是 DB2 9.5.2 版本中最重要的新特性。 DB2 文本搜索允许您在 DB2 数据库中使用 SQL、SQL/XML、还有 XQuery 语句来对存储在 DB2 数据库中的数据执行文本搜索。例如,假设您为您的公司开发了一个 Web 应用程序,一本 IT 杂志。公司的 Web 站点允许读者对文章进行评论,并把这些信息存储到一个叫做 Article 的表中,如下面表一所示:

表 1. Article 表的结构

ID

Integer

Title

varchar (30)

Reader_comments

varchar (100)

101The Job market for Database ProfessionalsAwesome article! I ’ ve been working as a DBA for 10 years, and this one is right on the mark!
101The Job market for Database ProfessionalsWhat is the difference between a Database Architect and a Database Administrator?
105Working with ORM frameworksNice to know how these frameworks work!
102New with DB2 Express-C 9.5.2Glad to see new features coming out with DB2 ’ s new release. Thanks IBM!
105Working with ORM frameworksGreat article. Thanks!

使用常规的 SQL 操作符比如“ = ”或者谓词比如“ LIKE ”,您仅能和搜索的模式进行匹配,比如:

SELECT reader_comments
FROM article
WHERE title = ‘ Working with ORM frameworks ’

或者

SELECT reader_comments
FROM article
WHERE title like ‘ Worki% ’

第一种情况下,您必须把文章的整个标题准确的存储到数据库中,第二种情况,您可以将 LIKE 和 “ % ” 结合起来使用;尽管如此,您仍然需要知道在文章标题开头的那些文字。另一方面,使用 DB2 文本搜索,您可以在一个文本列上使用 CONTAINS() 函数来执行搜索,而且不需要指定准确的搜索条件(参数),或者它在字符串中的位置。它使用了语言学处理,那就是,它可以在搜索文本中找到和搜索词匹配的不同形式。例如,下面的查询语句将会把文章标题为“ Working with ORM frameworks ” 的内容检索出来,即使使用的搜索条件(参数)是“ work ”。

SELECT reader_comments
FROM article
WHERE CONTAINS(title, 'work') = 1

您同样也可以创建一个同义词词典,输入单词,您就会找到该单词的同义词。例如,您把 “ DBA ” 添加为“ Database administrator ”的同义词,那么当您使用 CONTAINS() 输入“ DBA ”后,“ Database administrator ”也将会出现在检索出的行中。

DB2 文本搜索对支持 pureXML 的 DB2 中的 XML 列也同样适用。 XQuery 是 DB2 查询 XML 文档最优先选择的语言。尽管如此,在一个 XML 元素内,可能也会有很多不便于使用 XQuery 搜索的部分。对这类数据 DB2 文本搜索就会变得非常有用。

在上面例子中列“ reader_comments ”被定义为 VARCHAR 。如果您把这个列定义为一个 XML 类型列,并且把所有的评论都作为 XML 来存储,您就可以以同样的方式使用 DB2 文本搜索,但是此时您不能再使用函数 CONTAINS,而是使用另一个对应的函数 xmlcolumn-contains(),如下:

xquery db2-fn:xmlcolumn-contains('ARTICLE.READER_COMMENTS', 'DBA')/articleinfo

在上面的例子中,我们通过 XQuery 查询语言,在表 ARTICLE 的 READER_COMMENTS 列中查找存储在这些 XML 文档中包含‘ DBA ’的语句。这个搜索在 XML ‘ articleinfo ’下执行。

除了对英文的支持外,DB2 文本搜索还支持对不同语言的文档处理,像阿拉伯语,捷克语,中文,丹麦语,德语,希腊语,西班牙语,芬兰语,法语,意大利语,波兰语,葡萄牙语,俄语等等。

DB2 文本搜索同时被 IBM OmniFind™ 文本搜索服务器所支持,下面是它所提供的其它一些特性:

DB2 的安装和配置操作

在文本,HTML 和 XML 文档中的全文本搜索,包括布尔值和通配符搜索

完全被 SQL,SQL/XML,还有 XQuery 支持,包括对 XML 文档搜索的子集 XPath 语法的支持

隐式认证

对错误处理的 SQL codes 机制

对大量数据的快速索引

通过调度选择增量和异步索引更新

CONTAINS 和 SCORE SQL 函数

xmlcolumn-contains 函数

与 DB2 优化器结合在一起的 SQL 内置函数

所有支持语言的语言处理

同义词字典支持

DB2 文本搜索提供的相似功能也同样可以在叫做 Net Search Extender (NSE) 的 DB2 扩展中找到。 NSE 正在被整合到支持 DB2 文本搜索的产品中去,而不是像以前那样作为一个扩展。

任务管理调度器

任务管理调度器是 DB2 Express-C 9.5.2 提供的又一项改进。通过它,开发人员现在可以建立,由程序动态控制的应用,来实现在 DB2 服务器上自动执行管理任务。这项功能的运行可以不依赖 Task Center(Task Center 不具备这项可编程的 SQL 接口,而且依赖于 DAS)单独运行。

如果要使用这个组件新建一个任务,需调用“ ADMIN_CMD ”过程。通过调用该过程,您可以运行诸如 backup、 runstats、prune history 等管理命令,而且,您可以将这些命令加入到任务中,并指定该任务的运行时间和方式。

任务管理调度器中的任务列表是通过内嵌过程 ADMIN_TASK_ADD、ADMIN_TASK_UPDATE 和 ADMIN_TASK_REMOVE 进行管理的。您也可以使用管理视图来监控任务列表和已执行的任务。

基于 UCA 本地化的敏感排序规则为订制数据提供更多选项

在使用 DB2 Express-C 9.5.2 时 , 当您建立了一个 Unicode 数据库,您现在便可以指定排序规则以便提供符合文化习惯的排序。例如,在西班牙语(拉丁美洲)中,字母表的排列如下:

A, B, C, CH, D, E, …

注意‘ CH ’本身即是一个字母。如果这个没有被考虑到,那么在拉丁美洲的西班牙语国家,我们可能会遇到被错误排序的单词。例如下面的西班牙语单词在默认的排序规则下可能会被排列如下:

Caballo, Cometa, Chofer

这些排序规则亦可被无缝地用于提供大小写和发音敏感的顺序。在 DB2 9.5.2 版中本地敏感的排序规则是基于 Uniocde 排序算法 5.0 版的,该算法为比较两个 Unicode 字符串提供了遵守 Unicode 标准要求的规范。

您还可以通过 COLLATION_KEY_BIT SQL 标量函数来采用同为本地化敏感的基于 UCA 排序规则。

pureXML 增强

现在,在 DB2 Express-C 9.5.2 中,您可以使用 LOAD 组件将 XML 文档插入到 DB2 的表中。 LOAD 组件提供了比 IMPORT 组件更好的性能,因为前者通常可以在写入最少日志的情况下将数据直接写入数据库,从而提供了更为高效的数据移动。

加载 XML 数据的能力也允许您对包含 XML 列的数据表使用指定加载选项,例如从 CURSOR 类型的文件以及各种不同的数据交换功能部件加载。

NET 增强

在 DB2 Express-C 9.5.2 中,.NET 公共语言运行时(CLR)例程(包含存储过程和用户定义的函数)现在可以部署在 64 位环境中。

客户端与驱动增强

尽管以下的增强适用于客户端和驱动,它们也包含在 DB2 Express-C 9.5.2 服务器中。因此,如果您一直使用您的 DB2 Express-C 服务器作为连接到数据库的客户端,或者一直使用与之配套的驱动,您现在就可以得到以下功能部件的好处:

1. 针对 JDBC 和 SQLJ 的 IBM 数据服务驱动增强

下面列出的是针对 JDBC 和 SQLJ 而为 IBM 数据服务驱动而建立的增强。请参阅本文的“参考资源”一节以获取这些增强的完整说明。

无须再向 CLASSPATH 中添加 db2jcc_license_*.jar 证书文件。

使用 Type4 连接支持 XML 数据类型加密。

为 LOB 提供过程化流的支持。

增加了针对动态滚动游标的 ResultSet 和 DatabaseMetaData 方法。

com.ibm.db2.jcc.DB2Array 接口支持数组。

支持十进制浮点数(DECFLOAT)。

增强了客户端重定向功能组件。

为驱动管理器连接添加了连接集线器和 Sysplex 工作量平衡支持。

支持不定长度的 setXXXStream 方法。

为 XML 模式升级增加了 Java™ 应用支持。

支持 PerparedStatement.setObject 调用 Reader 和 InputStream 对象。

移除了 javax_jcc.jar,因其不必再包含在 CLASSPATH 中。

支持乐观锁机制。

支持超时方法。

增加更多的 JDBC 3.0 方法。

使用 Type4 连接时支持内部指令缓存。

包含 sqlj4.zip 文件(与 db2jcc4.jar 同为驱动文件),这些文件支持 JDBC4.0 和更早版本,并且要求 Java SDK 版本不低于 6 。

2. 增强了针对 .NET 的 IBM 数据服务提供者

IBM .NET 数据服务提供器包含了 ASP.NET 提供器

支持受信任的上下文应用以获得更高的传送速度及安全性。

在安装 DB2 Express-C 9.5.2 后,包含于 .NET Framework 3.5 Service Pack 1 的 LINQ 实体架构的升级可在此 beta driver 中获得支持。

关于 DB2 Express-C 9.5.2 和客户端 / 驱动增强还有更多的细节。可以在 DB2 Information Center 找到它们。

总结

IBM 继续发布免费的 DB2 Express-C 升级版本:DB2 Express-C 9.5.2,以践行对社区应尽的责任。这些新的功能和增强大多数都曾随付费的 DB2 版本提供,同时也提供给使用定期证书的 DB2 Express-C 的用户。

在本文中,我们简要介绍了本产品中最为重要的一些增强。特别是针对社区提出的 DB2 文本搜索功能的需求。这一新的功能使得用户可以进行强大的文本搜索,并且支持多种语言,如汉语,俄语和葡萄牙语。还有其它的增强包括:一个可由 DBA 定制的可用于程序动态控制任务执行计划的管理任务调度器;对符合文化传统预期的排序规则的支持;对使用 LOAD 组件更加快捷地向 DB2 数据库插入大量 XML 文档的支持,以及一系列用于客户端和驱动的增强也都随 DB2 Express-C 9.5.2 一起被发布。

Tags:IBM DB Express

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接