數據管理DMS的測試數據構建功能擁有強大的算法引擎,支持批量生成各類隨機值、地區名、虛擬IP地址等信息,可以大大減輕準備測試數據的負擔。本文介紹構建測試數據的方法。
前提條件
支持的數據庫類型:
MySQL:RDS MySQL、PolarDB MySQL版、MyBase MySQL、PolarDB分布式版、AnalyticDB MySQL版、其他來源MySQL
SQL Server:RDS SQL Server、MyBase SQL Server、其他來源SQL Server
PostgreSQL:RDS PostgreSQL、PolarDB PostgreSQL版、MyBase PostgreSQL、AnalyticDB PostgreSQL版、其他來源PostgreSQL
MariaDB:RDS MariaDB、其他來源MariaDB
OceanBase MySQL模式
PolarDB PostgreSQL版(兼容Oracle)
背景信息
功能測試或者性能測試時,往往需要準備測試數據,通常有以下幾種方法:
手工編寫:效率低,不適用于大數據量場景。
維護生成測試數據腳本:成本高,且不通用每次都需要修改,數據離散性不足。
生產環境數據導出后寫入測試環境:數據不安全,存在泄露風險。
實際開發過程中可能伴隨頻繁的數據準備過程,同時需要保障數據安全、數據的離散性特征可控、高效率。DMS提供的測試數據構建,能夠滿足您的需求。
注意事項
當前僅支持按需操作單個表,如需多個表生成需要多次處理。
單次生成上限閾值為100萬條。
性能數據參考(進行了流量控制,避免瞬時生成過多數據造成數據庫負載的影響):
4個字段生成100萬條數據約60s。
40個字段生成100萬條數據約120s-180s之間。
操作步驟
- 登錄數據管理DMS 5.0。
在頂部菜單欄中,選擇 。
說明若您使用的是極簡模式的控制臺,請單擊控制臺左上角的圖標,選擇
。在測試數據構建工單列表頁,單擊右上角的測試數據構建。
說明您還可以在目標數據庫的SQL窗口中,右鍵單擊目標表,在彈出的窗口中選擇
。在測試數據構建工單申請頁,根據下表填寫工單信息,并單擊提交申請。
參數名
說明
任務名稱
便于后續檢索,并提供給審批人員清晰的操作意圖。
庫名
指定數據庫實例上某個具體數據庫(需要在產品內有數據庫的操作權限,輸入庫名前綴后可出現聯想提示)。
表名
在指定的目標表中進行檢索,支持添加多張表(需要輸入表名前綴后可出現聯想提示)。
配置算法
您在選擇表名后,才會出現此配置項。您可編輯各字段的生成方式,詳情信息請參見配置算法介紹。
生成行數
生成測試數據的行數。
沖突處理
請選擇沖突處理模式,當前支持:
遇到數據沖突則跳過:遇到主鍵、唯一鍵的數據寫入沖突則跳過沖突記錄繼續往下寫入其他數據。
遇到數據沖突則替換:遇到主鍵、唯一鍵的數據寫入沖突則更新原記錄行的數據并繼續往下寫入其他數據。
變更相關人
您可按需選擇變更相關人。非工單參與人、審批人,均不可見工單詳情。
提交工單后進入審批環節,待審批通過后,系統會自動進行數據構建,并直接寫入目標數據庫中。
說明目前,測試數據構建的默認安全審批規則為:數據庫對應的DBA進行審批。更多信息,請參見測試數據構建。
配置算法介紹
測試數據生成算法配置目前支持3種生成方式,分別是隨機、自定義、枚舉。
隨機
數值類型:支持自增序列(指定起始值與步長)與區間數字(在指定區間生成隨機值)兩種生成方式。
文本類型:支持變長字符串(在指定字符長度與指定字符范圍中生成隨機值)與不重復字符串(隨機生成)兩種生成方式。
日期與時間類型:支持在指定日期或時間內生成隨機數值。
自定義
目前僅文本類型支持自定義生成方式,提供個人信息、地理位置、以及多個行業的標準數據類型。
枚舉
您需要主動添加若干枚舉值,DMS會在您輸入的枚舉值中隨機選擇。
說明數值、文本、日期與時間類型均支持枚舉生成方式。
相關操作
測試數據構建完成后,您可能需要進行以下操作:
在DMS的SQL Console中查詢數據。具體操作,請參見SQL Console初體驗。
監控、查看數據庫性能。具體操作,請參見實時性能。