Narzędzia do generowania makiet danych? [zamknięte]

Poszukuję dobrego, darmowego narzędzia do generowania przykładowych danych w celu wczytania do testowych baz danych. Przez analogię, coś, co tworzy tekst" Lorem ipsum " dla dowolnego RDBMS. Cechy, których szukam to:

  • elastyczność w generowaniu danych dla istniejącej definicji tabeli.
  • możliwość generowania małych i dużych zbiorów danych (>1 mln wierszy lub więcej).
  • Generowanie w formacie skryptu SQL (INSERT) lub w płaskim pliku format odpowiedni do importu zbiorczego(który jest zwykle szybszy).
  • interfejs wiersza poleceń do łatwego tworzenia skryptów.
  • Extensible, open source, napisany w dynamicznym języku(są to ładne, a nie silne wymagania).

PS: Szukałem zduplikowanego pytania na StackOverflow, ale żadnego nie znalazłem. Jeśli taki jest, Będę wdzięczny za wskazanie.


Dzięki za wspaniałe odpowiedzi wszystkim! Powinienem zmienić moje wymagania, że używam Mac OS X jako moje podstawowe środowisko programistyczne, a nie Windows (choć powiedziałem, że interfejs wiersza poleceń jest pożądany, a to praktycznie wyklucza Windows). Sugestie dotyczące Windows bez wątpienia przydadzą się innym czytelnikom tego pytania, więc dzięki.


Oto mój wniosek:

  • generated:
    • interfejs PHP web app, nie wiersz poleceń
    • ograniczone do generowania 200 rekordów (lub zapłacić $20 za licencję do generowania 5000 records)
  • RedGate SQL Data Generator
    • nie za darmo, Cena 295 $
    • wymaga 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 $
    • wymaga systemu Windows (?)
    • Brak wsparcia dla MySQL (?)
    • GUI, a nie wiersz poleceń czy skrypt
  • Ruby Faker gem
    • zbyt wolno używać ActiveRecord do masowego ładowania danych
  • Super Smack
    • głównie narzędzie do testowania obciążenia, z wbudowanym generatorem danych losowych
    • dość prosty w użyciu
    • ogólnie dobre narzędzie]}
  • Databene Benerator
    • najlepsze rozwiązanie dla moich potrzeb
    • Skrypty XML, kompatybilne z DbUnit
    • open source (GPL) Java code
    • użycie wiersza poleceń
    • Dostęp do wielu baz danych bezpośrednio przez JDBC
Author: Robert Harvey, 2009-02-26

16 answers

Spójrz na databene benerator , generator danych testowych, który wygląda blisko twoich wymagań.

    Może generować dane dla istniejącej definicji tabeli (lub nawet anonimizować dane produkcyjne)
  • może generować duży zestaw danych (nieograniczony rozmiar)
  • obsługuje różne formaty wejściowe (CSV, pliki płaskie, Dbunit) i wyjściowe (CSV, pliki płaskie, Dbunit, XML, Excel, Skrypty)
  • może być używany w wierszu poleceń lub za pomocą wtyczki maven
  • otwarte źródło i Konfigurowalny

Ja bym spróbował.

BTW, lista podobnych produktów jest dostępna na stronie internetowej databene benerator.

 41
Author: Pascal Thivent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-06 22:55:46

To wygląda 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 z tej listy wygląda na całkiem przyzwoitych.

 23
Author: Chad Birch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-26 19:06:15

Try http://www.mockaroo.com

Jest to narzędzie, które moja firma stworzyła, aby pomóc w testowaniu własnych aplikacji. Udostępniliśmy go każdemu za darmo. Jest to w zasadzie fałszywy klejnot rubinowy z owiniętą wokół niego aplikacją internetową. Możesz generować dane w formatach CSV, txt lub SQL. Mam nadzieję, że to pomoże.

 6
Author: mockaroodev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 04:32:02

Wiem, że mówiłeś, że szukasz darmowego narzędzia, ale jest to jeden przypadek, w którym sugerowałbym, że wydanie $295 zwróci ci się szybko w zaoszczędzonym czasie. Używam narzędzia RedGate SQL Data Generator przez ostatni rok i jest to, krótko mówiąc, niesamowite narzędzie. Pozwala na ustawianie zależności między kolumnami, generuje realistyczne dane dla obiektów biznesowych, takich jak numery telefonów, adresy URL, nazwy itp. Mogę szczerze stwierdzić, że to narzędzie wielokrotnie się opłacało.

 5
Author: KevDog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-04 15:18:31

Jeśli szukasz lub chcesz użyć czegoś specyficznego dla MySQL, możesz rzucić okiem na Super Smack . Obecnie jest on utrzymywany przez Tony 'ego Bourke' a.

Super Smack pozwala na generowanie losowych danych do wstawienia do tabel bazy danych. Jest konfigurowalny, co pozwala na użycie spakowanych słów.plik dat lub dowolne dane testowe do wyboru.

Jedną z fajnych rzeczy jest to, że jest wysoce konfigurowalny wiersz poleceń. Jest kilka całkiem przyzwoitych przykładów wykorzystanie w książce High Performance MySQL, która jest również fragmentem tutaj .

Nie wiem, czy jest to zgodne z tym, czego szukasz, ale tylko myśl.

 2
Author: jonstjohn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-03 23:12:10

Skrypt Ruby z jednym z dostępnych generatorów fałszywych danych powinien Ci wystarczyć.

Http://faker.rubyforge.org / jest jednym z takich klejnotów. Niestety, to nie spełnia wszystkich twoich wymagań.

Oto kolejny: http://random-data.rubyforge.org/

Oraz 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 tabeli definicja. Połącz klejnot Fakera z jednym z dostępnych ORM. ActiveRecord byłby chyba najłatwiejszy.

 2
Author: brendanjerwin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-04 14:51:06

Normalnie bardzo kosztowne, ale jeśli jesteś małym ISV możesz dostać Visual Studio 2008 Database Edition bardzo tanio, zobacz promocje empower i bizspark . Dostarcza o wiele więcej funkcjonalności niż tylko generowanie danych testowych (integracja z SCC, testowanie jednostkowe, Refaktoryzacja DB, itp.)

Ponieważ podoba mi się fakt, że narzędzia Red-Grate są tak łatwe do nauczenia się, nadal chciałbym spojrzeć na SQL Data Generator

 2
Author: Ian Ringrose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-05 13:57:26

Narzędziem, którego naprawdę nie powinno zabraknąć na liście jest generator danych z Datanamic, który bezpośrednio zapełnia bazy danych lub generuje Skrypty insert, ma dużą kolekcję wstępnie zainstalowanych generatorów (i obsługuje wiele baz danych...

Http://www.datanamic.com/datagenerator/index.html

 2
Author: user2072139,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-14 13:58:10

Jeśli chcesz dowiedzieć się więcej na temat Lorem ipsum, skontaktuj się z nami, aby dowiedzieć się więcej na temat Lorem ipsum. lipsum.com świetnie się spisuje.

 1
Author: Jenn D.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-26 20:08:38

Nie za darmo, ale Visual Studio 2008 Database Edition jest dobrą alternatywą i zapewnia o wiele więcej funkcjonalności (integracja z SCC, testowanie jednostkowe, Refaktoryzacja DB, itp...)

 1
Author: bastos.sergio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-04 15:18:01

Używam narzędzia o nazwie Datatect :

  1. generuje dane do plików płaskich lub dowolnej bazy danych zgodnej z ODBC.
  2. rozszerzalny poprzez VBScript.
  3. Referentially aware; wypełni klucze obce wartościami z tabeli nadrzędnej.
  4. Dane są świadome kontekstu; miasto, stan i numery telefonów dla podanych kodów pocztowych, imiona i tytuły z płcią.
  5. może tworzyć niestandardowe, złożone typy danych.
  6. Wygeneruj ponad 2 miliardy nazw własnych, nazw firm, ulic adresy, miasta, stany i kody pocztowe.

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.

Nie jestem w żaden sposób związany z Banner Systems, tylko zadowolony klient.

 1
Author: Patrick Cuff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-07 15:49:50

Oto lista takich narzędzi (zarówno darmowych, jak i komercyjnych): http://c2.com/cgi/wiki?TestDataGenerator

 1
Author: IgorJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-11 20:48:43

Dla OS X jest Data Creator (US $ 7). Pobieranie jest bezpłatne dla celów testowych. Możesz go użyć do oceny oprogramowania i jego funkcji.

Wymaga OS X Lion lub kolejnych. Może generować wiele różnych typów pól i ma niestandardowy tryb eksportu oraz niektóre wstępnie ustawione (TSV, CSV, tabela Html, strona internetowa z tabelą w środku).

Http://www.tensionsoftware.com/osx/datacreator/

Tutaj w aplikacji Sklep:

Https://itunes.apple.com/us/app/data-creator/id491686136?mt=12

 1
Author: RPT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-04 16:26:56

Możesz użyć DbSchema, www.dbschema.com jest to narzędzie do zarządzania Bazą Danych i ma generator losowych danych do wypełnienia bazy danych.

 1
Author: user2143407,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-28 09:53:17

Nie jest to bezpośrednia odpowiedź na twoje pytanie, ale może to być pomocne dla pewnych danych:

Generator fałszywych nazw może być przydatny - http://www.fakenamegenerator.com / , nie dla wszystkiego, ale dla kont użytkowników czy tego typu rzeczy. AFAIK zapewniają wsparcie dla zamówienia zbiorczego.

 0
Author: dr. evil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-04 14:52:11

+ 1 dla Benerator: próbowałem 3 lub 4 innych dostępnych narzędzi (w tym dbmonster), ale benerator był bardzo szybki, dostarczał realistyczne Dane i był elastyczny. Otrzymałem również bardzo szybką i pomocną opinię od twórcy narzędzia, gdy pisałem na forum.

 0
Author: davek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-23 12:01:41