2009-02-26 17 views
104

Sto cercando consigli su uno strumento valido e gratuito per la generazione di dati di esempio ai fini del caricamento nei database di test. Per analogia, qualcosa che produce il testo "lorem ipsum" per qualsiasi RDBMS. Le caratteristiche che sto cercando includono:Strumenti per la generazione di dati fittizi?

  • Flessibilità di generare dati per una definizione di tabella esistente.
  • Possibilità di generare set di dati piccoli e grandi (> 1 milione di righe o più).
  • Generare in formato di script SQL (INSERT istruzioni) oppure in un formato di file flat adatto all'importazione di massa (che di solito è più veloce).
  • Un'interfaccia della riga di comando per semplificare lo scripting.
  • Estensibile, open source, scritto in un linguaggio dinamico (questi sono gradevoli, non requisiti forti).

PS: Ho cercato una domanda duplicata su StackOverflow, ma non l'ho trovata. Se ce n'è uno, sarò grato di avere un puntatore.


Grazie per le ottime risposte a tutti! Dovrei modificare i miei requisiti che uso Mac OS X come ambiente di sviluppo principale, non Windows (sebbene io abbia detto che l'interfaccia della riga di comando è desiderabile e che praticamente esclude Windows). I suggerimenti specifici per Windows saranno senza dubbio utili ad altri lettori di questa domanda, però, quindi grazie.


Ecco la mia conclusione:

  • GenerateData:
    • PHP interfaccia web app, non riga di comando
    • limitata alla generazione di 200 record (o pagare $ 20 per la licenza a generare 5.000 record)
  • RedGate SQL Data Generator
    • non libero, prezzo di $ 295
    • richiede Windows, .NET, SQL Server
  • Visual Studio 2008 Database Edition
    • richiede Windows
    • richiede costose abbonamento MSDN o ISV
  • Banner Datadect
    • non libero, prezzo di $ 595
    • richiede Windows (?)
    • alcun supporto per MySQL (?)
    • GUI, non riga di comando o script gemma
  • Rubino Faker
    • modo troppo lento per usare ActiveRecord per il carico di dati bulk
  • Super Smack
    • principalmente un strumento di test di carico, con un generatore di dati casuali costruito in
    • pr Etty semplice da usare, tuttavia,
    • nel complesso un buon runner-up strumento
  • Databene Benerator
    • soluzione migliore per le mie esigenze
    • script XML, compatibili con DBUnit
    • open source (GPL) codice Java
    • della riga di comando utilizzo
    • accedere a molte banche dati direttamente tramite JDBC
+0

Questo è simile in natura, ed è interessante nella sua propria luce: http://en.wikipedia.org/wiki/Fuzz_testing – grieve

+0

GenerateData è un'applicazione php. puoi hackerare il codice per generare qualsiasi quantità di record di dati che desideri. per V2.x. Non so se 3.x cambia la licenza. –

+0

Inoltre puoi controllare [Data Constructor] (http://www.dataconstructor.com/) –

risposta

41

Dai uno sguardo allo databene benerator, un generatore di dati di prova che sembra vicino alle tue esigenze.

  • può generare dati per una definizione di tabella esistente (o anche anonimi i dati di produzione)
  • può generare set di dati larges (dimensioni illimitate)
  • Supporta vari ingresso (CSV, file flat, DBUnit) e il formato di output (CSV, file flat, DBUnit, XML, Excel, script)
  • può essere usato sulla riga di comando o tramite un plugin Maven
  • è open source e personalizzabile

Vorrei fare un tentativo.

BTW, un elenco di similar products è disponibile sul sito Web del databene benerator.

+0

qualcuno ha avuto successo con il suo utilizzo? L'ho provato, ma il wizard del benerator genera un file pom.xml non valido (per l'opzione "Populate database"). Inoltre, andare per uno dei demo (hsqldb) con Maven comporta anche degli errori. A me sembra che lo strumento non sia in una buona forma, quindi non vale la pena perdere tempo con esso. –

23

Questo sembra abbastanza promettente: generatedata.com. Open-source, ha molti tipi di dati integrati.

Ci sono molti altri elencati qui: Test (Sample) Data Generators. Non ho esperienza con nessuno di loro, ma alcuni in quella lista sembrano abbastanza decenti.

1

So che non stai cercando il testo attuale di lorem ipsum; ma nel caso in cui qualcun altro cerchi un vero generatore di lorem ipsum e trovi questo thread: lipsum.com fa un ottimo lavoro.

+0

Grazie per il link, ma sì non è quello che stavo cercando. –

+0

C'è anche un plugin per Firefox chiamato Dummy Lipsum, è utile! Spiacente non posso aiutare Bill :( – alex

2

Se si sta cercando o volendo utilizzare qualcosa di specifico per MySQL, è possibile dare un'occhiata a Super Smack. Attualmente è gestito da Tony Bourke.

Super Smack consente di generare dati casuali da inserire nelle tabelle del database. È personalizzabile e consente di utilizzare il file words.dat in pacchetto o qualsiasi dato di test di propria scelta.

Una delle cose positive è che la riga di comando è altamente personalizzabile. Ci sono alcuni esempi abbastanza decenti di utilizzo nel libro High Performance MySQL che è anche excerpted here.

Non sono sicuro se questo è in linea con quello che stai cercando, ma solo un pensiero.

+0

Sembra promettente! Suppone che supporta PostgreSQL e MySQL. Grazie per il collegamento. –

2

Uno script di Ruby con uno dei generatori di dati falsi disponibili dovrebbe fare proprio bene.

http://faker.rubyforge.org/ è una di queste gemme. Sfortunatamente, questo non soddisfa tutte le tue esigenze.

Ecco un altro: http://random-data.rubyforge.org/

e un tutorial per l'utilizzo di Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE: Flessibilità per generare i dati per una definizione di tabella esistente. Combina la gemma Faker con uno degli ORM disponibili. ActiveRecord sarebbe probabilmente il più semplice.

+0

Hai provato a fare un carico di massa di> 1 milione di righe, una riga alla volta attraverso un ActiveRecord interfaccia? Non sono ottimista sul tempo di completamento. –

+0

Inoltre, ho usato la gemma Faker oggi in alcuni passaggi Feature Cucumber e la sua S L O W. Quindi, il mio punteggio finora: ActiveRecord -1; Faker -1 Non sto andando molto bene. :) – brendanjerwin

0

risposta non direttamente alla tua domanda, ma questo può essere utile per certo tipo di dati:

Fake Name Generator può essere utile - http://www.fakenamegenerator.com/, non per tutto, ma gli account utente o cose del genere. AFAIK Forniscono supporto per l'ordine all'ingrosso.

+0

Sì, ho dato un'occhiata ma non sembra offrire la flessibilità che sto cercando. Grazie comunque per il link. –

1
Non

libero, ma Visual Studio 2008 Database Edition è una buona alternativa e fornisce molto più funzionalità (Integrazione con SCC, Unit Testing, DB refactoring, ecc ...)

+0

Sembra essere disponibile solo tramite un abbonamento MSDN che costa $ 5469 all'anno. Per quella somma di denaro, potrei assumere alcuni studenti universitari per inventare i dati dei test e scriverli. –

5

So che hai detto che stavi cercando un libero strumento, ma questo è un caso in cui vorrei suggerire che spendere $ 295 ti ripagherà velocemente in tempo risparmiato. Sto usando lo strumento RedGate SQL Data Generator per l'ultimo anno ed è, per essere breve, uno strumento fantastico. Permette di impostare le dipendenze tra le colonne, genera dati realistici per oggetti di business come numeri di telefono, url, nomi, ecc. Posso onestamente affermare che questo strumento si è ripagato di volta in volta.

+0

Sì, non sono contrario a spendere $ 295 per risparmiare molte centinaia in fase di sviluppo. Grazie per il piombo! –

2

Normalmente molto costoso, ma se si è un piccolo ISV è possibile ottenere Visual Studio 2008 Database Edition molto a buon mercato, vedere le promozioni e bizspark. Fornisce molte più funzionalità quindi solo la generazione di dati di test (Integrazione con SCC, Unit Testing, DB Refactoring, ecc.)

Come mi piace il fatto che gli strumenti Red-Grate sono così facili da imparare, vorrei ancora vedere SQL Data Generator

+0

Sì, è meno costoso, nell'ordine dello stesso prezzo dello strumento di RedGate, ma in aggiunta devi qualificarti come ISV e questo significa acquistare altre cose. Grazie per il collegamento comunque, senza dubbio sarà utile per qualcuno. +1 –

1

io uso uno strumento chiamato Datatect:

  1. genera dati da file flat o qualsiasi database compatibile ODBC.
  2. Estendibile tramite VBScript.
  3. Referentially aware; popolerà le chiavi esterne con valori dalla tabella padre.
  4. I dati sono sensibili al contesto; città, stato e numeri di telefono per determinati codici postali, nomi e titoli con genere.
  5. Può creare tipi di dati personalizzati e complessi.
  6. Genera oltre 2 miliardi di nomi propri, nomi di aziende, indirizzi, città, stati e codici postali.

Ho utilizzato questo strumento per generare fino a 40.000.000 di righe di dati in un database SQLServer e 8.000.000 di dati in un database Oracle.

Non sono in alcun modo affiliato con Banner Systems, solo un cliente soddisfatto.

+0

Sembra un'opzione promettente. Grazie per il link. +1 Tuttavia, non sviluppo su Windows come piattaforma principale, mi spiace di non averlo specificato nella mia domanda. –

0

+1 per Benerator: ho provato 3 o 4 degli altri strumenti offerti (incluso dbmonster) ma ho trovato Benerator molto veloce, per fornire dati realistici e per essere flessibile. Ho anche ottenuto un riscontro molto rapido con lo & feedback utile dal creatore dello strumento quando ho postato sul forum.

6

Prova http://www.mockaroo.com

Questo è uno strumento la mia società ha fatto per aiutare a testare le nostre applicazioni. L'abbiamo reso disponibile gratuitamente a chiunque. È fondamentalmente la gemma rubino di Forgery con un'app web avvolta attorno ad essa. È possibile generare dati nei formati CSV, txt o SQL. Spero che questo ti aiuti.

+0

Grazie per il suggerimento, controllerò io! –

2

uno strumento che in realtà non dovrebbe mancare nella lista è il generatore di dati da Datanamic che popola i database direttamente o genera gli script di inserimento, ha una grande collezione di generatori preinstallati (e supporta più database ...

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

+0

Grazie per il suggerimento. Va notato che è solo per piattaforma Windows e costa $ 799. –

1

per OS X ci sono dati Creator (US $ 7). il download è gratuito per scopi di test. si può usare per valutare il software e le sue caratteristiche.

si richiede OS X Lion o successivo. Può generare un sacco di diversi tipi di campo e ha una modalità di esportazione personalizzata più alcuni pre-impostati (TSV, CSV, tabella Html, pagina web con tabella interna).

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

qui su App Store:

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

1

È possibile utilizzare DbSchema, www.dbschema.com è uno strumento di gestione di database e ha un generatore di dati casuali per popolare il database .

Problemi correlati