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


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. Надеюсь это поможет.


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

5

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


Ага, я не прочь потратить 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, вероятно, будет проще всего.


Вы пытались выполнить массовую загрузку> 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


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

1

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


Спасибо за ссылку, но да, это не то, что я искал.
— Билл Карвин,

Также есть плагин для Firefox под названием Dummy Lipsum, он полезен! Извините, я не могу помочь Биллу :(
— Alex

1

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


Кажется, доступно только через подписку 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


1

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


0

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

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


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

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.