Szukam rekomendacji dobrego, darmowego narzędzia do generowania przykładowych danych w celu załadowania do testowych baz danych. Analogicznie, coś, co tworzy tekst „ lorem ipsum ” dla dowolnego RDBMS. Funkcje, których szukam, obejmują:
- Elastyczność w generowaniu danych dla istniejącej definicji tabeli.
- Możliwość generowania małych i dużych zestawów danych (> 1 milion wierszy lub więcej).
- Generuj w formacie skryptu SQL (
INSERT
instrukcje) lub w płaskim formacie pliku odpowiednim do importu zbiorczego (który jest zwykle szybszy). - Interfejs wiersza poleceń do łatwego tworzenia skryptów.
- Rozszerzalne, open source, napisane w dynamicznym języku (są to przyjemne w użyciu, nie są surowe wymagania).
PS: Szukałem zduplikowanego pytania w StackOverflow, ale nie znalazłem żadnego. Jeśli istnieje, będę wdzięczny za wskazanie go.
Dzięki za świetne odpowiedzi wszystkim! Powinienem zmienić moje wymagania, aby używać Mac OS X jako mojego podstawowego środowiska programistycznego, a nie Windows (chociaż powiedziałem, że interfejs wiersza poleceń jest pożądany, a to praktycznie wyklucza Windows). Jednak sugestie dotyczące systemu Windows bez wątpienia będą przydatne dla innych czytelników tego pytania, więc dziękuję.
Oto mój wniosek:
- GenerateData:
- Interfejs aplikacji internetowej PHP, a nie wiersz poleceń
- ograniczone do wygenerowania 200 rekordów (lub zapłać 20 $ za licencję na generowanie 5000 rekordów)
- Generator danych SQL RedGate
- nie za darmo, cena 295 USD
- wymaga systemu Windows, .NET, SQL Server
- Visual Studio 2008 Database Edition
- wymaga systemu Windows
- wymaga kosztownej subskrypcji MSDN lub ISV
- Banner Datadect
- nie za darmo, cena 595 USD
- wymaga systemu Windows (?)
- brak wsparcia dla MySQL (?)
- GUI, a nie wiersz poleceń ani skryptów
- Klejnot Ruby Faker
- zbyt wolno, aby używać ActiveRecord do masowego ładowania danych
- Super Smack
- głównie narzędzie do testowania obciążenia, z wbudowanym generatorem danych losowych
- niemniej jednak dość prosty w użyciu
- ogólnie dobre narzędzie zajmujące drugie miejsce
- Databene Benerator
- najlepsze rozwiązanie dla moich potrzeb
- Skrypty XML zgodne z DbUnit
- kod Java open source (GPL)
- użycie wiersza poleceń
- dostęp do wielu baz danych bezpośrednio przez JDBC
źródło
Odpowiedzi:
Zapoznaj się z generatorem databene , generatorem danych testowych, który jest zbliżony do Twoich wymagań.
Spróbowałbym.
Przy okazji, lista podobnych produktów jest dostępna na stronie internetowej generatora databene.
źródło
Wygląda to całkiem obiecująco: generatedata.com . Open-source, ma wiele wbudowanych typów danych.
Istnieje kilka innych wymienionych tutaj: Testowe (przykładowe) generatory danych . Nie mam doświadczenia z żadnym z nich, ale kilka na tej liście wygląda na całkiem przyzwoitych.
źródło
Wypróbuj http://www.mockaroo.com
To narzędzie stworzone przez moją firmę, aby pomóc w testowaniu naszych własnych aplikacji. Zrobiliśmy to za darmo dla każdego. Jest to w zasadzie rubinowy klejnot Forgery z owiniętą wokół niego aplikacją internetową. Możesz generować dane w formacie CSV, txt lub SQL. Mam nadzieję że to pomoże.
źródło
Wiem, że powiedziałeś, że szukasz darmowego narzędzia, ale jest to jeden przypadek, w którym sugerowałbym, że wydanie 295 USD zwróci się szybko w zaoszczędzonym czasie. Używam narzędzia RedGate SQL Data Generator przez ostatni rok i jest to, mówiąc krótko, niesamowite narzędzie. Pozwala na ustalanie zależności między kolumnami, generuje realistyczne dane dla obiektów biznesowych, takich jak numery telefonów, adresy URL, nazwiska itp. Mogę szczerze stwierdzić, że to narzędzie wielokrotnie się zwróciło.
źródło
Jeśli szukasz lub chcesz użyć czegoś specyficznego dla MySQL, możesz rzucić okiem na Super Smack . Obecnie opiekuje się nim Tony Bourke.
Super Smack umożliwia generowanie losowych danych do wstawienia do tabel bazy danych. Jest konfigurowalny, co pozwala na użycie spakowanego pliku words.dat lub dowolnych wybranych danych testowych.
Jedną z fajnych rzeczy jest to, że jest to wiersz poleceń, który można w dużym stopniu dostosować. Istnieje kilka całkiem przyzwoitych przykładów użycia w książce High Performance MySQL, która jest również tutaj fragmentaryczna .
Nie jestem pewien, czy jest to zgodne z tym, czego szukasz, ale to tylko myśl.
źródło
Skrypt Ruby z jednym z dostępnych fałszywych generatorów danych powinien wystarczyć.
http://faker.rubyforge.org/ to jedna z takich perełek. Niestety, to nie spełnia wszystkich Twoich wymagań.
Oto kolejny: http://random-data.rubyforge.org/
I tutorial do używania Fakera: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/
RE: Elastyczność w generowaniu danych dla istniejącej definicji tabeli. Połącz klejnot oszusta z jednym z dostępnych ORMów. Najłatwiejszy byłby prawdopodobnie ActiveRecord.
źródło
Zwykle bardzo kosztowne, ale jeśli są małe ISV można uzyskać Visual Studio 2008 Database Edition bardzo tanio, zobacz Empower i BizSpark promocjach. Zapewnia o wiele więcej funkcji niż tylko generowanie danych testowych (integracja z SCC, testy jednostkowe, refaktoryzacja DB itp.)
Ponieważ podoba mi się fakt, że narzędzia Red-Grate są tak łatwe do nauczenia, nadal patrzę na SQL Data Generator
źródło
narzędziem, którego naprawdę nie powinno zabraknąć na liście, jest Generator danych firmy Datanamic, który bezpośrednio zapełnia bazy danych lub generuje skrypty wstawiania, ma dużą kolekcję wstępnie zainstalowanych generatorów (i obsługuje wiele baz danych ...
http://www.datanamic.com/datagenerator/index.html
źródło
Wiem, że nie szukasz prawdziwego tekstu lorem ipsum; ale na wypadek, gdyby ktoś inny szukał rzeczywistego generatora lorem ipsum i znalazł ten wątek: lipsum.com wykonuje świetną robotę.
źródło
Nie jest darmowy, ale Visual Studio 2008 Database Edition jest dobrą alternatywą i zapewnia dużo większą funkcjonalność (integracja z SCC, testy jednostkowe, refaktoryzacja bazy danych itp.)
źródło
Używam narzędzia o nazwie Datatect :
Użyłem tego narzędzia do wygenerowania aż 40 000 000 wierszy danych do bazy danych SQLServer i 8 000 000 wierszy danych do bazy danych Oracle.
W żaden sposób nie jestem związany z Banner Systems, tylko zadowolony klient.
źródło
Oto lista takich narzędzi (zarówno bezpłatnych, jak i komercyjnych): http://c2.com/cgi/wiki?TestDataGenerator
źródło
W przypadku OS X dostępny jest Kreator danych (7 USD). Pobieranie jest bezpłatne do celów testowych. Możesz go użyć do oceny oprogramowania i jego funkcji.
Wymaga systemu OS X Lion lub kolejnego. Może generować wiele różnych typów pól i ma niestandardowy tryb eksportu oraz pewne ustawienia wstępne (TSV, CSV, tabela Html, strona internetowa z tabelą w środku).
http://www.tensionsoftware.com/osx/datacreator/
tutaj w App Store:
https://itunes.apple.com/us/app/data-creator/id491686136?mt=12
źródło
Możesz użyć DbSchema, www.dbschema.com jest to narzędzie do zarządzania bazą danych i ma generator losowych danych do zapełniania bazy danych.
źródło
Nie jest to bezpośrednia odpowiedź na Twoje pytanie, ale może być pomocna w przypadku niektórych rodzajów danych:
Generator fałszywych nazw może być przydatny - http://www.fakenamegenerator.com/ , nie do wszystkiego, ale do kont użytkowników i tym podobnych. AFAIK Zapewniają obsługę zamówienia zbiorczego.
źródło
+1 dla Beneratora: Wypróbowałem 3 lub 4 inne oferowane narzędzia (w tym dbmonster), ale uznałem, że Benerator jest bardzo szybki, dostarcza realistyczne dane i jest elastyczny. Otrzymałem również bardzo szybką i pomocną informację zwrotną od twórcy narzędzia, kiedy pisałem na forum.
źródło