- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DB2分区数据库的导出速度提升
DB2分区数据库的Export程序提速
摘要:介绍如何在DB2分区数据库环境下,利用并行机制来提升数据库的导出速度,本文通过一个简单的导出例子来讲解并行EXPORT数据的调用,供大家参考!
标签:DB2??EXPORT?DB2_ALL?HPU 并行机制
在数据库的日常维护管理中,数据库的导入以及导出功能经常用到,在日常的数据迁移、数据备份的过程中,数据库的导出功能的速度显得尤为的重要,数据库自带的导出功能速度一般,特别大数据量的导出时,导出速度的提高能极大的节省时间。
DB2数据库的常规导出命令Export概述
Export 实用程序将数据库数据导出到操作系统文件中,该文件可以是任一种外部文件格式。您可以通过提供 SQL SELECT 语句或类型表分层信息来指定要导出的数据。然后,可以使用此操作系统文件
但在日常的使用过程中, Export命令的导出速率一般,在DB2分区数据库环境下,跨分区的大数据量表的数据是通过协调节点将各数据节点进行导出。这样在进行数据备份以及数据迁移的时候,需要很的时间窗口进行数据的导出。虽然可以通过调整数据库的参数,提高导出速度,但提高的幅度毕竟的很有限的。
IBM DB2 High Performance Unload的描述
在日常的维护中,如果想获得高速的导出速率的话,IBM公司提供了一种叫IBM DB2 High Performance Unload的工具。DB2 High Performance Unload通过高速卸载功能帮助您满足服务水平协议。因为 DB2 High Performance Unload 使用指定管道来并行执行加载和卸载步骤,所以迁移过程非常快。系统资源得到了有效利用。此外,在许多情况下,DB2 High Performance Unload 能够直接处理容器,避免了通过 DB2 处理的开销。DB2 High Performance Unload 还能够重新分配数据,帮助提高备份和恢复操作的速度,它启用了从完整的数据库备份卸载和恢复单个表的功能。
主要特性:
帮助缩短维护时窗。
直接从表空间文件读取,以提供对 DB2 数据的快速访问。
根据您指定的格式,将表卸载到一个或多个文件中,而不会影响您的生产表。
卸载数据样本(例如,每个第 n 行)。
据说,IBM DB2 High Performance Unload导出的速度是常规导出速度的10倍左右,但DB2任何数据库版本都不包含这个工具。IBM DB2 High Performance Unload工具需要单独进行购买,需要花费大量的Money才行。
Db2分区数据库并行导出实现提速
即然DB2分区数据库在处理大数据量的加载以及运算,性能特别突出。我们就想有没有一个方法利用分区的特点来提高导出的速度呢?在这里首先看一下
Db2分区数据库的特征,将一个DB2数据库分区时,把它分成一些独立的部分,每一部分都包含各自的数据、配置文件、索引和事务日志。每一部分就是一个数据库分区,能单独正常的运行,可以将多个分区分派到一台物理机器上。DB2分区数据在存储大数据量表的时候根据分区键均匀的分布到各个节点上。
我们就要考虑能不能写一个程序,实现并行让每一个节点数据库单独导出数据,这样每个数据库导出的数据量就很小,速度肯定会有提升。
如何才能实现并行的机制呢,首先自己手工写程序能实现,但比较麻烦,并且需要控制多台机器,通不过。还是从DB2数据库提供的命令里面去找,经过仔细的查找,发现db2数据库提供了一个db2_all的命令,db2_all功能是在指定的所有数据库分区服务器上运行命令
虽然解决了并行了问题,但是又出现了结果文件的命名问题,因为在同一个命令中如何实现导出的文件名不重复,首先考虑到使用db2分区数据库的节点号进行区分(这样也方便后期数据的加载),通过仔细的研究db2的各种文档后发现,在db2_all的命令中可以使用##来表示各个节点。至此,db2分区数据库的并行导出的功能所有问题全部解决。以下是一个实例,能过实例可以看出,数据导出的速度上的提升有多少。
Db2分区数据并行导出实例
环境如下:
主 机:IBM P550 半配 1台 ,IBM P570 半配 3台
数据库:DB2 V9.1.0.4
节 点:P550为管理节点,分2个节点,3台P570为数据节点,每台机器分8个节点,共26个节点
条件:首要条件是指定表的数据均匀的分布在各个节点上
1、连接数据库,指定所要导出的表以及导出的行数。
图1 连接数据库查询指定表的行数
从 图1 可以看到所要导出数据的行数。
2、使
文档评论(0)