IBM DB2 Express-C 9.5.2 中激动人心的新特性
2008-12-30 16:37:12 来源:WEB开发网或许您已经知道,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) |
101 | The Job market for Database Professionals | Awesome article! I ’ ve been working as a DBA for 10 years, and this one is right on the mark! |
101 | The Job market for Database Professionals | What is the difference between a Database Architect and a Database Administrator? |
105 | Working with ORM frameworks | Nice to know how these frameworks work! |
102 | New with DB2 Express-C 9.5.2 | Glad to see new features coming out with DB2 ’ s new release. Thanks IBM! |
105 | Working with ORM frameworks | Great 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 一起被发布。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››ExpressQuantumTreeList在BCB6下的安装方法
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接