it-swarm.it

Strumento per generare grandi set di dati di dati di test

Molte volte, quando si tenta di elaborare una progettazione di database efficiente, la migliore linea d'azione è quella di creare due database di esempio, riempirli di dati ed eseguire alcune query su di essi per vedere quale si comporta meglio.

Esiste uno strumento che genererà (idealmente direttamente nel database) grandi (~ 10.000 record) serie di dati di test relativamente rapidamente? Sto cercando qualcosa che almeno funzioni con MySQL.

25
BenV

Lo strumento migliore (se riesci a trovarlo) è DataFactory. (Purtroppo fuori stampa). Ho generato dei set di dati assolutamente deliziosi (e piuttosto autentici) da esso.

Generatedata.com è ... accettabile, ma non si adatta molto bene.

DataGenerator è qualcosa da tenere d'occhio.

E mentre DTM Data Generator è grosso e un cattivo sostituto di DataFactory, esiste e viene venduto, e l'ho usato per generare dati leggermente accettabili.

12

RedGate ha uno strumento simile a quello che stai cercando, ma la sua destinazione è destinata a essere MS SQL Server.

http://www.red-gate.com/products/sql-development/sql-data-generator

Puoi anche consultare il seguente articolo:

http://www.sqlservercentral.com/articles/Advanced+Querying/jointestdata/197/

9
Jeff

Generalmente genera il mio, usando alcuni dati noti come input - se è troppo casuale, non è sempre un buon test; Ho bisogno di dati che verranno distribuiti in modo simile al mio prodotto finale.

Tutti i database più grandi che devo ottimizzare sono di natura scientifica, quindi di solito posso prendere qualche altra indagine come input, ridimensionarla e aggiungere jitter. (ad esempio, prendendo i dati con una cadenza di 5 minuti con precisione in millisecondi e trasformandoli in una cadenza di 10 secondi con precisione in millisecondi ma un jitter di +/- 100 ms ai tempi)

...

Ma, come altra alternativa, se non vuoi scrivere il tuo, è guardare alcuni degli strumenti di benchmarking - poiché possono ripetere più e più volte le cose sulla base di un set di formazione, puoi usarli per inserire un sacco dei record (e quindi semplicemente ignorare i report sulla velocità con cui è stato eseguito) ... e quindi è possibile utilizzare lo stesso strumento per testare la velocità con cui il database esegue una volta popolato.

4
Joe

Sto usando mysqlslap. Pulisce anche dopo se stesso.

Ecco il articolo che ho letto quando ho iniziato a usarlo.

3
SteveHarville

Dai un'occhiata a questa funzione. È possibile generare nomi, indirizzi di numeri di telefono, codici postali, ecc. Questo è completamente fatto in MYSQL senza bisogno di altre applicazioni. http://moinne.com/blog/ronald/mysql/howto-generate-meaningful-test-data-using-a-mysql-function

2
Sean Thompson

Dai un'occhiata a generatore

Non è facile iniziare, ma è abbastanza potente.

2

Il modo più economico è probabilmente quello di utilizzare un generatore di dati commerciale o open source. Lo facevo una volta.

Ora, nei miei anni d'oro, considero ogni necessità di dati di test come un mandato per imparare un altro linguaggio di scripting.

Per chiunque cerchi una soluzione diversa a questo problema ... Ho scritto un progetto di generatore di dati di prova per Data Synchronization Studio. Può generare un set di dati di grandi dimensioni che va da 1 a 100 milioni di milioni di righe di dati di test realistici. Ecco un post sul blog a riguardo. http://www.simego.com/Blog/2012/02/Test-Data-Generator-Download-for-Data-Sync È gratuito per 15 giorni (una volta che hai i dati del test , lo avete)

1
Tremayne Christ