Инструменты для создания фиктивных данных? [закрыто]

104

Я ищу рекомендации хорошего бесплатного инструмента для генерации образцов данных с целью загрузки в тестовые базы данных. По аналогии, что-то, что производит текст « lorem ipsum » для любой СУБД. Функции, которые я ищу, включают:

  • Гибкость для создания данных для существующего определения таблицы.
  • Возможность создавать небольшие и большие наборы данных (> 1 миллион строк и более).
  • Генерировать в формате сценария SQL ( INSERTоператоры) или в формате плоского файла, подходящем для массового импорта (что обычно быстрее).
  • Интерфейс командной строки для удобного написания сценариев.
  • Расширяемый, открытый исходный код, написанный на динамическом языке (это неплохо, а не строгие требования).

PS: Я искал повторяющийся вопрос в StackOverflow, но не нашел. Если есть, буду благодарен получить указатель на него.


Спасибо всем за отличные отзывы! Я должен изменить свои требования и использовать Mac OS X в качестве основной среды разработки, а не Windows (хотя я сказал, что интерфейс командной строки желателен, а это практически исключает Windows). Предложения, относящиеся к Windows, несомненно, будут полезны другим читателям этого вопроса, поэтому спасибо.


Вот мой вывод:

  • GenerateData:
    • Интерфейс веб-приложения PHP, а не командная строка
    • ограничено созданием 200 записей (или заплатите 20 долларов за лицензию на создание 5000 записей)
  • Генератор данных RedGate SQL
    • не бесплатно, цена 295 $
    • требуется Windows, .NET, SQL Server
  • Выпуск базы данных Visual Studio 2008
    • требуется Windows
    • требует дорогостоящей подписки MSDN или ISV
  • Баннер Datadect
    • не бесплатно, цена 595 $
    • требуется Windows (?)
    • нет поддержки MySQL (?)
    • Графический интерфейс, а не командная строка или сценарии
  • Самоцвет Ruby Faker
    • слишком медленно, чтобы использовать ActiveRecord для массовой загрузки данных
  • Супер привкус
    • в основном инструмент для нагрузочного тестирования со встроенным генератором случайных данных
    • тем не менее довольно прост в использовании
    • в целом хороший инструмент, занявший второе место
  • Databene Benerator
    • лучшее решение для моих нужд
    • XML-скрипты, совместимые с DbUnit
    • код Java с открытым исходным кодом (GPL)
    • использование командной строки
    • доступ ко многим базам данных напрямую через JDBC
Билл Карвин
источник
Это похоже на природу и интересно само по себе: en.wikipedia.org/wiki/Fuzz_testing
grieve
GenerateData - это приложение на PHP. вы можете взломать код, чтобы сгенерировать любое количество записей данных. для V2.x. Не знаю, меняет ли 3.х лицензию.
Хан Чжэн
Также вы можете проверить Конструктор данных
Агниус Василяускас

Ответы:

41

Взгляните на databene benerator , генератор тестовых данных, который соответствует вашим требованиям.

  • он может генерировать данные для существующего определения таблицы (или даже анонимизировать производственные данные)
  • он может генерировать большой набор данных (неограниченный размер)
  • он поддерживает различные входные (CSV, плоские файлы, DBUnit) и выходные форматы (CSV, плоские файлы, DBUnit, XML, Excel, скрипты)
  • его можно использовать в командной строке или через плагин maven
  • это открытый исходный код и настраиваемый

Я бы попробовал.

Кстати, список подобных продуктов доступен на веб-сайте создателя базы данных.

Паскаль Тивент
источник
у кого-нибудь был успех с его использованием? Я пробовал это, но мастер-бенератор создает недопустимый файл pom.xml (для параметра «Заполнить базу данных»). Более того, переход к одной из демонстраций (hsqldb) с maven также приводит к ошибкам. Мне кажется, что инструмент не в хорошей форме, поэтому не стоит терять с ним время.
Питер Буткович
23

Выглядит многообещающе: createdata.com . Открытый исходный код, имеет множество встроенных типов данных.

Здесь перечислены несколько других: Генераторы тестовых (выборочных) данных . У меня нет опыта работы ни с одним из них, но некоторые из этого списка выглядят вполне приличными.

Чад Берч
источник
6

Попробуйте http://www.mockaroo.com

Это инструмент, созданный моей компанией для тестирования наших собственных приложений. Мы сделали его бесплатным для всех. По сути, это рубиновый камень Forgery с обернутым вокруг него веб-приложением. Вы можете генерировать данные в форматах CSV, txt или SQL. Надеюсь это поможет.

mockaroodev
источник
Спасибо за подсказку, проверю!
Билл Карвин
5

Я знаю, что вы сказали, что ищете бесплатный инструмент, но это тот случай, когда я бы посоветовал потратить 295 долларов, чтобы быстро окупить вас и сэкономить время. Я использую инструмент RedGate SQL Data Generator в течение последнего года, и это, короче говоря, отличный инструмент. Он позволяет устанавливать зависимости между столбцами, генерирует реалистичные данные для бизнес-объектов, таких как номера телефонов, URL-адреса, имена и т. Д. Я могу честно заявить, что этот инструмент снова и снова окупал себя.

KevDog
источник
Ага, я не прочь потратить 295 долларов, чтобы сэкономить сотни долларов на разработке. Спасибо за инициативу!
Билл Карвин,
2

Если вы ищете или желаете использовать что-то специфичное для MySQL, вы можете взглянуть на Super Smack . В настоящее время его поддерживает Тони Бурк.

Super Smack позволяет генерировать случайные данные для вставки в таблицы базы данных. Он настраивается, что позволяет использовать упакованный файл words.dat или любые тестовые данные по вашему выбору.

Одна из приятных особенностей этого - то, что это командная строка с широкими возможностями настройки. В книге High Performance MySQL есть несколько довольно приличных примеров использования, которые также приведены здесь .

Не уверен, что это соответствует тому, что вы ищете, но просто мысль.

Джонстджон
источник
Выглядит многообещающе! Говорит, что поддерживает PostgreSQL, а также MySQL. Спасибо за ссылку.
Билл Карвин,
2

Сценарий Ruby с одним из доступных генераторов поддельных данных подойдет вам.

http://faker.rubyforge.org/ - одна из таких жемчужин. К сожалению, это не соответствует всем вашим требованиям.

Вот еще один: http://random-data.rubyforge.org/

И руководство по использованию Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE: Гибкость для создания данных для существующего определения таблицы. Объедините самоцвет Faker с одним из доступных ORM. ActiveRecord, вероятно, будет проще всего.

Brendanjerwin
источник
Вы пытались выполнить массовую загрузку> 1 миллиона строк, по одной строке за раз, через интерфейс ActiveRecord? Я не оптимистичен относительно сроков завершения.
Билл Карвин,
Кроме того, сегодня я использовал гем Faker на некоторых этапах работы с функцией Cucumber и его SLO W. Итак, моя оценка на данный момент: ActiveRecord -1; Фейкер -1 У меня не все хорошо. :)
brendanjerwin 05
2

Обычно очень дорого, но если у вас небольшая ISV вы можете получить Visual Studio 2008 Database Edition , очень дешево, увидеть Воодушевление и BizSpark акции. Он предоставляет гораздо больше функций, чем просто создание тестовых данных (интеграция с SCC, модульное тестирование, рефакторинг БД и т. Д.)

Поскольку мне нравится, что инструменты Red-Grate настолько просты в освоении, я бы все же посмотрел на Генератор данных SQL.

Ян Рингроуз
источник
Да, это менее затратно, примерно по той же цене, что и инструмент RedGate, но, кроме того, вы должны квалифицироваться как независимый поставщик программного обеспечения, а это означает покупку других вещей. В любом случае спасибо за ссылку, без сомнения, она будет кому-то полезна. +1
Билл Карвин
2

Инструмент, который действительно не должен отсутствовать в списке, - это генератор данных от Datanamic, который заполняет базы данных напрямую или генерирует сценарии вставки, имеет большую коллекцию предустановленных генераторов (и поддерживает несколько баз данных ...

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

user2072139
источник
Спасибо за предложение. Следует отметить, что он только для платформы Windows и стоит 799 долларов.
Билл Карвин,
1

Я знаю, что вы ищете не настоящий текст lorem ipsum; но на тот случай, если кто-то еще найдет настоящий генератор lorem ipsum и найдет эту ветку : lipsum.com отлично с этим справляется.

Дженн Д.
источник
Спасибо за ссылку, но да, это не то, что я искал.
Билл Карвин,
Также есть плагин для Firefox под названием Dummy Lipsum, он полезен! Извините, я не могу помочь Биллу :(
Alex
1

Не бесплатно, но Visual Studio 2008 Database Edition является хорошей альтернативой и предоставляет гораздо больше функций (интеграция с SCC, модульное тестирование, рефакторинг БД и т. Д.)

bastos.sergio
источник
Кажется, доступно только через подписку MSDN, которая стоит 5469 долларов в год. За эту сумму я мог бы нанять студентов колледжа, чтобы они составили тестовые данные и напечатали их.
Билл Карвин,
1

Я использую инструмент под названием Datatect :

  1. Создает данные в плоские файлы или любую базу данных, совместимую с ODBC.
  2. Расширяется через VBScript.
  3. Референтно осведомленный; заполнит внешние ключи значениями из родительской таблицы.
  4. Данные зависят от контекста; город, штат и номера телефонов для указанных почтовых индексов, имена и должности с указанием пола.
  5. Может создавать собственные сложные типы данных.
  6. Создайте более 2 миллиардов имен собственных, названий компаний, уличных адресов, городов, штатов и почтовых индексов.

Я использовал этот инструмент для создания 40 000 000 строк данных в базе данных SQLServer и 8 000 000 строк данных в базе данных Oracle.

Я никоим образом не связан с Banner Systems, я просто довольный клиент.

Патрик Кафф
источник
Это выглядит многообещающим вариантом. Спасибо за ссылку. +1 Однако я не разрабатываю Windows в качестве основной платформы, извините, я не указал это в своем вопросе.
Билл Карвин,
1

Для OS X существует Data Creator (7 долларов США). Скачать бесплатно для тестовых целей. Вы можете использовать его для оценки программного обеспечения и его функций.

Требуется OS X Lion или более поздняя версия. Он может генерировать много разных типов полей и имеет настраиваемый режим экспорта плюс некоторые предустановки (TSV, CSV, таблица Html, веб-страница с таблицей внутри).

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

здесь, в App Store:

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

RPT
источник
1

Вы можете использовать DbSchema, www.dbschema.com, это инструмент управления базой данных, и в нем есть генератор случайных данных для заполнения вашей базы данных.

user2143407
источник
0

Нет прямого ответа на ваш вопрос, но это может быть полезно для определенных данных:

Генератор поддельных имен может быть полезен - http://www.fakenamegenerator.com/ , но не для всего, кроме учетных записей пользователей и тому подобного. AFAIK Они обеспечивают поддержку оптовых заказов.

доктор злой
источник
Да, я посмотрел, но, похоже, он не предлагает той гибкости, которую я ищу. В любом случае спасибо за ссылку.
Билл Карвин,
0

+1 для Benerator: Я попробовал 3 или 4 других предлагаемых инструмента (включая dbmonster), но обнаружил, что Benerator работает очень быстро, предоставляет реалистичные данные и отличается гибкостью. Я также получил очень быстрые и полезные отзывы от создателя инструмента, когда разместил сообщение на форуме.

Давек
источник