it-swarm.dev

Narzędzie do generowania dużych zestawów danych testowych

Wiele razy, gdy próbujemy wymyślić skuteczny projekt bazy danych, najlepszym rozwiązaniem jest zbudowanie dwóch przykładowych baz danych, wypełnienie ich danymi i uruchomienie kilku zapytań, aby sprawdzić, która z nich działa lepiej.

Czy istnieje narzędzie, które stosunkowo szybko wygeneruje (najlepiej bezpośrednio do bazy danych) duże (~ 10 000 rekordów) zestawy danych testowych? Szukam czegoś, co przynajmniej działa z MySQL.

25
BenV

Najlepszym narzędziem (jeśli możesz je znaleźć) jest DataFactory. (Niestety skończył się druk). Wygenerowałem z niego absolutnie zachwycające (i dość autentycznie wyglądające) zbiory danych.

Generatedata.com jest ... akceptowalna, ale nie skaluje się zbyt dobrze.

DataGenerator jest czymś, na co warto mieć oko.

I chociaż DTM Data Generator jest niezgrabny i kiepski zamiennik DataFactory, istnieje i jest sprzedawany, a ja użyłem go do generowania danych, które są do przyjęcia.

12

RedGate ma narzędzie podobne do tego, czego szukasz, ale jego przeznaczeniem jest MS SQL Server.

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

Możesz także sprawdzić następujący artykuł:

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

9
Jeff

Zwykle generuję własne, używając niektórych znanych danych jako danych wejściowych - jeśli to też losowo, nie zawsze jest to dobry test; Potrzebuję danych, które będą dystrybuowane podobnie do mojego produktu końcowego.

Wszystkie większe bazy danych, które muszę dostroić, mają charakter naukowy - dlatego zwykle mogę wziąć inne dane jako dane wejściowe, przeskalować je i dodać jitter. (np. biorąc dane z pięciominutową kadencją z milisekundową precyzją i przekształcając je w 10-sekundową kadencję z precyzją milisekundową, ale jitter +/- 100 ms do czasów)

...

Ale jako kolejna alternatywa, jeśli nie chcesz pisać własnych, to przyjrzeć się niektórym narzędziom do analizy porównawczej - ponieważ mogą one powtarzać rzeczy w kółko na podstawie zestawu szkoleniowego, możesz ich używać do wstawiania partii rekordów (a następnie po prostu zignoruj ​​raporty o tym, jak szybko to zrobiło) ... a następnie możesz użyć tego samego narzędzia do testowania szybkości działania bazy danych po zapełnieniu.

4
Joe

Korzystałem z mysqlslap. Oczyszcza się także po sobie.

Oto artykuł Przeczytałem, kiedy zacząłem go używać.

3
SteveHarville

Spójrz na tę funkcję. Możesz generować nazwy, numery telefonów, kody pocztowe itp. Jest to całkowicie zrobione w MYSQL bez potrzeby innych aplikacji. http://moinne.com/blog/ronald/mysql/howto-generate-meaningful-test-data-using-a-mysql-function

2
Sean Thompson

Spójrz na benerator

Na początku nie jest łatwo, ale jest dość potężny.

2

Najbardziej opłacalnym sposobem jest prawdopodobnie użycie generatora danych typu open source lub komercyjnego. Kiedyś to robiłem.

Teraz, w moich złotych latach, każdą potrzebę danych testowych traktuję jako mandat do nauki innego języka skryptowego.

Dla każdego, kto szuka innego rozwiązania tego problemu ... Napisałem testowy projekt generatora danych dla Data Synchronization Studio. Może generować duży zestaw danych, od 1 do 100 milionów wierszy realistycznych danych testowych. Oto post na blogu na ten temat. http://www.simego.com/Blog/2012/02/Test-Data-Generator-Download-for-Data-Sync Korzystanie z niego jest bezpłatne przez 15 dni (po uzyskaniu danych testowych , masz to)

1
Tremayne Christ