跳到主要内容

生成测试数据

NineData 支持在数据库中自动生成符合特定业务场景的随机数据,用于模拟实际生产环境中的数据情况,帮助用户在不使用真实数据的情况下,进行功能测试、压力测试以及其他验证工作。

功能说明

  • 自定义数据生成:支持根据具体业务需求,自由定义每个字段数据的生成规则和算法,确保生成数据符合实际业务逻辑。例如,姓名字段可以生成特定格式的姓名,日期字段可以生成特定范围内的日期。

  • 数据量控制:可以控制生成数据的数量,支持小规模数据到千万级数据的生成,满足不同的测试需求。

  • 字段关联与依赖:数据可以基于字段之间的关联关系自动生成,确保表与表之间、字段与字段之间的数据一致性,例如外键关系的维护。

  • 数据分布设置:用户可以设置生成数据的分布比例,包括 NULL 值比例、唯一值、重复值等,帮助模拟生产环境中的数据分布特征。

使用场景

  • 功能测试:在开发过程中,生成测试数据用于验证系统的功能是否按预期运行。例如,在用户注册功能测试中,可以生成一批模拟用户数据,用来验证用户注册、登录和数据存储的操作过程。
  • 性能测试:通过生成大量数据,模拟系统在高负载下的运行情况,测试系统的响应速度、资源消耗和扩展能力。例如,生成百万级别的订单数据进行性能测试,检查数据库的查询和插入性能。
  • 迁移功能测试:在进行数据迁移或版本升级时,可以通过生成测试数据对数据迁移的过程进行验证,确保在迁移或升级后的环境中数据保持完整和一致。

前提条件

  • 已将需要生成测试数据的数据源添加到 NineData。如何添加,请参见添加数据源
  • 支持的数据源类型为 MySQL、Oracle、OceanBase for Oracle、OceanBase for MySQL、TiDB、GreatSQL、ClickHouse、Doris、StarRocks、TDSQL MySQL 版。

创建数据生成任务

  1. 登录 NineData 控制台

  2. 在左侧导航栏单击数据库 DevOps > 数据生成
  1. 数据生成页签下,单击右上角的创建数据生成任务,然后根据下表配置各项参数,单击创建任务

    参数说明
    任务名称输入数据生成任务的名称。
    数据源/库选择数据生成任务的目标数据源和库(Schema)。
    生成对象单击添加表,选择数据生成任务的目标表。在生成对象右侧,可以单击仿真模板的名称,更换仿真模板。仿真模板支持自定义配置,请参见管理仿真模板
    表添加完成后,页面中将自动列出该表以及其中所有字段。
    • 生成数据量:在左侧表名区域中的生成数据量文本框中,可以配置生成的数据量。该数据量受测试数据生成记录数阈值配置规则影响,最大为 1000 万条。规则配置方法请参见编辑规范
    • 仿真规则:在右侧字段名区域,可以手动为每个字段配置仿真规则,单击各字段右侧操作列下的配置算法可以为每个列配置仿真算法。
    冲突策略选择生成数据时遇到重复对象的处理策略,支持遇到冲突终止遇到冲突跳过遇到冲突覆盖三种策略。
    执行人【个人模式下不显示】当前数据生成任务审批通过后的任务执行人。
    说明执行人下拉列表中的可选项取决于如下两种情况:
    • 当前数据源配置了开发规范:列表中的选项基于当前规范中配置的生成任务执行人配置规则。该规则位于数据生成页签,如何配置开发规范,请参见编辑规范
    • 当前数据源未配置开发规范:列表中的可选项为对当前数据源有数据生成 - 提交权限的用户。更多关于授权的说明,请参见配置用户权限
    生成原因(可选)【个人模式下不显示】用于记录和说明创建数据生成任务的目的和背景,尤其在团队合作、任务审计和审批流程中,生成原因的记录有助于任务合理性的验证和任务流的推进。
  2. 进入预检查节点,系统将基于当前数据源关联的 SQL 开发规范对任务进行预审,会有如下几个结果:

    • 预审通过:根据审批流程的配置情况,任务状态会更改为待提交审批通过,如果是前者,请继续下一步,如果是后者,本流程结束。
    • 预审不通过:任务状态会更改为预检查失败,您可以撤回数据生成任务重新编辑并提交。

撤回数据生成任务

任务的状态处于规范预审中审批中审批通过待执行时,您可以撤回该任务的申请,撤回后,任务不再执行,您可以重新编辑该任务单再次提交。

前提条件

  • 任务的状态为规范预审中审批中审批通过待执行
  • 您是目标任务的提交人系统管理员

操作步骤

  1. 登录 NineData 控制台

  2. 在左侧导航栏单击数据库 DevOps > 数据生成
  1. 数据生成页签,找到目标任务,单击任务 ID 或任务右侧操作列的详情。在任务详情页右上角单击撤回

  2. 在弹出的确认窗口中,单击撤回撤回并编辑

    • 撤回:任务状态变更为已撤回。如需重新编辑任务,可以在 数据生成列表找到该任务,单击右侧操作列下的类似创建,重新提交任务单。
    • 撤回并编辑:任务状态变更为已撤回并自动跳转至任务的编辑页面。

审批数据生成任务

前提条件

  • 任务的状态为审批中
  • 您是目标任务的审批人系统管理员

操作步骤

  1. 登录 NineData 控制台

  2. 在左侧导航栏单击数据库 DevOps > 数据生成
  1. 数据生成页签,找到目标任务,单击任务 ID 或任务右侧操作列的详情

  2. 任务详情页面,审批任务,根据实际情况选择转交审批通过审批不通过

    操作
    说明
    转交将任务单转交给其他用户审批。
    审批通过批准申请,单击审批通过后,您可以按需输入通过原因,并单击确定
    审批不通过驳回申请,不执行该任务。单击审批不通过后,您还需要输入驳回原因,并单击确定

执行数据生成任务

任务的状态处于审批通过时,您可以执行该任务。

前提条件

  • 任务的状态为审批通过
  • 您是目标任务的执行人系统管理员

操作步骤

  1. 登录 NineData 控制台

  2. 在左侧导航栏单击数据库 DevOps > 数据生成
  1. 数据生成页签,单击目标状态为审批通过的任务 ID。

  2. 任务详情页面,单击右上角的执行

  3. 在弹出的窗口中,选择执行方式,单击确定,然后等待任务状态变更为执行成功即可。

    • 立即执行:马上执行 SQL 语句。
    • 定时执行:选择一个时间执行 SQL 语句。

    执行成功后,您可以打开 SQL 窗口验证生成的数据。