天天看點

簡單3步快速生成千萬級别mysql測試資料庫,模拟電商資料

https://blog.csdn.net/wuda0112/article/details/88387735?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.baidujs

mysql-tester的工具,可以生成模拟電商的資料庫,大資料量,具有關聯關系!

而且隻需要三步就可以生成資料了!

先上一張自己使用後的資料庫監控圖

在這裡插入圖檔描述

簡介

    生成測試資料,總共有16個表,生成的資料規模是可配置的,比如指定生成100萬使用者,并且資料之間有關聯關系,是以可以測試sql join語句。

    用于資料庫壓力測試

很多工具要麼生成的資料是單表,即資料之間沒有關聯關系,要麼資料量較小,對于很多測試看不到效果,本項目的目的就是既生成有關聯關系的資料,又可以客制化資料規模!

資料量配置

檢視 --user-count 和 --max-item-per-user 兩個選項的說明

快速開始

下載下傳可執行jar包,下載下傳連結

    jar下載下傳

生成資料庫表,sql腳本檢視

    腳本檔案

輸入指令,啟動.預設連接配接到本地mysql,即: localhost:3306

java -jar mysql-tester-${VERSION}.jar --mysql-username=使用者名 --mysql-password=密碼

支援的選項

    --max-item-per-user <arg>

                                   每個使用者最多有多少商品數;在生成資料時,随機為每個使用者生成商品,數量取值範圍是

                                   [0,MAX](default=10).比如預設生成10000個使用者,每個使用者

                                   最多10個商品,那麼大緻就可以知道生成的資料規模

    --mysql-max-connection <arg>   mysql最大連接配接數(default=25)

    --mysql-password <arg>         mysql password

    --mysql-url <arg>

                                   mysql連接配接url(default=jdbc:mysql://localho

                                   st:3306/?serverTimezone=UTC)

    --mysql-username <arg>         mysql username

    --thread <thread>              生成資料的線程數(default=50)

    --user-count <arg>

                                   使用者表生成多少行記錄,同時也是店鋪表和倉庫表的記錄數,因為一個使用者隻擁有一個店

                                   鋪和一個倉庫(default=10000),當生成的記錄數達到該值時,資料生成

                                   任務結束

資料庫簡介

資料庫表選自于我的另外一個中台項目foundation

foundation_user

        user,使用者表

        individual_user_general,個人使用者基本資訊

        user_account,使用者賬号資訊,适用各種類型的使用者

        user_email,使用者的email

        user_phone,使用者的電話

foundation_store

        store,店鋪表

        store_general,店鋪基本資訊

        store_user_relationship,如果把使用者ID字段放在store表中,表明店鋪屬于某個使用者,但是如果有多個使用者可以管理這個店鋪呢?有種做法是一個使用者作為另一個使用者的子賬号;也可以建立使用者與店鋪的關聯關系,這樣感覺更符合邏輯。把使用者IID放在store表,可以很明确的表明店鋪的owner,如果是用關聯關系表的話,就需要明确的标明哪個使用者是owner,哪些使用者隻是管理這個店鋪的。

foundation_item

        item,物品(商品)表

        item_general,物品基本資訊

        item_description,物品描述資訊

        item_variation,物品規格

foundation_commons

        phone,電話表

        email,郵箱表

        property_key,屬性的key

        property_value,屬性的值

項目github位址

mysql-tester

https://codechina.csdn.net/mirrors/wuda0112/mysql-tester?utm_source=csdn_github_accelerator

繼續閱讀