知识库 : iUAP DI_应用分区实现大数据量抽取

Edit Document

目录              

应用分区实现大数据量抽取

1.               基本概念

2.               DI 分区功能说明

4.               案例 - 数据分区

4.1.               步骤一:数据库连接设置分区

4.2.               步骤二:项目属性设置分区

4.3.               步骤三:转换项设置分区

4.4.               测试验证

5.               案例 - 求余分区

5.1.               步骤一:项目属性设置分区

5.2.               步骤二:转换项设置分区

应用分区实现大数据量抽取

B y   段丽霞

1.     基本 概念

数据库 分区 主要有两种形式:水平 分区和垂直分区。 如 下表所示, 说明 了分区的 概念:

 

对比项

水平 分区

垂直分区

定义

按记录进行 分区 ,不同的记录可以分开保存,每个子表的列数相同。

例如,表 T1 ,可以把 id 为单数的放到数据文件 P1 ,双数的放到数据文件 P2

按列进行分区,即把一条记录分开多个地方保存,每个子表的行数相同。

例如,表 T1 ,可以把 id 和 name 放到数据文件 p1 ,把 qty 放到数据文件 p2 。

特点

结构 相同,数据不同。

结构 不同,数据可能 不同 ,可能相同

分区是为了增加数据的并行度,根据系统资源如存储, CPU 等增加横向扩展能力。

 

2.     DI 分区 功能说明

DI 产品中支持两种分区方案: 数据库 分区 和 求 余分区 。 如下表 所示 , 介绍了 DI 产品中的 两种 分区方案 :

 

对比项

数据库 分区

求余分区

定义

DI 中 数据库分区支持 oracle 数据库水平分区,

对 某字段 值 通过求余 将 表数据划分为 N 个。

应用 场景

数据量 大,可以应用数据库物理 分区进行 并行操作,提升性能。

数据量大 ,可以应用求余 法 将数据分割为 逻辑上 的几个 分区并行 操作。

操作 步骤

  1. 数据库连接 中定义 。目前 支持 Oracle 集群 分区 。
  2. 项目 属性中导入分区设置。
  3. 转换 中设置应用定义好的分区。

直接在 转换中 应用分区 。

注意 事项

  1. 目前 只 针对 Oralce 数据库分区。
  2. 所有分区镜像:只针对表输入。
  3. 分区设置要注意设计逻辑, 否则 不仅不会 提升性能,还会 降低 性能。

一般 来说,求余之后 划分的 表 分区比较均匀。如果 差异很大 ,则需要重新设计。 选择 字段和选择 求余的 数字是否合适。

4.     案例 - 数据分区

4.1.     步骤一 : 数据库连接设置 分区

如下图 所示, 编辑数据库连接,点击高级 - 使用集群,新建数据库水平分区方案,如下图所示:

4.2.     步骤二 :项目属性设置 分区

选中 项目,右键点击属性, 选择页签 【 分区 方案】 , 如下图所示 。点击按钮 【 新增 】 , 输入分区方案 名称, 这里 , 选择 【导入分区 】 (也 可以手动输入) 。

 

4.3.     步骤三 : 转换项设置分区

选中 需要 设置 分区的转换项 , 点击右键 , 弹出右键功能选项中的 【分区 】 ,如下图 所示 。

4.4.     测试 验证

最后 ,有必要验证一下 是否 有提升性能,达到预期效果 。 如果 未 达到效果,查看设计逻辑是否 有 问题 , 是否需要改进等。

5.     案例 - 求 余分区

5.1.     步骤一 :项目属性设置 分区

选中 项目,右键点击属性, 选择页签 【 分区 方案】 , 如下图所示 ,点击按钮 【 新增 】 , 输入分区方案 名称,在字段 【 分区 ID 】 中 输入 求余分区 需要设置 的 分区 ID 。

一般 来说, 分区 ID 的设置方法:

         实施 分区的列如果类型为 整数 型 , 那么分区方案为 ,取 【 列 的值 / 分区 ID 的个数 】 的余数进行 分区 。

         实施 分区的列如果类型为 字符型, 那么分区方案为 ,取该列 的哈希值进行 分区 。 哈希算法 略。

5.2.     步骤二 : 转换项设置分区

选中 需要 设置 分区的转换项 , 点击右键 , 弹出右键功能选项中的 【分区 】 ,如下图 所示 。

其中 , 【字段 】 为 需要进行分区的列 。

设置之后 ,工作区图标显示如下:

 

 

Attachments:

iUAP DI_应用分区实现大数据量抽取.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
iUAP DI_应用分区实现大数据量抽取.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)