2024年6月1日发(作者:)
Datafactory使用说明
文档内容主要包括两部分,第一部分是介绍datafactory工具设计,描述简
单的操作使用,第二部分则以多个专题的形式,详细说明datafactory如何进行
复杂数据策略设置。
说明:文档采用datafactory5.6版进行示例。
一、工具介绍
1、工具原理
Datafactory是Quest公司开发的一款用于数据模拟的软件,主要领域是准
备大数据量环境测试,其中主要应用于性能测试的数据准备。当然,在其他任何
需要进行数据模拟的情境下,都可以应用此软件来组织和产生大量符合业务规范
的测试数据。
Datafactory工作原理是通过数据库接口,与数据库进行连接后,对选定表
的字段设定一定的插入规则,然后批量插入记录。工具支持各种主流数据库,包
括Oracle、DB2、Mysql,Sqlserver,甚至excel、access等数据库。
2、界面介绍
Datafactory工具界面很简单,如下图所示
3、创建新连接
启动datafactory工具,自动弹出新建数据模拟脚本的向导,可选择需要插
入数据的数据库类型
选择数据库,其中Oracle,Sqlserver,Sybase和DB2可直接连接,其他数
据库则需要通过odbc方式进行连接,下面我们以sybase数据库为例,其他数据
库类型连接方式相似
填写数据库相关连接信息,这里需要了解不同数据库的连接方式,如sybase
连接是通过读取本地文件服务名的,oracle是通过读取
文件,sqlserver则是通过ip和端口进行连接的
选择需要模拟数据的业务表,这里可选择单表或者多张表,也可在后续操作
中进行补充。对于关联表的设置,可参见第二部分的相关专题描述
设置脚本名称,这里建议创建有意义的名称,最好包含表名,以区分不同的
数据模拟脚本,并方便记忆
脚本设置完成页面,展示相关信息
4、工具菜单介绍
Datafactory工具栏可进行的设置包括
New:新建一个模拟脚本
Open:打开已经存在的脚本
Save:保存当前脚本
Run:执行脚本生成数据
Stop:脚本执行期间中断操作
Expand:展开左侧脚本列表中数据表
Collapse:隐藏字段列,只显示数据表名
Setting:通用设置选项,详细介绍可参照下一节
Data Table:设置数据源表,详细介绍参照专题内容
当前数据模拟脚本的工具栏包括
依次为Add Databases:选中脚本名称有效,增加新的数据库
Add/Remove Tables:选中数据库名称有效,增加或删除数据表
Add/Remove Fields:选中数据表名称有效,增加或删除字段
Add Child Tables:选中数据表名称有效,增加字表
Insert Create DataTable:从数据源插入数据
Insert Excute SQL:使用sql语句查询结果进行数据插入
Move up:选中非第一个表名称有效,可将表顺序向前移动一位
Move down:选中非最后一个表名称有效,可将表顺序向后移动一位
Delete:选中脚本内所有元素均有效,可删除数据库,数据表或者字段
注:多张表放在一个脚本中进行数据模拟的时候,会顺序执行数据生成,因此在
设置表数据引用时需要注意表顺序。
5、数据模拟策略
Datafactory可对每个字段进行设置,在导入数据表时工具已通过数据字典
读取每个字段的数据类型,根据不同的数据类型datafactory可进行不同的策略
设置,以下简单描述不同类型字段的策略设置。
字符型
Insert value from data table:从数据源插入
Insert value from an SQL database:查询数据库结果插入
Insert text from a file:从文件插入文本内容
Insert random characters:插入随机字符
Insert a string constant:插入固定字符串
Build a composite field:创建一个合成字段
数值型
Insert value from data table:从数据源插入
Insert value from an SQL database:查询数据库结果插入
Insert value from an arithmetic expression:插入算术表达式结果
Insert sequential values:插入顺序数值
Insert random characters:插入随机数值
Insert a constant value:插入固定数值
日期型
Insert value from data table:从数据源插入
Insert value from an SQL database:查询数据库结果并插入
Insert sequential values:插入顺序数值
Insert random characters:插入随机值
Insert the current system date:使用当前系统时间
注:其他数据类型同以上相差不大,不再一一列举。
6、数据模拟执行
选择需要模拟的数据表,将显示本次执行生成的数据记录条数,也可设置生
成数据文件而不是直接插入数据库。
Datafactory工具栏中的setting可进行通用设置,如下所示
在工具栏单击“Run”按钮,开始执行数据插入,完成后查看工具下方的执
行日志输出框,确认数据模拟插入是否成功。
二、专题说明
以下专题采用信访数据表进行说明,在此不涉及业务规范和复杂逻辑,仅简
单选择两张数据表举例。
主表:T_XFJD_AJXX 主键:C_BH
字表:T_XFJD_AJXX_DSRXX 主键:C_BH 外键:C_AJBH
1、字段设置注意事项
所有字段类型
选择Unique:不能生成重复数据
选择Key:作为数据表主键生成数据
数值型字段
选择Auto Number:系统将自动产生数值,不用人工设置生成策略
设置Decimal:设置保留小数位数
设置Width:设置数值字段长度,数值占位不够则用0补齐
字符型字段
设置字符为大写:Upper Case
设置字符为小写:Lower Case
设置字符包含大小写:Mixed Case
日期型字段
周末设置:weekdays and weekend days/weekdays only/weekend days only
此外,可通过format选项来设置日期格式,分别设置Date和Time的格式,
生成数据将以设置样式保存到数据库中,样式可参照最下方Sample。此外,也
可以在Custom Format选项中指定自定义格式,如‘2010-08-18’。
2、合成字段
对于较复杂的字段值,单一的字段设置策略无法满足业务要求,因此需要使
用合成字段来模拟。譬如字符型字段中包含数字,SJ2。
选择创建合成字段
点击add按钮,新增一个字段元素,每个字段元素又可以从字符,日期(时
间)和数值类型中选择
每个元素的取值与实际的字段取值策略一致的
对于合成字段的元素,选取后可以进行策略修改(Modify),删除(Remove),
顺序上移(Move up),顺序下移(Move down)
3、主键生成
主键唯一标识一条数据记录,项目中可采用数字和字符类型来定义主键。数
据类型主键基本为顺序递增,如检察院办案中数据表主键N_BH,法院办案系统中
数据表主键BH。字符型主键一般由多个部分组成,通常前缀表示具体的业务或
模块,后缀则为数字方式顺序递增,如运维系统中SJGD001254,当然也有系统
中会使用无关业务的32位uuid来作为主键。
这里以上面的主键类型为例介绍如何生成主键字段,提供一些模拟策略设置
时的注意事项。
数字型主键
数字型主键最简单的方式就是数序递增,只需要将主键字段设置为Numeric
的数序递增即可,需要注意的是某些情况下需要补齐字段位数,并选择unique
和key选项,避免生成重复数值而导致应用错误。
字符型主键
项目开发中采用字符型主键的情况比较多,如果在设计时希望主键有一定的
业务特性,通常是主键前半部分具有一定的业务含义,后半部分则数序递增,如
主键“10”即代表代码为1002的检察院案件,其案件编号为89680。
此类主键在设置生成策略时需要使用合成字段,分为两部分设置策略。前一
部分可从数据库或数据源中获取相应的代码编号,如下
后一部分则可设置固定位数,顺序递增
对于使用uuid作为主键的情况,由于uuid本身就是随机生成的,不用遵循
一定的业务规则,所以可以使用32位字符随机生成的方式进行模拟。如果发现
实际数据中主键前面一部分相对固定,为接近实际数据压力,也可使用合成字段
将前面的字符设置为常用字符串,后面则采用随机生成字符方式补齐32位长度。
4、关联表使用
在设置数据模拟策略时,也可设置主子表关联关系,在同一个脚本中生成关
联表的数据。
鼠标右键单击主表,选择“Add Child Table”
选择要模拟数据的子表
选择父表中一条记录对应的子表记录条数,并在表间关系描述中选择主子表
对应的关联字段
完成主子表关系设置
从脚本数据列表可以看到主子表的对应关系
子表同父表关联的字段将不能再设置策略,datafactory工具会从父表直接
读取
按照一般的策略设置方法,对主子表字段进行策略设置,从数据库中查看,
子表/父表的数据记录倍数同策略设置一致
注:通常业务系统中一张主表会有多张子表,假如都以关联表方式进行设置,将
会出现字段过多,数据策略复杂的情况,脚本执行出错难以排查,也不方便进行
维护。所以,对于多个子表的数据模拟,建议是对主表关联字段创建数据源,子
表策略对此数据源进行引用。
5、创建数据源
创建数据源有三种方式,分别为从数据文件导入,从数据库导入,以及使用
临时表,下面简单介绍三种数据源的创建以及使用方式。
从数据文件导入:单击datafactory工具栏中按钮,弹出创建
数据表向导,选择“Import data from file”,点击下一步
点击“Browse”按钮,选择导入数据的文件
datafactory目前只支持txt格式的数据文件导入,而文件中数据格式要求如下
字段名称:字段类型(字段长度),字段名称:字段类型(字段长度)
xxx,xxx
xxx,xxx
示例
DMBH:int(4),DBMC:varhcar(40)
221,材料不全
222,提请审批
从数据库导入:单击datafactory工具栏中按钮,弹出创建数
据表向导,选择“Import data from database”,点击下一步
选择数据库类型
此后操作和datafactory连接数据库的操作方式一致,这里依然以sybase
数据库为例
在对话框中填写需要查询的数据sql,建议获取的数据先在数据库连接工具
中确认无误
为数据源命名
点击下一步,并最终完成从数据库创建数据源的设置,默认在datafactory
安装目录的data目录下将生成数据源文件
创建临时表:如果想要获取的数据已经包含在datafactory数据模拟脚本中,
也可通过指定临时表的方式直接使用,方法如下。
加入数据表时设置创建临时表(假如使用过程中才设置临时表,则需要重新
打开数据模拟脚本)
数据源的使用:无论是从数据文件引入,数据库引入还是临时表方式创建的
数据源,其使用方法都是一致的。
选择要使用数据源的字段,在策略设置中选择“Insert value from data
table”,然后选择相应的数据源
数据表-数据文件引入
数据表-数据库sql引入
临时表引入
数据源策略设置
Field;选择需要获取的数据字段
Retrival method:获取方式有三种,分别为select a record at random(随机
获取字段值),select records sequentially(顺序获取字段值),synchronize
with other fileds from the same talbe(与相同数据表其他字段采用同步方式)。,
6、通过odbc连接数据库
这里以datafactory连接mysql数据库为例,说明datafactory工具如何通
过odbc连接数据库。
首先安装mysql-odbc驱动,这里采用mysql-connector-odbc-5.1.7-win32
进行示例。
下一步
下一步
安装
安装完成
创建数据库连接,选择odbc连接方式
进入odbc数据源管理器
创建数据源,选择mysql odbc 5.1 driver
配置mysql连接属性
添加的data source,需要重新打开odbc connect窗口才能显示
下一步,选择需要模拟数据的表
设置数据模拟脚本名称并保存
发布者:admin,转转请注明出处:http://www.yc00.com/news/1717226996a2735598.html
评论列表(0条)