知识库 : 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)