Инструменты для генерации 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, просто довольным клиентом.
Ответ 12
Вот список таких инструментов (как бесплатных, так и коммерческих):
http://c2.com/cgi/wiki?TestDataGenerator
Ответ 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 будет очень быстрым, чтобы предоставить реалистичные данные и быть гибкими. Я также получил очень быструю и полезную обратную связь от создателя инструмента, когда я разместил его на форуме.