เครื่องมือสำหรับสร้างข้อมูลจำลอง? [ปิด]


104

ฉันกำลังมองหาคำแนะนำเกี่ยวกับเครื่องมือที่ดีและไม่เสียค่าใช้จ่ายในการสร้างข้อมูลตัวอย่างเพื่อวัตถุประสงค์ในการโหลดลงในฐานข้อมูลทดสอบ โดยการเปรียบเทียบสิ่งที่สร้างข้อความ " lorem ipsum " สำหรับ RDBMS ใด ๆ คุณสมบัติที่ฉันกำลังมองหา ได้แก่ :

  • ความยืดหยุ่นในการสร้างข้อมูลสำหรับนิยามตารางที่มีอยู่
  • ความสามารถในการสร้างชุดข้อมูลขนาดเล็กและขนาดใหญ่ (> 1 ล้านแถวขึ้นไป)
  • สร้างในรูปแบบสคริปต์ SQL ( INSERTคำสั่ง) หรือในรูปแบบไฟล์แบบแบนที่เหมาะสำหรับการนำเข้าจำนวนมาก (ซึ่งโดยปกติจะเร็วกว่า)
  • อินเทอร์เฟซบรรทัดคำสั่งสำหรับการเขียนสคริปต์ที่ง่ายดาย
  • โอเพนซอร์สที่ขยายได้ซึ่งเขียนด้วยภาษาไดนามิก (สิ่งเหล่านี้เป็นสิ่งที่ดีที่จะมีไม่ใช่ข้อกำหนดที่เข้มงวด)

PS: ฉันค้นหาคำถามที่ซ้ำกันใน StackOverflow แต่ไม่พบ ถ้ามีฉันจะขอบคุณที่ได้ชี้ไป


ขอบคุณสำหรับการตอบรับที่ดีทุกคน! ฉันควรแก้ไขข้อกำหนดของฉันที่ฉันใช้ Mac OS X เป็นสภาพแวดล้อมการพัฒนาหลักไม่ใช่ Windows (แม้ว่าฉันจะบอกว่าอินเทอร์เฟซบรรทัดคำสั่งเป็นที่พึงปรารถนาและในทางปฏิบัติก็ออกกฎ Windows) ข้อเสนอแนะเฉพาะของ Windows จะเป็นประโยชน์กับผู้อ่านคนอื่น ๆ ของคำถามนี้อย่างไม่ต้องสงสัยอย่างไรก็ตามขอบคุณ


นี่คือข้อสรุปของฉัน:

  • สร้างข้อมูล:
    • PHP เว็บอินเตอร์เฟสไม่ใช่บรรทัดคำสั่ง
    • จำกัด เพียงการสร้าง 200 บันทึก (หรือจ่าย $ 20 สำหรับใบอนุญาตในการสร้าง 5,000 บันทึก)
  • RedGate SQL Data Generator
    • ไม่ฟรีราคา $ 295
    • ต้องการ Windows, .NET, SQL Server
  • Visual Studio 2008 Database Edition
    • ต้องใช้ Windows
    • ต้องการการสมัคร MSDN หรือ ISV ที่มีค่าใช้จ่ายสูง
  • Banner Datadect
    • ไม่ฟรีราคา $ 595
    • ต้องใช้ Windows (?)
    • ไม่รองรับ MySQL (?)
    • GUI ไม่ใช่บรรทัดคำสั่งหรือสคริปต์
  • อัญมณี Ruby Faker
    • ช้าเกินไปที่จะใช้ ActiveRecord สำหรับการโหลดข้อมูลจำนวนมาก
  • Super Smack
    • ส่วนใหญ่เป็นเครื่องมือทดสอบโหลดที่มีตัวสร้างข้อมูลแบบสุ่มในตัว
    • ค่อนข้างใช้งานง่าย
    • โดยรวมแล้วเป็นเครื่องมือรองชนะเลิศที่ดี
  • Databene Benerator
    • ทางออกที่ดีที่สุดสำหรับความต้องการของฉัน
    • สคริปต์ XML เข้ากันได้กับ DbUnit
    • โอเพนซอร์ส (GPL) รหัส Java
    • การใช้งานบรรทัดคำสั่ง
    • เข้าถึงฐานข้อมูลจำนวนมากโดยตรงผ่าน JDBC

สิ่งนี้มีลักษณะคล้ายกันและน่าสนใจในแง่ของมันเอง: en.wikipedia.org/wiki/Fuzz_testing
เสียใจ

GenerateData เป็นแอปพลิเคชัน php คุณสามารถแฮ็กโค้ดเพื่อสร้างบันทึกข้อมูลจำนวนเท่าใดก็ได้ที่คุณต้องการ สำหรับ V2.x. ฉันไม่รู้ว่า 3.x เปลี่ยนใบอนุญาตหรือไม่
Han Zheng

นอกจากนี้คุณสามารถตรวจสอบData Constructor
Agnius Vasiliauskas

คำตอบ:


41

ดูที่ตัวสร้างฐานข้อมูลซึ่งเป็นเครื่องมือสร้างข้อมูลทดสอบที่ใกล้เคียงกับความต้องการของคุณ

  • มันสามารถสร้างข้อมูลสำหรับนิยามตารางที่มีอยู่ (หรือแม้กระทั่งข้อมูลการผลิตที่ไม่ระบุตัวตน)
  • สามารถสร้างชุดข้อมูลขนาดใหญ่ (ขนาดไม่ จำกัด )
  • รองรับอินพุตต่างๆ (CSV, Flat Files, DBUnit) และรูปแบบเอาต์พุต (CSV, Flat Files, DBUnit, XML, Excel, Scripts)
  • สามารถใช้กับบรรทัดคำสั่งหรือผ่านปลั๊กอิน maven
  • เป็นโอเพ่นซอร์สและปรับแต่งได้

ฉันจะลองดู

BTW รายการผลิตภัณฑ์ที่คล้ายคลึงกันมีอยู่ในเว็บไซต์ของ databene Bender


ใครประสบความสำเร็จกับการใช้งาน? ฉันลองใช้แล้ว แต่ตัวช่วยสร้างพื้นฐานสร้างไฟล์ pom.xml ที่ไม่ถูกต้อง (สำหรับตัวเลือก "เติมฐานข้อมูล") ยิ่งไปกว่านั้นสำหรับหนึ่งในการสาธิต (hsqldb) ด้วย maven ก็ส่งผลให้เกิดข้อผิดพลาดเช่นกัน สำหรับฉันดูเหมือนว่าเครื่องมือจะไม่อยู่ในสภาพดีจึงไม่คุ้มที่จะเสียเวลาไปกับมัน
Peter Butkovic

23

ลักษณะนี้ค่อนข้างมีแนวโน้ม: generatedata.com โอเพ่นซอร์สมีประเภทข้อมูลในตัวมากมาย

: มีคนอื่น ๆ หลายรายการที่นี่มีการทดสอบ (ตัวอย่าง) เครื่องปั่นไฟข้อมูล ฉันไม่มีประสบการณ์กับพวกเขาเลย แต่มีบางส่วนในรายการนั้นดูเหมือนว่าพวกเขาจะค่อนข้างดี


6

ลองhttp://www.mockaroo.com

นี่เป็นเครื่องมือที่ บริษัท ของฉันสร้างขึ้นเพื่อช่วยทดสอบแอปพลิเคชันของเราเอง เราทำให้ทุกคนใช้งานได้ฟรี โดยพื้นฐานแล้วมันคืออัญมณีทับทิม Forgery ที่มีเว็บแอปล้อมรอบอยู่ คุณสามารถสร้างข้อมูลในรูปแบบ CSV, txt หรือ SQL หวังว่านี่จะช่วยได้


ขอบคุณสำหรับเคล็ดลับฉันจะลองดู!
Bill Karwin

5

ฉันรู้ว่าคุณบอกว่าคุณกำลังมองหาเครื่องมือฟรี แต่นี่เป็นกรณีหนึ่งที่ฉันขอแนะนำว่าการใช้จ่าย $ 295 จะคืนทุนให้คุณอย่างรวดเร็วทันเวลา ฉันใช้เครื่องมือ RedGate เครื่องมือสร้างข้อมูล SQLในปีที่แล้วและมันสั้นเป็นเครื่องมือที่ยอดเยี่ยม ช่วยให้สามารถตั้งค่าการอ้างอิงระหว่างคอลัมน์สร้างข้อมูลที่เป็นจริงสำหรับวัตถุทางธุรกิจเช่นหมายเลขโทรศัพท์ URL ชื่อ ฯลฯ ฉันสามารถระบุได้อย่างตรงไปตรงมาว่าเครื่องมือนี้จ่ายเงินให้ตัวเองครั้งแล้วครั้งเล่า


ใช่ฉันไม่รังเกียจที่จะใช้จ่าย $ 295 เพื่อประหยัดเวลาในการพัฒนาหลายร้อย ขอบคุณสำหรับการติดตาม!
Bill Karwin

2

หากคุณกำลังมองหาหรือเต็มใจที่จะใช้สิ่งที่ MySQL เฉพาะคุณอาจจะดูที่ซูเปอร์ Smack ปัจจุบันดูแลโดย Tony Bourke

Super Smack ช่วยให้คุณสร้างข้อมูลแบบสุ่มเพื่อแทรกลงในตารางฐานข้อมูลของคุณ สามารถปรับแต่งได้ทำให้คุณสามารถใช้ไฟล์ word.dat แบบแพ็กเกจหรือข้อมูลการทดสอบใด ๆ ที่คุณเลือกได้

สิ่งที่ดีอย่างหนึ่งเกี่ยวกับเรื่องนี้คือบรรทัดคำสั่งสามารถปรับแต่งได้สูง มีตัวอย่างการใช้งานที่ดีพอสมควรในหนังสือMySQL ประสิทธิภาพสูงซึ่งตัดตอนมาที่นี่ด้วย

ไม่แน่ใจว่าเป็นไปตามแนวของสิ่งที่คุณกำลังมองหาหรือไม่ แต่เป็นเพียงแค่ความคิด


น่าดู! กล่าวว่ารองรับ PostgreSQL และ MySQL ขอบคุณสำหรับลิงค์
Bill Karwin

2

สคริปต์ Ruby ที่มีตัวสร้างข้อมูลปลอมตัวใดตัวหนึ่งน่าจะทำได้ดี

http://faker.rubyforge.org/เป็นอัญมณีชนิดหนึ่ง ขออภัยสิ่งนี้ไม่ตรงตามความต้องการของคุณทั้งหมด

นี่คืออีก: http://random-data.rubyforge.org/

และคำแนะนำสำหรับการใช้ Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE: ความยืดหยุ่นในการสร้างข้อมูลสำหรับนิยามตารางที่มีอยู่ รวมอัญมณี Faker เข้ากับหนึ่งใน ORM ที่มี ActiveRecord น่าจะง่ายที่สุด


คุณได้พยายามทำการโหลดจำนวน> 1 ล้านแถวทีละแถวผ่านอินเทอร์เฟซ ActiveRecord หรือไม่? ฉันไม่ได้มองโลกในแง่ดีเกี่ยวกับเวลาที่จะทำให้เสร็จ
Bill Karwin

นอกจากนี้ฉันยังใช้อัญมณี Faker ในวันนี้ในขั้นตอนฟีเจอร์ Cucumber และ SLO W. ดังนั้นคะแนนของฉันจนถึงตอนนี้: ActiveRecord -1; Faker -1 ฉันไม่ได้ยอดเยี่ยมขนาดนี้ :)
brendanjerwin

2

โดยปกติมีค่าใช้จ่ายสูงมาก แต่ถ้าคุณเป็น ISV ขนาดเล็กคุณจะได้รับVisual Studio 2008 Database Edition ในราคาถูกมากโปรดดูโปรโมชั่นเสริมพลังและbizspark มีฟังก์ชันการทำงานที่มากขึ้นจากนั้นเพียงแค่สร้างข้อมูลทดสอบ (การรวมกับ SCC, การทดสอบหน่วย, การปรับโครงสร้างฐานข้อมูล ฯลฯ )

เนื่องจากฉันชอบความจริงที่ว่าเครื่องมือ Red-Grate นั้นง่ายต่อการเรียนรู้ฉันก็ยังคงดูSQL Data Generator


ใช่มันมีค่าใช้จ่ายน้อยกว่าตามลำดับราคาเดียวกับเครื่องมือของ RedGate แต่นอกจากนี้คุณต้องมีคุณสมบัติเป็น ISV และนั่นหมายถึงการซื้อสิ่งอื่น ๆ ขอบคุณสำหรับลิงค์ไม่ต้องสงสัยเลยว่ามันจะมีประโยชน์สำหรับใครบางคน +1
Bill Karwin

2

เครื่องมือที่ไม่ควรหายไปจากรายการคือ Data Generator จาก Datanamic ที่เติมฐานข้อมูลโดยตรงหรือสร้างสคริปต์แทรกมีชุดเครื่องกำเนิดไฟฟ้าที่ติดตั้งไว้ล่วงหน้าจำนวนมาก (และรองรับฐานข้อมูลหลาย ...

http://www.datanamic.com/datagenerator/index.html


ขอบคุณสำหรับคำแนะนำ ควรสังเกตว่าสำหรับแพลตฟอร์ม Windows เท่านั้นและมีราคา 799 เหรียญ
Bill Karwin

1

ฉันรู้ว่าคุณไม่ได้มองหาข้อความ lorem ipsum ที่แท้จริง แต่ในกรณีที่มีคนค้นหาเครื่องกำเนิดlorem ipsum จริงและพบว่าหัวข้อนี้: lipsum.comทำได้ดีมาก


ขอบคุณสำหรับลิงค์ แต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา
Bill Karwin

นอกจากนี้ยังมีปลั๊กอินสำหรับ Firefox ชื่อ Dummy Lipsum ซึ่งมีประโยชน์! ขอโทษที่ช่วย Bill ไม่ได้ :(
อเล็กซ์

1

ไม่ฟรี แต่Visual Studio 2008 Database Editionเป็นทางเลือกที่ดีและมีฟังก์ชันการทำงานที่หลากหลายมากขึ้น (การผสานรวมกับ SCC, การทดสอบหน่วย, การปรับโครงสร้างฐานข้อมูล ฯลฯ ... )


ดูเหมือนว่าจะมีให้เฉพาะผ่านการสมัคร MSDN ที่มีค่าใช้จ่าย $ 5469 ต่อปี สำหรับเงินจำนวนนั้นฉันสามารถจ้างนักศึกษาบางคนเพื่อสร้างข้อมูลการทดสอบและพิมพ์ลงไป
Bill Karwin

1

ฉันใช้เครื่องมือที่เรียกว่าDatatect :

  1. สร้างข้อมูลไปยังไฟล์แบบแบนหรือฐานข้อมูลที่สอดคล้องกับ ODBC
  2. ขยายได้ผ่าน VBScript
  3. รู้อ้างอิง; จะเติมคีย์ต่างประเทศด้วยค่าจากตารางหลัก
  4. ข้อมูลเป็นบริบทที่รับรู้ เมืองรัฐและหมายเลขโทรศัพท์สำหรับรหัสไปรษณีย์ที่ระบุชื่อและชื่อพร้อมเพศ
  5. สามารถสร้างชนิดข้อมูลที่ซับซ้อนและกำหนดเองได้
  6. สร้างชื่อที่เหมาะสมชื่อธุรกิจที่อยู่เมืองรัฐและรหัสไปรษณีย์มากกว่า 2 พันล้านชื่อ

ฉันใช้เครื่องมือนี้เพื่อสร้างข้อมูลมากถึง 40,000,000 แถวไปยังฐานข้อมูล SQLServer และข้อมูล 8,000,000 แถวไปยังฐานข้อมูล Oracle

ฉันไม่มีส่วนเกี่ยวข้องกับ Banner Systems เพียงแค่ลูกค้าที่พึงพอใจ


ดูเหมือนว่าเป็นตัวเลือกที่มีแนวโน้ม ขอบคุณสำหรับลิงค์ +1 อย่างไรก็ตามฉันไม่ได้พัฒนาบน Windows เป็นแพลตฟอร์มหลักขอโทษที่ฉันไม่ได้ระบุสิ่งนั้นในคำถามของฉัน
Bill Karwin


1

สำหรับ OS X มี Data Creator (US $ 7) ดาวน์โหลดฟรีเพื่อการทดสอบ คุณสามารถใช้เพื่อประเมินซอฟต์แวร์และคุณสมบัติต่างๆ

ต้องใช้ OS X Lion หรือต่อเนื่อง สามารถสร้างฟิลด์ประเภทต่างๆได้มากมายและมีโหมดการส่งออกที่กำหนดเองรวมถึงการตั้งค่าล่วงหน้า (TSV, CSV, ตาราง Html, หน้าเว็บที่มีตารางอยู่ภายใน)

http://www.tensionsoftware.com/osx/datacreator/

ที่นี่ที่ App Store:

https://itunes.apple.com/us/app/data-creator/id491686136?mt=12


1

คุณสามารถใช้ DbSchema, www.dbschema.com เป็นเครื่องมือจัดการฐานข้อมูลและมี Random Data Generator เพื่อเติมฐานข้อมูลของคุณ


0

ไม่ใช่คำตอบโดยตรงสำหรับคำถามของคุณ แต่จะมีประโยชน์สำหรับข้อมูลบางประเภท:

เครื่องมือสร้างชื่อปลอมมีประโยชน์ - http://www.fakenamegenerator.com/ไม่ใช่สำหรับทุกอย่างยกเว้นบัญชีผู้ใช้หรือสิ่งต่างๆเช่นนั้น AFAIK ให้การสนับสนุนสำหรับการสั่งซื้อจำนวนมาก


ใช่ฉันดูแล้ว แต่ดูเหมือนจะไม่มีความยืดหยุ่นที่ฉันกำลังมองหา ขอบคุณสำหรับลิงค์
Bill Karwin

0

+1 สำหรับ Benerator: ฉันลองใช้เครื่องมืออื่น ๆ 3 หรือ 4 รายการที่มีให้ (รวมถึง dbmonster) แต่พบว่า Benerator นั้นรวดเร็วมากในการส่งมอบข้อมูลที่เป็นจริงและมีความยืดหยุ่น ฉันยังได้รับคำติชมที่รวดเร็วและเป็นประโยชน์จากผู้สร้างเครื่องมือเมื่อฉันโพสต์ในฟอรัม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.