104 votes

Outils pour générer des données fictives ?

Je suis à la recherche de recommandations sur un bon outil gratuit pour générer des données échantillons à charger dans des bases de données de test. Par analogie, un outil qui produit des " lorem ipsum " pour tout SGBDR. Les fonctionnalités que je recherche sont les suivantes :

  • Possibilité de générer des données pour une définition de tableau existante.
  • Capacité à générer de petits et grands ensembles de données (> 1 million de lignes ou plus).
  • Générer au format SQL script ( INSERT ) ou bien dans un format de fichier plat adapté à l'importation en masse (ce qui est généralement plus rapide).
  • Une interface de ligne de commande pour faciliter la création de scripts.
  • Extensible, open source, écrit dans un langage dynamique (il s'agit là d'éléments souhaitables et non d'exigences fortes).

PS : J'ai cherché une question identique sur StackOverflow, mais je n'en ai pas trouvé. S'il y en a une, je vous serais reconnaissant de m'y renvoyer.


Merci à tous pour vos réponses ! Je devrais modifier mes exigences, à savoir que j'utilise Mac OS X comme principal environnement de développement, et non pas Windows (bien que j'aie dit que l'interface de ligne de commande était souhaitable, et que je n'avais pas l'intention d'utiliser le système d'exploitation Windows). pratiquement exclut Windows). Les suggestions spécifiques à Windows seront sans doute utiles aux autres lecteurs de cette question, alors merci.


Voici ma conclusion :

  • Générer des données :
    • Interface de l'application web PHP, pas de ligne de commande
    • limité à la génération de 200 enregistrements (ou payez 20 $ pour une licence permettant de générer 5 000 enregistrements)
  • Générateur de données SQL RedGate
    • non gratuit, prix 295
    • nécessite Windows, .NET, SQL Server
  • Visual Studio 2008 édition base de données
    • nécessite Windows
    • nécessite un abonnement coûteux à MSDN ou ISV
  • Banner Datadect
    • non gratuit, prix 595
    • nécessite Windows ( ?)
    • pas de support pour MySQL ( ?)
    • Interface graphique, pas de ligne de commande ou de script
  • Gemme Ruby Faker
    • beaucoup trop lent pour utiliser ActiveRecord pour le chargement de données en masse
  • Super Smack
    • principalement un outil de test de charge, avec un générateur de données aléatoires intégré.
    • plutôt simple d'utilisation néanmoins
    • dans l'ensemble, un bon outil de second choix
  • Bénérateur Databene
    • la meilleure solution pour mes besoins
    • Scripts XML, compatibles avec DbUnit
    • code Java open source (GPL)
    • utilisation de la ligne de commande
    • accéder à de nombreuses bases de données directement via JDBC

41voto

Pascal Thivent Points 295221

Jetez un coup d'œil à bénérateur de données un générateur de données de test qui se rapproche de vos exigences.

  • il peut générer des données pour une définition de table existante (ou même anonymiser des données de production)
  • il peut générer de grands ensembles de données (taille illimitée)
  • il prend en charge différents formats d'entrée (CSV, Flat Files, DBUnit) et de sortie (CSV, Flat Files, DBUnit, XML, Excel, Scripts).
  • il peut être utilisé en ligne de commande ou via un plugin maven
  • il s'agit d'une source ouverte et personnalisable

J'essaierais.

BTW, une liste de produits similaires est disponible sur le site web de databene benerator.

23voto

Chad Birch Points 39087

Cela semble très prometteur : generatedata.com . Open-source, possède de nombreux types de données intégrés.

Il y en a plusieurs autres listés ici : Générateurs de données de test (échantillons) . Je n'ai pas d'expérience avec l'un d'eux, mais quelques-uns sur cette liste semblent être assez décents.

6voto

skydump Points 889

Essayez http://www.mockaroo.com

C'est un outil que ma société a créé pour aider à tester nos propres applications. Nous l'avons rendu gratuit pour que tout le monde puisse l'utiliser. Il s'agit essentiellement de la gemme ruby Forgery avec une application web enveloppée autour. Vous pouvez générer des données aux formats CSV, txt ou SQL. J'espère que cela vous aidera.

5voto

KevDog Points 2515

Je sais que vous avez dit que vous cherchiez un outil gratuit, mais c'est un cas où je dirais que dépenser 295 $ vous remboursera rapidement en temps gagné. J'ai utilisé l'outil RedGate Générateur de données SQL depuis l'année dernière et c'est, pour être bref, un outil génial. Il permet de définir des dépendances entre les colonnes, de générer des données réalistes pour les objets commerciaux tels que les numéros de téléphone, les url, les noms, etc. Je peux honnêtement affirmer que cet outil s'est amorti à maintes reprises.

2voto

jonstjohn Points 23326

Si vous cherchez ou voulez utiliser quelque chose de spécifique à MySQL, vous pouvez jeter un coup d'oeil à Super Smack . Il est actuellement entretenu par Tony Bourke.

Super Smack vous permet de générer des données aléatoires à insérer dans les tables de votre base de données. Il est personnalisable, ce qui vous permet d'utiliser le fichier words.dat fourni, ou toute autre donnée de test de votre choix.

L'un de ses avantages est que sa ligne de commande est hautement personnalisable. Il y a quelques exemples d'utilisation assez décents dans le livre. MySQL haute performance qui est aussi extrait ici .

Je ne suis pas sûr que cela corresponde à ce que vous recherchez, mais c'est juste une idée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X