DB2 10.5 for Linux, UNIX, and Windows 中的新功能

本资料无预览

如感兴趣请购买后下载

立即下载

资料简介:
概述

DB2 10.5 构建于 “DB2 支柱优势” 之上:低操作成本、易开发性和可靠性。去年 4 月份发布的 DB2 for Linux, UNIX, and Windows 引入了 按列组织的表 功能。DB2 10.5 for Linux, UNIX, and Windows 将帮助您节省时间和资金,提供顶级性能,并通过对大量数据的高速分析更轻松地捕获业务洞察。

这些优势很大程度上归功于 BLU Acceleration,这是一组来自 IBM 研发实验室的技术创新,加速了报告和分析。BLU Acceleration 无需索引、聚合或耗时的数据库调优就可以实现顶级的性能和存储效率,它最初是作为 DB2 10.5 for Linux, UNIX, and Windows 中的一个全面集成的功能来提供的。

本文将介绍 DB2 10.5 中按列组织的表,还将简要概述这个版本中的其他重要改进,包括 DB2 Text Search 增强、SQL 兼容性增强、DB2 pureScale 增强、数据恢复和 HADR 增强,以及一些 提高应用程序性能和可靠性的额外特性。


按列组织的表

DB2 10.5 为 DB2 数据库引入了压缩的按列组织的表。在按列组织的表 中,数据页面包含列数据而不是行数据。按列组织的表方便了使用复杂查询对分析工作负载的处理,比如包含多表联接、分组和聚合,以及对星形模式的表扫描的查询。按列组织和按行组织的表可共存于同一个数据库、模式、表空间或查询中。

DB2 10.5 中对按列组织的数据的处理优化了内存、CPU 和 I/O,提供了以下收益:

    内存中优化能够实现最高性能。压缩的按列组织的数据可非常高效地存储,这减少了查询处理所需的内存量(并提高了查询处理的速度)。在内存中优化的数据库中,所有数据都可以加载到内存中,从而可以避免性能瓶颈。
    一个不受主要内存大小约束的系统,其中处理的数据可能比 RAM 大得多。
    跨核心改进的系统扩展。
    一个增强的缓冲池缓存战略,显著降低了 I/O 成本。
    比 E+DB2 10 更小的数据库存储资源占用。
    延迟解压,能够直接在压缩数据上执行某些操作,从而减少内存使用。
    成倍的 CPU 处理能力,使用单指令多数据 (SIMD) 处理许多操作。
    一次对多列数据值执行矢量处理,而不是处理单个值。

为了支持这一新能力,DB2 10.5 提供了以下新的或增强的功能:

    一种单一设置 (DB2_WORKLOAD=ANALYTICS) 支持使用列组织,列组织是一种自动化、特殊化的初始内存配置,页面和区段大小配置,空间回收,以及自动工作负载管理。在创建数据库之前,确保将 DB2_WORKLOAD 注册表变量设置为 ANALYTICS。

    CREATE TABLE 语句上新的指定表存储组织的语法(图 1)。如果指定了 ORGANIZE BY COLUMN 子句,数据会按列存储在表的数据页面中。一个给定的数据页面存储表的一列数据。如果指定 ORGANIZE BY ROW 子句,数据会按行存储在表的数据页面中。一个给定的数据页面存储表的一行或多行数据。如果未指定 ORGANIZE BY 子句,默认的 ROW 或 COLUMN 组织是通过新的 dft_table_org 数据库配置参数的值来确定的,默认值为 ROW。

syntax.jpg



    图 1. 显示了新的 ORGANIZE BY ROW 或 COLUMN 子句的 CREATE TABLE 语法片段

    该图显示了 CREATE TABLE 语法

    如果在 CREATE TABLE 语句上既没有指定 ORGANIZE BY COLUMN 子句,也没有指定 ORGANIZE BY ROW 子句,一个新的 数据库配置参数 dft_table_org 会指定将某个用户表将创建为按列组织的表还是按行组织的表。

    一个新的实用程序 (db2convert) 可将一个指定数据库中一个或所有按行组织的用户表都转换为按列组织的表。在处理期间,按行组织的表会保持在线,该命令将会显示转换统计数据以供监视。请记住,这个转换过程目前是一个单向过程,所以在将表转换为列组织结构之前,一定要执行备份。

    对 REORG TABLE 命令的增强支持您通过指定 RECLAIM EXTENTS 选项来回收按列组织的表上的存储。如果喜欢使用自动化的方法,那么可以设置 DB2_WORKLOAD=ANALYTICS。这会导致安装一个默认策略并启用 auto_reorg 数据库配置参数,以便为所有按列组织的表激活自动回收。

    自动工作负载管理,它可以通过一次运行多个查询,显著提高性能和工作负载的系统使用。为了确保在同时提交许多查询时,并且按列组织的数据上更多的工作负载不会让系统负担过重,在数据库上同时执行的 “重量级” 查询的数量是有限制的。可以通过使用默认的工作负载管理并发性阈值来实现此限制,该阈值在 DB2_WORKLOAD 注册表变量被设置为 ANALYTICS 时在新数据库上自动启用,或者可在现有数据库上手动启用。

    DB2 10.5 中默认的查询并发性管理 在现有的 DB2 工作负载管理基础架构中实现,而且将在升级和新创建的数据库上创建以下新的默认工作负载管理对象:

        现有的 SYSDEFAULTUSERCLASS 超类下存在一个服务子类 SYSDEFAULTMANAGEDSUBCLASS,重量级查询可在这个子类中运行,并作为一个组进行控制和监视。
        一个 CONCURRENTDBCOORDACTIVITIES 阈值 SYSDEFAULTCONCURRENT,它被应用于 SYSDEFAULTMANAGEDSUBCLASS 子类,以便控制在这个子类中运行的并发执行查询的数量。

        一个工作类集 SYSDEFAULTUSERWCS 和一个新的工作类 SYSMANAGEDQUERIES,它们识别要控制的重量级查询的类。SYSMANAGEDQUERIES 工作类包含分类为 READ DML(一个针对工作类的现有的工作类型)的查询,这些查询落在一个反映更重量级的查询的 timeron 阈值上方。

        一个工作操作集 SYSDEFAULTUSERWAS 和工作操作 SYSMAPMANAGEDQUERIES,它们将所有归为 SYSMANAGEDQUERIES 工作类的查询映射到 SYSDEFAULTMANAGEDSUBCLASS 服务子类。

    动态列表预取,这是访问按列组织的表的查询执行计划中使用的一种新预取类型,用于准确地预取在扫描表的一个特定部分时将要访问的页面。通过一直排队,直到需要的页面已加载到缓冲池中,这种预取方法最大程度地提高了异步预取所获得的页面数量(同时最大程度地减少了同步读取)。

    捕获新的 DB2 解释信息,帮助您确定应用程序如何执行新的按列组织表功能。DB2 10.5 包含一个新的 CTQ 计划操作符,它代表着按列组织的数据处理与按行组织的数据处理之间的过渡。

    对查询的半联接支持减少了大型内部表所使用的内存量。半联接是一种优化技术,在查询中利用了外部表和其他内部表上的一个或多个断言。DB2 解释输出得到了扩展,以表明某个特定的哈希联接操作符的内部表是否是一个将应用半联接优化技术的大型内部表。

    DB2 10.5 引入了新的监视元素,这些元素将帮助您调优涉及到对按列组织表的查询的数据库服务器工作负载。
        评估缓冲池效率:一组新的监视元素支持与按行组织的表独立地监视按列组织的表的数据页面 I/O。
        度量预取程序效率:一组新的监视元素可帮助您跟踪提交到预取程序的对按列组织的表中的数据请求量,以及由于页面已在内存中而被预取程序而跳过读取的页面数。
        度量列数据大小:一个按列组织的表与一个新的表对象关联,该表对象中存储了列数据。新监视元素可帮助估算列数据的大小。
        度量所花费的时间:新的所用时间监视元素提供了有关 DB2 数据库管理器如何花费时间处理按列组织的表的信息。

有关所有这些新功能的完整细节,请参阅 DB2 10.5 for Linux, UNIX, and Windows 信息中心。

按列组织的表仅支持 Linux(x86-x64、Intel 和 AMD 处理器)和 AIX(POWER 处理器)。按列组织的表处理功能在 DB2 Advanced Workgroup Server Edition、DB2 Advanced Enterprise Server Edition 和 DB2 Developer Edition 中提供。

DB2 Text Search 增强

您可以使用 DB2 Text Search 快速获取存储在 DB2 表中的文本数据。通过将 Text Search 功能合并在您的查询中,您可以创建强大的多功能文本检索应用程序。

在 DB2 10.5 中,DB2 Text Search 包含以下改进:

    索引对搜索的影响变得更小。
    对多语言集合的更强支持。
    对嵌入式文档、归档文件和压缩文件的支持。
    增强的配置功能,包括定义系统级默认值的能力。

    新的 db2ts SET COMMAND LOCKS FOR TEXT 命令为您提供了对您数据库中的某个特定文本搜索索引手动设置命令锁的能力,这对在索引可能受未通过 DB2 Text Search 管理的操作影响时预防冲突很有用。

    两个新的文本搜索索引配置选项 INITIALMODE 和 LOGTYPE,有助于控制更新的处理。这些选项在 db2ts CREATE INDEX FOR TEXT 命令上指定。在创建索引时使用 INITIALMODE 选项运行初始更新。LOGTYPE 选项用于确定如何管理日志表。db2ts CREATE INDEX FOR TEXT 命令为一个文本列创建一个文本搜索索引。您可以使用文本搜索功能来搜索列数据。

    用于细粒度控制更新处理的更多选项:您现在可以为一个 COMMIT 操作指定批次大小,以及在更新会话期间要完成多少个提交周期。您还可以指定提交大小基于处理的行数还是提交经过的小时数。

SQL 兼容性增强

如果您更加熟悉其他关系数据库产品,DB2 10.5 包含的一些增强使得 DB2 产品更容易使用。以下增强根据以前的 DB2 for Linux, UNIX, and Windows 的版本中发布的丰富的 SQL 兼容性增强,减少了一些应用程序在 DB2 环境中运行的时间和复杂性:

    扩展的行大小支持:您现在可以创建一个表,其中的行可超出表空间的页面大小的最大行长度。使用扩展的行大小支持将行大小超出 32 KB 的表迁移到 DB2 10.5,或者创建包含更多 VARCHAR 或 VARGRAPHIC 列的表。您可修改现有的表,以便利用扩展的行大小支持,该支持通过将 extended_row_sz 数据库配置参数设置为 ENABLE 来启用。在数据插入操作期间,如果数据超出了最大行长度,一个 VARCHAR 或 VARGRAPHIC 数据子集会移动到行外部,并被存储为 LOB 数据。

    对排除空键支持:您可以在 CREATE INDEX 语句上使用新的 EXCLUDE NULL KEYS 子句,预防在键的所有列或表达式为空值时将该键插入索引对象中,从而在您不希望查询访问与空键关联的数据时减少稀疏索引的大小并增强性能。在惟一索引执行期间,会忽略其中的索引键为空值的行。

DB2 pureScale 增强

DB2 pureScale 特性 是一种集群技术,支持您以近线性的效率和可预测的查询性能扩展您的系统,您无需修改您的应用程序或更改数据的分发方式。

在 DB2 10.5 中,DB2 pureScale 特性包含以下增强:

    改进的可用性:您可以在线添加 DB2 成员,不会产生任何宕机时间。如果离线添加成员,不再需要再次使用数据库之前执行数据库备份操作。此外,从 DB2 10.5 开始,在应用在线修复包更新时,您一次可更新一个成员或集群缓存工具 (caching facility, CF),同时让成员和 CF 继续处理事务,保持持续可用性。

    自定义的工作负载平衡(也支持分区数据库环境):您现在可以通过定义支持,将应用程序工作负载隔离到一个特定的成员集的成员子集,实现成员级工作负载管理。

    更轻松的恢复:DB2 pureScale 环境现在支持 DB2 高可用性灾难恢复 (HADR),将前者的持续可用性特性与后者健全的灾难恢复功能相结合。您现在还可以将一个离线备份镜像从 IBM DB2 10.5 Enterprise Server Edition (ESE) 实例还原到 DB2 pureScale 实例,或者将一个镜像从 DB2 pureScale 实例还原到 ESE 实例。您可以将数据库备份镜像还原到一个具有不同拓扑结构的 DB2 pureScale 实例,或者将在 DB2 pureScale 实例上创建的在线数据库或表空间备份镜像还原到某个具有超集拓扑结构的 DB2 pureScale 实例。此还原支持包括通过成员添加事件执行前滚操作。

    增强的表重组:现在 DB2 pureScale 环境中支持原地(在线)表重组。

    通过特定于成员的 STMM 实现增强的性能:DB2 pureScale 环境中的自调优内存管理得到了增强,在每个成员上有一个独立的 STMM 调优程序。这些调优程序可适当地响应每个成员上的可用内存的更改,该调优可以更恰当地反映工作负载的特征。

    减少的索引页争用:索引键列上的随机排序有助于在某些插入操作期间减轻被频繁访问的页面上的页面争用。在 DB2 pureScale 环境中频繁访问索引叶页面时,这项新功能特别有用。

    简化的根登录设置:您现在可以安装和配置 DB2 pureScale 特性,无需删除根登录和无密码的 SSH,这消除了一些安全问题。

    简化的修复包安装:您可以使用 DB2 installFixPack 命令在单个步骤中同时更新 DB2 pureScale 实例和 DB2 ESE 实例类型。

数据恢复和 HADR 增强

    DB2 Advanced Copy Services 接口方便了自定义脚本的使用:实现快照备份和还原操作的自定义脚本,现在可以更加无缝地与 DB2 数据服务器集成,从而减少用户错误和改善这些快照操作的监视和管理。

    使用一个存储设备的快速复制技术,比如 DB2 Advanced Copy Services (ACS) 提供的技术,可让备份和还原操作中的数据复制运行得比传统备份或还原操作快得多。使用 DB2 ACS 的备份操作被称为快照备份操作,使用 DB2 ACS 的还原操作被称为快照还原操作。要执行快照备份和还原操作,需要使用存储驱动器或不受支持的存储设备的 DB2 ACS API 驱动程序,这是一段支持您的存储设备执行快照操作的自定义脚本。尽管这些脚本在您可使用的存储设备方面提供了灵活性,但它们可能很容易出错,而且无法生成历史文件条目。

    在 DB2 10.5 中,DB2 ACS API 包装在 DB2 ACS 库中。以前容易出错的操作(比如在正确的时刻发出 SET WRITE SUSPEND 和 SET WRITE RESUME 命令)由 DB2 数据库管理器处理。此外,每个快照操作的条目被写入到恢复历史文件中,这使得您能够监视这些操作的最终状态。

    改进的 HADR 监视:MON_GET_HADR 表功能和 db2pd 命令(在您指定 -hadr 选项时)会返回以下新字段:

        HEARTBEAT_MISSED,自数据库在本地成员上启动以来未在此日志流上按时收到的检测消息数量。

        HEARTBEAT_EXPECTED,自数据库在本地成员上启动以来,此日志流上应该收到的检测消息数量;将此值与 HEARTBEAT_MISSED 的值进行比较,可以衡量在特定的时间间隔内网络的健康状况。

        STANDBY_SPOOL_PERCENT,所使用的假脱机空间占配置的假脱机限制的百分比;这是一个表明使用了多少 HADR 日志假脱机空间的指标。

        STANDBY_ERROR_TIME,备用数据库上一次遇到重大错误的时间。

其他提高应用程序性能和可靠性的特性

    支持 NOT ENFORCED 主键和惟一约束,这使您在知道数据已符合约束时能够避免性能成本和空间需求。在对数据库的索引访问无法提供额外的收益时,这些参考性约束可帮助查询优化器选择最佳的数据访问计划。

    基于表达式的索引:您现在可以创建一个索引,它包含一个基于表达式的键,而不是表中存储的数据,而且表达式的结果存储在索引中。如果查询优化器选择一个包含基于表达式的键的索引,那么在断言中包含相同表达式的查询的性能就会得到改善。

    DB2 10.5 包含许多 IBM 数据服务器客户端和驱动程序增强。要利用这些改进,则必须升级到 10.5 版的 IBM 数据服务器客户端或驱动程序。这些增强与以下部分相关:
        常见客户端和驱动程序
        调用级接口 (CLI) 驱动程序
        IBM Data Server Provider for .NET
        IBM Data Server Driver for JDBC and SQLJ

    有关的完整细节,请参阅 DB2 10.5 for Linux, UNIX, and Windows 信息中心。

一个包含丰富工具的环境使 DB2 10.5 更容易使用

支持数据库管理和应用程序开发的工具可真正增强您的性能获益和总体生产力。

    IBM Data Studio 包含在 DB2 10.5 的每个版本中。Data Studio 在单个基于 Eclipse 的产品中合并了高级的开发、管理和监视工具。

    DB2 Advanced Enterprise Server Edition 包含 IBM InfoSphere Data Architect,您可以使用它发现、建模、可视化、关联和标准化整个企业中多样性和分散的数据资产。
    InfoSphere Optim Performance Manager 提供了多项增强来支持 DB2 pureScale。

    包含了 InfoSphere Optim Query Workload Tuner,以便提供最大程度地提高应用程序性能的专家建议。Optim Query Workload Tuner 4.1 中的 Workload Table Organization Advisor 检查一个查询工作负载中引用的表,提供用于提高查询工作负载的性能的建议。该工具识别推荐从行组织结构转换列组织结构的表。

    包含了 InfoSphere Optim Configuration Manager,以便提供数据库和客户端配置的集中化管理。

结束语

DB2 10.5 提供了大量增强和创新,可帮助用户节省时间和资金,实现更高的性能。DB2 10.5 中按列组织的功能的优势(及其行业领先的压缩和针对大数据量的分析查询上的巨大性能获益)包括显著减少的价值实现时间和更高的实用性,实现此目标只需满足极低的 DBA 设计需求并执行更少的查询调优和调试工作。
2014-07-18
浏览4424
下载0

已下载用户的评价

您还未下载该资料,不能发表评价;
查看我的 待评价资源
本资料还没有评价。

贡献者

ce97软件开发工程师,某某某
X社区推广