Інструменти для генерації макетних даних? [зачинено]


104

Я шукаю рекомендації хорошого, безкоштовного інструменту для генерування вибіркових даних для завантаження у тестові бази даних. За аналогією, щось створює текст " lorem ipsum " для будь-якої RDBMS. Особливості, які я шукаю, включають:

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

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


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


Ось мій висновок:

  • Створити дані:
    • Інтерфейс веб-програми PHP, а не командний рядок
    • обмежується створенням 200 записів (або платити 20 доларів США за ліцензію на створення 5000 записів)
  • RedGate SQL Генератор даних
    • не безкоштовно, ціна $ 295
    • вимагає Windows, .NET, SQL Server
  • Видання бази даних Visual Studio 2008
    • вимагає Windows
    • вимагає дорогих MSDN або ISV підписки
  • Datadect банера
    • не безкоштовно, ціна $ 595
    • вимагає Windows (?)
    • немає підтримки для MySQL (?)
    • GUI, не командний рядок або сценарій
  • Коштовний камінь Ruby Faker
    • занадто повільно використовувати ActiveRecord для масового завантаження даних
  • Супер присмак
    • головним чином інструмент для тестування навантаження, вбудований генератор випадкових даних
    • досить простий у використанні, тим не менш
    • загалом хороший інструмент для підбігань
  • Databene Benerator
    • найкраще рішення для моїх потреб
    • Сценарії XML, сумісні з DbUnit
    • відкритий код (GPL) код Java
    • використання командного рядка
    • отримати доступ до багатьох баз даних безпосередньо через JDBC

Це схоже за своєю суттю і цікаве в своєму власному світлі: en.wikipedia.org/wiki/Fuzz_testing
скорботи

GenerateData - програма php. ви можете зламати код, щоб створити будь-яку кількість записів даних, які ви хочете. для V2.x. Я не знаю, чи 3.x змінює ліцензію.
Хань Чжен

Також ви можете перевірити Data Constructor
Agnius Vasiliauskas

Відповіді:


41

Погляньте на бенефіціара даних, генератора тестових даних, який відповідає вашим вимогам.

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

Я б спробував.

BTW, перелік подібних продуктів доступний на веб-сайті бенефіціара databene.


хтось мав успіх у його використанні? Я спробував це, але майстер бенефіціара генерує недійсний файл pom.xml (для параметра "База даних населення"). Більше того, запуск однієї з демонстрацій (hsqldb) з maven також призводить до помилок. Мені здається, що інструмент не в хорошій формі, тому не варто втрачати час на нього.
Петро Буткович

23

Це виглядає досить перспективно: generatedata.com . Відкритий код, має безліч вбудованих типів даних.

Тут перелічено декілька інших: Тестові (зразкові) генератори даних . Я не маю досвіду жодного з них, але деякі з цього списку виглядають так, що вони можуть бути досить пристойними.


6

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

Це інструмент, який моя компанія створила, щоб допомогти протестувати власні програми. Ми зробили його безкоштовним для будь-якого користування. Це, в основному, рубінова дорогоцінний камінь з підробкою, обкладений навколо нього веб-додатком. Ви можете генерувати дані у форматах CSV, txt або SQL. Сподіваюся, це допомагає.


Дякую за пораду, я перевірю це!
Білл Карвін

5

Я знаю, ви сказали, що шукаєте безкоштовний інструмент, але це один із випадків, коли я б запропонував, що витрачені 295 доларів повернуть вам швидко в економії часу. Я використовував інструмент RedGate SQL Generator даних упродовж останнього року, і це, якщо коротко сказати, приголомшливий інструмент. Це дозволяє встановлювати залежності між стовпцями, генерує реалістичні дані для бізнес-об’єктів, таких як телефонні номери, URL-адреси, імена тощо.


Так, я не проти витратити 295 доларів, щоб заощадити багато сотень часу на розробку. Дякую за ведучий!
Білл Карвін

2

Якщо ви шукаєте або бажаєте скористатися чимось специфічним для MySQL, можете поглянути на Super Smack . В даний час його підтримує Тоні Бурк.

Super Smack дозволяє генерувати випадкові дані для вставки в таблиці вашої бази даних. Це налаштовується, що дозволяє використовувати упакований файл word.dat або будь-які тестові дані на ваш вибір.

Однією з приємних речей у цьому є те, що командний рядок дуже настроюється. Існує кілька досить гідних прикладів використання книги MySQL High Performance, яка також викладена тут .

Не впевнений, чи це так, як ви шукаєте, а лише думка.


Виглядає перспективно! Каже, він підтримує 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 в деяких кроках з огірком та його SLO W. Отже, моя оцінка досі: ActiveRecord -1; Faker -1 Я не так добре. :)
brendanjerwin

2

Зазвичай це дуже дорого, але якщо ви невеликий ISV, ви можете отримати випуск бази даних Visual Studio 2008 дуже дешево, перегляньте розширення можливостей та акцій бізнес-парку . Він забезпечує набагато більше функціональних можливостей, ніж просто генерування тестових даних (інтеграція з SCC, тестування блоків, рефакторинг DB тощо)

Оскільки мені подобається те, що інструменти Red-Grate так легко засвоїти, я б все-таки подивився на генератор даних SQL


Так, це менш дорого, за тією ж ціною, що і інструмент RedGate, але крім того, ви повинні кваліфікуватися як ISV, а це означає купувати інші речі. Дякуємо за посилання в будь-якому випадку, без сумніву, комусь це буде корисно. +1
Білл Карвін

2

інструмент, який дійсно не повинен бути відсутнім у списку, це Генератор даних із Datanamic, який заповнює бази даних безпосередньо або створює скрипти вставки, має велику колекцію попередньо встановлених генераторів (і підтримує декілька баз даних ...

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


Дякую за пропозицію. Слід зазначити, що це лише для платформи Windows, і коштує вона 799 доларів.
Білл Карвін

1

Я знаю, що ви не шукаєте фактичного тексту lops ipsum; але у випадку, якщо хтось інший шукає фактичний генератор ipsum lorem і знайде цю тему: lipum.com робить це чудово.


Дякую за посилання, але так, це не те, що я шукав.
Білл Карвін

Також є плагін для Firefox під назвою Dummy Lipsum, це корисно! Вибачте, що не можу допомогти Біллю :(
alex

1

Не безкоштовна, але випуск бази даних Visual Studio 2008 - хороша альтернатива, і вона забезпечує набагато більше функціональних можливостей (інтеграція з SCC, тестування блоків, рефакторинг DB тощо).


Здається, доступний лише через підписку 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.