it-swarm.com.de

Tool zum Generieren großer Datensätze von Testdaten

Wenn Sie versuchen, ein effizientes Datenbankdesign zu entwickeln, besteht die beste Vorgehensweise darin, zwei Beispieldatenbanken zu erstellen, sie mit Daten zu füllen und einige Abfragen gegen sie durchzuführen, um festzustellen, welche eine bessere Leistung erbringt.

Gibt es ein Tool, das relativ schnell (im Idealfall direkt in die Datenbank) große Sätze von Testdaten (~ 10.000 Datensätze) generiert? Ich suche etwas, das zumindest mit MySQL funktioniert.

25
BenV

Das beste Tool (wenn Sie es finden können) ist DataFactory. (Leider vergriffen). Ich habe absolut entzückende (und ziemlich authentisch aussehende) Datensätze daraus generiert.

Generatedata.com ist ... akzeptabel, lässt sich aber nicht sehr gut skalieren.

DataGenerator ist etwas, das Sie im Auge behalten sollten.

Und während DTM Data Generator klobig und ein schlechter Ersatz für DataFactory ist, existiert es und wird verkauft, und ich habe es verwendet, um leicht akzeptable Daten zu generieren.

12

RedGate verfügt über ein ähnliches Tool wie das, nach dem Sie suchen. Das Ziel ist jedoch MS SQL Server.

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

Sie können auch den folgenden Artikel lesen:

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

9
Jeff

Normalerweise generiere ich meine eigenen, indem ich einige bekannte Daten als Eingabe verwende - wenn es z zufällig ist, ist es nicht immer ein guter Test; Ich benötige Daten, die ähnlich wie mein Endprodukt verteilt werden.

Alle größeren Datenbanken, die ich optimieren muss, sind wissenschaftlicher Natur. Daher kann ich normalerweise andere Untersuchungen als Eingabe verwenden, sie neu skalieren und Jitter hinzufügen. (z. B. Daten mit einer Trittfrequenz von 5 Minuten mit einer Genauigkeit von Millisekunden aufnehmen und in eine Trittfrequenz von 10 Sekunden mit einer Genauigkeit von Millisekunden, aber einem Jitter von +/- 100 ms zu den Zeiten umwandeln)

...

Als weitere Alternative, wenn Sie keine eigenen schreiben möchten, sollten Sie sich einige der Benchmarking-Tools ansehen. Da sie die Dinge basierend auf einem Trainingssatz immer wieder wiederholen können, können Sie sie zum Einfügen von Losen verwenden von Datensätzen (und ignorieren Sie dann einfach die Berichte darüber, wie schnell es funktioniert hat) ... und dann können Sie dasselbe Tool verwenden, um zu testen, wie schnell die Datenbank nach dem Auffüllen funktioniert.

4
Joe

Ich habe mysqlslap verwendet. Es räumt auch nach sich selbst auf.

Hier ist der Artikel , den ich gelesen habe, als ich damit angefangen habe.

3
SteveHarville

Schauen Sie sich diese Funktion an. Sie können Namen, Telefonnummern, Adressen, Postleitzahlen usw. usw. generieren. Dies erfolgt vollständig in MYSQL, ohne dass andere Anwendungen erforderlich sind. http://moinne.com/blog/ronald/mysql/howto-generate-meaningful-test-data-using-a-mysql-function

2
Sean Thompson

Schauen Sie sich benerator an

Es ist nicht einfach anzufangen, aber es ist ziemlich mächtig.

Der kostengünstigste Weg ist wahrscheinlich die Verwendung eines Open Source- oder kommerziellen Datengenerators. Das hab ich damals auch getan.

Jetzt, in meinen goldenen Jahren, betrachte ich jedes Bedürfnis nach Testdaten als ein Mandat, um eine andere Skriptsprache zu lernen.

Für alle, die nach einer anderen Lösung für dieses Problem suchen ... Ich habe ein Testdatengeneratorprojekt für Data Synchronization Studio geschrieben. Es kann ein großer Datensatz generiert werden, der von 1 bis 100 Millionen Zeilen realistischer Testdaten reicht. Hier ist ein Blog-Beitrag darüber. http://www.simego.com/Blog/2012/02/Test-Data-Generator-Download-for-Data-Sync Die Nutzung ist 15 Tage lang kostenlos (sobald Sie Ihre Testdaten haben , Sie haben es)

1
Tremayne Christ