Инструменты для генерации Mock Data?

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

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

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


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


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

  • GenerateData:
    • Интерфейс веб-приложений PHP, а не командной строки
    • ограничено созданием 200 записей (или заплатить 20 долларов за лицензию на создание 5000 записей).
  • Генератор данных RedGate SQL
    • не бесплатно, цена $295
    • требуется Windows,.NET, SQL Server
  • Visual Studio 2008 Database Edition
    • требуется Windows
    • требуется дорогостоящая подписка на MSDN или ISV.
  • Banner Datadect
    • не бесплатно, цена $595
    • требуется Windows (?)
    • нет поддержки MySQL (?)
    • GUI, а не командная строка или сценарий
  • Драгоценный камень Ruby Faker
    • слишком медленно использовать ActiveRecord для массовой загрузки данных.
  • Super Smack
    • главным образом инструмент тестирования нагрузки, с генератором случайных данных, встроенным в
    • довольно простой в использовании
    • в целом хороший инструмент для начинающих
  • Бета-генератор данных
    • лучшее решение для моих нужд
    • XML-скрипты, совместимые с DbUnit
    • код с открытым исходным кодом (GPL) Java
    • использование командной строки
    • доступ ко многим базам данных напрямую через JDBC

Ответ 1

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

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

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

BTW, список похожих продуктов доступен на веб-сайте databene benerator.

Ответ 2

Это выглядит довольно многообещающе: generatedata.com. Open-source имеет множество встроенных типов данных.

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

A Ruby script с одним из доступных генераторов фальшивых данных должен вам просто отлично.

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

Ответ 7

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

Как мне нравится тот факт, что инструменты Red-Grate настолько просты в освоении, я бы по-прежнему смотрел SQL Data Generator

Ответ 8

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

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

Ответ 9

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

Ответ 10

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

Ответ 11

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

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

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

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

Ответ 13

Для OS X существует Data Creator (US $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

Ответ 14

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

Ответ 15

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

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

Ответ 16

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