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 (
INSERT
declaraciones) 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
fuente
Respuestas:
Eche un vistazo a databene benerator , un generador de datos de prueba que se acerca a sus requisitos.
Lo intentaría.
Por cierto, una lista de productos similares está disponible en el sitio web de databene benerator.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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
fuente
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
fuente
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.
fuente
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.)
fuente
Yo uso una herramienta llamada Datatect :
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.
fuente
Aquí está la lista de dichas herramientas (tanto gratuitas como comerciales): http://c2.com/cgi/wiki?TestDataGenerator
fuente
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
fuente
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.
fuente
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.
fuente
+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.
fuente