¿Herramientas para generar datos simulados? [cerrado]

104

Estoy buscando recomendaciones de una buena herramienta gratuita para generar datos de muestra con el fin de cargarlos en bases de datos de prueba. Por analogía, algo que produce texto " lorem ipsum " para cualquier RDBMS. Las características que estoy buscando incluyen:

  • Flexibilidad para generar datos para una definición de tabla existente.
  • Capacidad para generar conjuntos de datos pequeños y grandes (> 1 millón de filas o más).
  • Genere en formato de script SQL ( INSERTdeclaraciones) o en un formato de archivo plano adecuado para la importación masiva (que suele ser más rápido).
  • Una interfaz de línea de comandos para facilitar la creación de scripts.
  • Extensible, de código abierto, escrito en un lenguaje dinámico (estos son buenos requisitos, no requisitos estrictos).

PD: Busqué una pregunta duplicada en StackOverflow, pero no encontré ninguna. Si hay uno, estaré agradecido de poder señalarlo.


¡Gracias a todos por las excelentes respuestas! Debo modificar mis requisitos de que uso Mac OS X como mi entorno de desarrollo principal, no Windows (aunque dije que la interfaz de línea de comandos es deseable, y eso prácticamente descarta Windows). Sin embargo, las sugerencias específicas de Windows serán útiles para otros lectores de esta pregunta, así que gracias.


Aquí está mi conclusión:

  • GenerateData:
    • Interfaz de aplicación web PHP, no línea de comandos
    • limitado a generar 200 registros (o pagar $ 20 por la licencia para generar 5,000 registros)
  • Generador de datos SQL de RedGate
    • no gratis, precio $ 295
    • requiere Windows, .NET, SQL Server
  • Edición de base de datos de Visual Studio 2008
    • requiere Windows
    • requiere una costosa suscripción a MSDN o ISV
  • Banner Datadect
    • no gratis, precio $ 595
    • requiere Windows (?)
    • sin soporte para MySQL (?)
    • GUI, no línea de comandos ni programable
  • Gema Ruby Faker
    • Demasiado lento para usar ActiveRecord para carga masiva de datos
  • Super bofetada
    • principalmente una herramienta de prueba de carga, con un generador de datos aleatorios integrado
    • bastante simple de usar sin embargo
    • en general, una buena herramienta para el segundo lugar
  • Benerator de Databene
    • la mejor solución para mis necesidades
    • Scripts XML, compatibles con DbUnit
    • código Java de código abierto (GPL)
    • uso de la línea de comandos
    • acceder a muchas bases de datos directamente a través de JDBC
Bill Karwin
fuente
Esto es similar en naturaleza, y es interesante en su propia luz: en.wikipedia.org/wiki/Fuzz_testing
grieve
GenerateData es una aplicación php. puede piratear el código para generar la cantidad de registros de datos que desee. para V2.x. No sé si 3.x cambia la licencia.
Han Zheng
También puede consultar Data Constructor
Agnius Vasiliauskas

Respuestas:

41

Eche un vistazo a databene benerator , un generador de datos de prueba que se acerca a sus requisitos.

  • puede generar datos para una definición de tabla existente (o incluso anonimizar los datos de producción)
  • puede generar grandes conjuntos de datos (tamaño ilimitado)
  • admite varias entradas (CSV, archivos planos, DBUnit) y formatos de salida (CSV, archivos planos, DBUnit, XML, Excel, scripts)
  • se puede utilizar en la línea de comandos o mediante un complemento de maven
  • es de código abierto y personalizable

Lo intentaría.

Por cierto, una lista de productos similares está disponible en el sitio web de databene benerator.

Pascal Thivent
fuente
¿Alguien tuvo éxito con su uso? Lo intenté, pero benerator-wizard genera un archivo pom.xml no válido (para la opción "Completar base de datos"). Además, ir a una de las demostraciones (hsqldb) con maven también da como resultado errores. A mí me parece que la herramienta no está en buen estado, por lo que no vale la pena perder el tiempo con ella.
Peter Butkovic
23

Esto parece bastante prometedor: generatedata.com . De código abierto, tiene muchos tipos de datos integrados.

Hay varios otros enumerados aquí: Generadores de datos de prueba (muestra) . No tengo experiencia con ninguno de ellos, pero algunos en esa lista parecen ser bastante decentes.

Abedul de Chad
fuente
6

Prueba http://www.mockaroo.com

Esta es una herramienta que creó mi empresa para ayudar a probar nuestras propias aplicaciones. Lo hemos hecho gratis para que lo use cualquiera. Es básicamente la gema de rubí de falsificación con una aplicación web envuelta alrededor. Puede generar datos en formatos CSV, txt o SQL. Espero que esto ayude.

mockaroodev
fuente
Gracias por el consejo, ¡lo comprobaré!
Bill Karwin
5

Sé que dijiste que estabas buscando una herramienta gratuita, pero este es un caso en el que sugeriría que gastar $ 295 te devolverá el dinero rápidamente en el tiempo ahorrado. He estado usando la herramienta RedGate SQL Data Generator durante el último año y, para ser breve, es una herramienta increíble. Permite establecer dependencias entre columnas, genera datos realistas para objetos comerciales como números de teléfono, urls, nombres, etc. Puedo decir honestamente que esta herramienta se ha amortizado una y otra vez.

KevDog
fuente
Sí, no soy reacio a gastar $ 295 para ahorrar muchos cientos en tiempo de desarrollo. ¡Gracias por el liderazgo!
Bill Karwin
2

Si está buscando o está dispuesto a usar algo específico de MySQL, podría echar un vistazo a Super Smack . Actualmente es mantenido por Tony Bourke.

Super Smack le permite generar datos aleatorios para insertarlos en las tablas de su base de datos. Es personalizable, lo que le permite utilizar el archivo words.dat empaquetado o cualquier dato de prueba de su elección.

Una de las cosas buenas de esto es que su línea de comandos es altamente personalizable. Hay algunos ejemplos bastante decentes de uso en el libro High Performance MySQL, que también se extrae aquí .

No estoy seguro si eso está en la línea de lo que está buscando, pero solo una idea.

Jonstjohn
fuente
¡Parece prometedor! Dice que es compatible con PostgreSQL y MySQL. Gracias por el enlace.
Bill Karwin
2

Un script Ruby con uno de los generadores de datos falsos disponibles debería funcionar bien.

http://faker.rubyforge.org/ es una de esas gemas. Desafortunadamente, esto no cumple con todos sus requisitos.

Aquí hay otro: http://random-data.rubyforge.org/

Y un tutorial para usar Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE: Flexibilidad para generar datos para una definición de tabla existente. Combina la gema Faker con uno de los ORM disponibles. ActiveRecord probablemente sería lo más fácil.

brendanjerwin
fuente
¿Ha intentado realizar una carga masiva de> 1 millón de filas, una fila a la vez a través de una interfaz ActiveRecord? No soy optimista sobre el tiempo de finalización.
Bill Karwin
Además, usé la gema Faker hoy en algunos pasos de Cucumber Feature y su SLO W. Entonces, mi puntaje hasta ahora: ActiveRecord -1; Faker -1 No lo estoy haciendo tan bien. :)
brendanjerwin
2

Normalmente muy costoso, pero si usted es un pequeño ISV puede obtener Visual Studio 2008 Base de Datos de edición muy barato, ve el Empower y BizSpark promociones. Proporciona mucha más funcionalidad que simplemente generar datos de prueba (integración con SCC, pruebas unitarias, refactorización de bases de datos, etc.)

Como me gusta el hecho de que las herramientas de Red-Grate son tan fáciles de aprender, todavía miraría SQL Data Generator

Ian Ringrose
fuente
Sí, es menos costoso, del mismo precio que la herramienta de RedGate, pero además tienes que calificar como ISV y eso significa comprar otras cosas. Gracias por el enlace de todos modos, sin duda será útil para alguien. +1
Bill Karwin
2

una herramienta que realmente no debería faltar en la lista es el Generador de Datos de Datanamic que llena bases de datos directamente o genera scripts de inserción, tiene una gran colección de generadores preinstalados (y soporta múltiples bases de datos ...

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

usuario2072139
fuente
Gracias por la sugerencia. Cabe señalar que es solo para la plataforma Windows y cuesta $ 799.
Bill Karwin
1

Sé que no estás buscando un texto real de lorem ipsum; pero en caso de que alguien más busque un generador de lorem ipsum real y encuentre este hilo: lipsum.com hace un gran trabajo.

Jenn D.
fuente
Gracias por el enlace, pero sí, eso no es lo que estaba buscando.
Bill Karwin
También hay un complemento para Firefox llamado Dummy Lipsum, ¡es útil! Lo siento, no puedo ayudar a Bill :(
alex
1

No es gratuito, pero Visual Studio 2008 Database Edition es una buena alternativa y proporciona mucha más funcionalidad (integración con SCC, pruebas unitarias, refactorización de bases de datos, etc.)

bastos.sergio
fuente
Parece estar disponible solo a través de una suscripción a MSDN que cuesta 5469 dólares al año. Por esa cantidad de dinero, podría contratar a algunos estudiantes universitarios para que inventen los datos de las pruebas y los
escriban
1

Yo uso una herramienta llamada Datatect :

  1. Genera datos en archivos planos o en cualquier base de datos compatible con ODBC.
  2. Extensible a través de VBScript.
  3. Consciente referencialmente; completará las claves externas con los valores de la tabla principal.
  4. Los datos son sensibles al contexto; ciudad, estado y números de teléfono para códigos postales, nombres y títulos con género.
  5. Puede crear tipos de datos complejos y personalizados.
  6. Genere más de 2 mil millones de nombres propios, nombres comerciales, direcciones, ciudades, estados y códigos postales.

He utilizado esta herramienta para generar hasta 40.000.000 filas de datos en una base de datos SQLServer y 8.000.000 filas de datos en una base de datos Oracle.

De ninguna manera estoy afiliado a Banner Systems, solo un cliente satisfecho.

Patrick Cuff
fuente
Parece una opción prometedora. Gracias por el enlace. +1 Sin embargo, no desarrollo en Windows como mi plataforma principal, lo siento, no especifiqué eso en mi pregunta.
Bill Karwin
1

Para OS X existe Data Creator (US $ 7). La descarga es gratuita para fines de prueba. Puede usarlo para evaluar el software y sus características.

Requiere OS X Lion o sucesivo. Puede generar muchos tipos de campo diferentes y tiene un modo de exportación personalizado más algunos preestablecidos (TSV, CSV, tabla Html, página web con tabla adentro).

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

aquí en la App Store:

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

RPT
fuente
1

Puede usar DbSchema, www.dbschema.com es una herramienta de administración de bases de datos y tiene un generador de datos aleatorios para completar su base de datos.

usuario2143407
fuente
0

No es una respuesta directa a su pregunta, pero esto puede ser útil para cierto tipo de datos:

El generador de nombres falsos puede ser útil: http://www.fakenamegenerator.com/ , no para todo, excepto para cuentas de usuario o cosas por el estilo. AFAIK Brindan soporte para pedidos al por mayor.

Dr. mal
fuente
Sí, eché un vistazo, pero no parece ofrecer la flexibilidad que estoy buscando. Gracias de todos modos por el enlace.
Bill Karwin
0

+1 para Benerator: probé 3 o 4 de las otras herramientas que se ofrecen (incluido dbmonster) pero descubrí que Benerator es muy rápido, entrega datos realistas y es flexible. También recibí comentarios muy rápidos y útiles del creador de la herramienta cuando publiqué en el foro.

Davek
fuente