Alat untuk Menghasilkan Data Mock? [Tutup]

104

Saya mencari rekomendasi alat yang bagus dan gratis untuk menghasilkan data sampel untuk tujuan memuat ke dalam database pengujian. Dengan analogi, sesuatu yang menghasilkan teks " lorem ipsum " untuk setiap RDBMS. Fitur yang saya cari meliputi:

  • Fleksibilitas untuk menghasilkan data untuk definisi tabel yang ada.
  • Kemampuan untuk menghasilkan kumpulan data kecil dan besar (> 1 juta baris atau lebih).
  • Buat dalam format skrip SQL ( INSERTpernyataan) atau lainnya dalam format file datar yang sesuai untuk impor massal (yang biasanya lebih cepat).
  • Antarmuka baris perintah untuk pembuatan skrip yang mudah.
  • Dapat diperluas, open source, ditulis dalam bahasa dinamis (ini bagus untuk dimiliki, bukan persyaratan yang kuat).

PS: Saya memang mencari pertanyaan duplikat di StackOverflow, tetapi saya tidak menemukannya. Jika ada, saya akan berterima kasih untuk mendapatkan penunjuk ke sana.


Terima kasih atas tanggapan yang luar biasa semuanya! Saya harus mengubah persyaratan saya bahwa saya menggunakan Mac OS X sebagai lingkungan pengembangan utama saya, bukan Windows (meskipun saya mengatakan antarmuka baris perintah diinginkan, dan secara praktis mengesampingkan Windows). Saran khusus Windows tidak diragukan lagi akan berguna bagi pembaca lain dari pertanyaan ini, jadi terima kasih.


Inilah kesimpulan saya:

  • GenerateData:
    • Antarmuka aplikasi web PHP, bukan baris perintah
    • terbatas untuk menghasilkan 200 catatan (atau membayar $ 20 untuk lisensi menghasilkan 5.000 catatan)
  • RedGate SQL Data Generator
    • tidak gratis, harga $ 295
    • membutuhkan Windows, .NET, SQL Server
  • Visual Studio 2008 Database Edition
    • membutuhkan Windows
    • membutuhkan langganan MSDN atau ISV yang mahal
  • Banner Datadect
    • tidak gratis, harga $ 595
    • membutuhkan Windows (?)
    • tidak ada dukungan untuk MySQL (?)
    • GUI, bukan baris perintah atau skrip
  • Permata Ruby Faker
    • terlalu lambat untuk menggunakan ActiveRecord untuk pemuatan data massal
  • Super Smack
    • terutama alat pengujian beban, dengan generator data acak terpasang
    • cukup mudah digunakan
    • secara keseluruhan merupakan alat runner-up yang baik
  • Databene Benerator
    • solusi terbaik untuk kebutuhan saya
    • Skrip XML, kompatibel dengan DbUnit
    • kode Java open source (GPL)
    • penggunaan baris perintah
    • mengakses banyak database secara langsung melalui JDBC
Bill Karwin
sumber
Ini serupa di alam, dan menarik dalam cahaya sendiri: en.wikipedia.org/wiki/Fuzz_testing
berduka
GenerateData adalah aplikasi php. Anda dapat meretas kode untuk menghasilkan sejumlah catatan data yang Anda inginkan. untuk V2.x. Saya tidak tahu apakah 3.x mengubah lisensinya.
Han Zheng
Anda juga dapat memeriksa Pembuat Data
Agnius Vasiliauskas

Jawaban:

41

Lihatlah databene benerator , generator data uji yang terlihat mendekati kebutuhan Anda.

  • itu dapat menghasilkan data untuk definisi tabel yang ada (atau bahkan menganonimkan data produksi)
  • itu dapat menghasilkan kumpulan data yang besar (ukuran tidak terbatas)
  • ini mendukung berbagai input (CSV, Flat Files, DBUnit) dan format output (CSV, Flat Files, DBUnit, XML, Excel, Scripts)
  • itu dapat digunakan pada baris perintah atau melalui plugin maven
  • itu open source dan dapat disesuaikan

Saya akan mencobanya.

BTW, daftar produk serupa tersedia di situs web databene benerator.

Pascal Thivent
sumber
ada yang sukses dengan penggunaannya? Saya mencobanya, tetapi benerator-wizard menghasilkan file pom.xml yang tidak valid (untuk opsi "Isi database"). Apalagi pergi untuk salah satu demo (hsqldb) dengan hasil maven dalam kesalahan juga. Bagi saya sepertinya alat tersebut tidak dalam kondisi yang baik, sehingga tidak ada gunanya menghabiskan waktu dengannya.
Peter Butkovic
23

Ini terlihat cukup menjanjikan: generatedata.com . Sumber terbuka, memiliki banyak tipe data bawaan.

Ada beberapa lainnya yang terdaftar di sini: Generator Data Uji (Contoh) . Saya tidak memiliki pengalaman dengan salah satu dari mereka, tetapi beberapa di daftar itu sepertinya cukup baik.

Chad Birch
sumber
6

Coba http://www.mockaroo.com

Ini adalah alat yang dibuat perusahaan saya untuk membantu menguji aplikasi kita sendiri. Kami telah membuatnya gratis untuk digunakan siapa saja. Ini pada dasarnya adalah permata ruby ​​Forgery dengan aplikasi web yang melilitnya. Anda dapat menghasilkan data dalam format CSV, txt, atau SQL. Semoga ini membantu.

mockaroodev
sumber
Terima kasih atas tipnya, saya akan memeriksanya!
Bill Karwin
5

Saya tahu Anda mengatakan Anda sedang mencari alat gratis, tetapi ini adalah satu kasus di mana saya menyarankan bahwa menghabiskan $ 295 akan membayar Anda kembali dengan cepat dalam waktu yang dihemat. Saya telah menggunakan alat RedGate SQL Data Generator selama setahun terakhir dan ini, singkatnya, alat yang luar biasa. Ini memungkinkan untuk mengatur ketergantungan antar kolom, menghasilkan data realistis untuk objek bisnis seperti nomor telepon, url, nama, dll. Saya dapat dengan jujur ​​menyatakan bahwa alat ini telah membayar sendiri berkali-kali.

KevDog
sumber
Yup, saya tidak segan menghabiskan $ 295 untuk menghemat ratusan waktu pengembangan. Terima kasih atas petunjuknya!
Bill Karwin
2

Jika Anda mencari atau ingin menggunakan sesuatu yang khusus untuk MySQL, Anda dapat melihat Super Smack . Saat ini dikelola oleh Tony Bourke.

Super Smack memungkinkan Anda menghasilkan data acak untuk dimasukkan ke dalam tabel database Anda. Ini dapat disesuaikan, memungkinkan Anda untuk menggunakan file word.dat yang dikemas, atau data uji pilihan Anda.

Salah satu hal yang menyenangkan tentang itu adalah bahwa baris perintah sangat dapat disesuaikan. Ada beberapa contoh penggunaan yang cukup baik dalam buku MySQL Kinerja Tinggi yang juga dikutip di sini .

Tidak yakin apakah itu sejalan dengan apa yang Anda cari, tetapi hanya sebuah pemikiran.

jonstjohn
sumber
Terlihat menjanjikan! Mengatakan itu mendukung PostgreSQL serta MySQL. Terima kasih untuk tautannya.
Bill Karwin
2

Skrip Ruby dengan salah satu penghasil data palsu yang tersedia akan membantu Anda.

http://faker.rubyforge.org/ adalah salah satu permata tersebut. Sayangnya, ini tidak memenuhi semua kebutuhan Anda.

Ini satu lagi: http://random-data.rubyforge.org/

Dan tutorial untuk menggunakan Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE: Fleksibilitas untuk menghasilkan data untuk definisi tabel yang ada. Gabungkan permata Faker dengan salah satu ORM yang tersedia. ActiveRecord mungkin paling mudah.

brendanjerwin
sumber
Sudahkah Anda mencoba melakukan pemuatan massal> 1 juta baris, satu baris dalam satu waktu melalui antarmuka ActiveRecord? Saya tidak optimis tentang waktu penyelesaian.
Bill Karwin
Juga, saya menggunakan permata Faker hari ini dalam beberapa langkah Fitur Ketimun dan SLO W. Jadi, skor saya sejauh ini: ActiveRecord -1; Faker -1 Saya tidak melakukannya dengan baik. :)
brendanjerwin
2

Biasanya sangat mahal, tetapi jika Anda seorang ISV kecil Anda bisa mendapatkan Visual Studio 2008 Database Edition dengan harga sangat murah, lihat promosi di empower dan bizspark . Ini menyediakan lebih banyak fungsionalitas daripada hanya menghasilkan data uji (Integrasi dengan SCC, Pengujian Unit, Refactoring DB, dll.)

Karena saya menyukai fakta bahwa alat Red-Grate sangat mudah dipelajari, saya masih akan melihat SQL Data Generator

Ian Ringrose
sumber
Ya itu lebih murah, dengan urutan harga yang sama dengan alat RedGate, tetapi selain itu Anda harus memenuhi syarat sebagai ISV dan itu berarti membeli barang lain. Terima kasih untuk tautannya, tidak diragukan lagi itu akan berguna untuk seseorang. +1
Bill Karwin
2

alat yang benar-benar tidak boleh hilang dari daftar adalah Generator Data dari Datanamic yang mengisi database secara langsung atau menghasilkan skrip penyisipan, memiliki banyak koleksi generator yang sudah diinstal sebelumnya (dan mendukung banyak database ...

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

pengguna2072139
sumber
Terima kasih untuk sarannya. Perlu dicatat bahwa ini hanya untuk platform Windows, dan harganya $ 799.
Bill Karwin
1

Saya tahu Anda tidak sedang mencari teks lorem ipsum yang sebenarnya; tetapi jika ada orang lain yang mencari generator lorem ipsum yang sebenarnya dan menemukan utas ini: lipsum.com melakukan pekerjaannya dengan baik.

Jenn D.
sumber
Terima kasih untuk tautannya, tapi ya bukan itu yang saya cari.
Bill Karwin
Ada juga plugin untuk Firefox bernama Dummy Lipsum, ini berguna! Maaf saya tidak bisa membantu Bill :(
alex
1

Tidak gratis, tetapi Visual Studio 2008 Database Edition adalah alternatif yang baik dan menyediakan lebih banyak fungsionalitas (Integrasi dengan SCC, Unit Testing, DB Refactoring, dll ...)

bastos.sergio
sumber
Tampaknya hanya tersedia melalui langganan MSDN dengan biaya $ 5469 per tahun. Untuk sejumlah uang itu, saya dapat mempekerjakan beberapa mahasiswa untuk membuat data tes dan mengetiknya.
Bill Karwin
1

Saya menggunakan alat yang disebut Datatect :

  1. Menghasilkan data ke file datar atau database yang sesuai dengan ODBC.
  2. Dapat diperluas melalui VBScript.
  3. Sadar referensial; akan mengisi kunci asing dengan nilai dari tabel induk.
  4. Data sadar konteks; kota, negara bagian dan nomor telepon untuk kode pos tertentu, nama depan dan judul dengan jenis kelamin.
  5. Dapat membuat tipe data kustom dan kompleks.
  6. Hasilkan lebih dari 2 miliar nama diri, nama bisnis, alamat jalan, kota, negara bagian, dan kode pos.

Saya telah menggunakan alat ini untuk menghasilkan sebanyak 40.000.000 baris data ke database SQLServer, dan 8.000.000 baris data ke database Oracle.

Saya sama sekali tidak berafiliasi dengan Sistem Banner, hanya pelanggan yang puas.

Patrick Cuff
sumber
Sepertinya itu opsi yang menjanjikan. Terima kasih untuk tautannya. +1 Namun, saya tidak mengembangkan di Windows sebagai platform utama saya, maaf saya tidak menentukannya dalam pertanyaan saya.
Bill Karwin
1

Untuk OS X ada Data Creator (US $ 7). Download gratis untuk tujuan pengujian. Anda dapat menggunakannya untuk mengevaluasi perangkat lunak dan fitur-fiturnya.

Ini membutuhkan OS X Lion atau berturut-turut. Ini dapat menghasilkan banyak jenis bidang yang berbeda dan memiliki mode ekspor khusus ditambah beberapa pra-setel (TSV, CSV, tabel Html, halaman web dengan tabel di dalamnya).

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

di sini di App Store:

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

RPT
sumber
1

Anda dapat menggunakan DbSchema, www.dbschema.com, ini adalah alat manajemen database dan memiliki Random Data Generator untuk mengisi database Anda.

pengguna2143407
sumber
0

Bukan jawaban langsung atas pertanyaan Anda, tetapi ini dapat membantu untuk jenis data tertentu:

Generator Nama Palsu dapat berguna - http://www.fakenamegenerator.com/ , bukan untuk semua hal kecuali akun pengguna atau hal-hal seperti itu. AFAIK Mereka menyediakan dukungan untuk pesanan massal.

dr. jahat
sumber
Ya, saya telah melihatnya tetapi tampaknya tidak menawarkan fleksibilitas yang saya cari. Terima kasih untuk tautannya.
Bill Karwin
0

1 untuk Benerator: Saya mencoba 3 atau 4 alat lain yang ditawarkan (termasuk dbmonster) tetapi menemukan Benerator sangat cepat, untuk memberikan data yang realistis dan fleksibel. Saya juga mendapat umpan balik yang sangat cepat & bermanfaat dari pembuat alat ketika saya memposting di forum.

davek
sumber