Wenn Sie versuchen, ein effizientes Datenbankdesign zu entwickeln, sollten Sie am besten zwei Beispieldatenbanken erstellen, diese mit Daten füllen und einige Abfragen ausführen, um festzustellen, welche Datenbank eine bessere Leistung erbringt.
Gibt es ein Tool, das relativ schnell große (~ 10.000 Datensätze) Testdatensätze generiert (im Idealfall direkt in die Datenbank)? Ich suche etwas, das zumindest mit MySQL funktioniert.
Normalerweise erstelle ich meine eigenen Daten, wobei ich einige bekannte Daten als Eingabe verwende. Wenn diese zu zufällig sind, ist dies 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 in der Regel eine andere Untersuchung als Eingabe verwenden und sie neu skalieren und Jitter hinzufügen. (z. B. Aufnehmen von Daten mit einer 5-minütigen Trittfrequenz mit Millisekunden-Genauigkeit und Umwandeln in eine 10-sekündige Trittfrequenz mit einer Millisekunden-Genauigkeit, jedoch mit einem zeitlichen Jitter von +/- 100 ms)
...
Wenn Sie jedoch nicht selbst schreiben möchten, sollten Sie sich einige der Benchmarking-Tools ansehen. Sie können sie zum Einfügen von Lots verwenden, da sie anhand eines Trainingssatzes immer wieder verwendet werden können 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 ist.
quelle
Ich habe mysqlslap benutzt. Es räumt auch nach sich selbst auf.
Hier ist der Artikel, den ich gelesen habe, als ich damit angefangen habe.
quelle
Schauen Sie sich benerator an
Es ist nicht einfach anzufangen, aber es ist ziemlich mächtig.
quelle
Schauen Sie sich diese Funktion an. Sie können Namen, Telefonnummern, Postleitzahlen usw. usw. generieren. Dies geschieht in MYSQL vollständig, ohne dass andere Anwendungen erforderlich sind. http://moinne.com/blog/ronald/mysql/howto-generate-meaningful-test-data-using-a-mysql-function
quelle
Der kostengünstigste Weg ist wahrscheinlich die Verwendung eines Open Source- oder kommerziellen Datengenerators. Ich hab das früher auch immer gemacht.
Jetzt, in meinen goldenen Jahren, betrachte ich jedes Bedürfnis nach Testdaten als ein Mandat, um eine andere Skriptsprache zu lernen.
quelle
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 einen großen Datensatz generieren, der von 1 bis 100 Millionen Zeilen realistischer Testdaten reicht. Hier ist ein Blog-Post darüber. http://www.simego.com/Blog/2012/02/Test-Data-Generator-Download-for-Data-Sync 15 Tage lang kostenlos verwenden (sobald Sie Ihre Testdaten haben, haben Sie sie)
quelle