Estou procurando recomendações de uma ferramenta boa e gratuita para gerar dados de amostra com o objetivo de carregar em bancos de dados de teste. Por analogia, algo que produz texto " lorem ipsum " para qualquer RDBMS. Os recursos que procuro incluem:
- Flexibilidade para gerar dados para uma definição de tabela existente.
- Capacidade de gerar conjuntos de dados pequenos e grandes (> 1 milhão de linhas ou mais).
- Gere no formato de script SQL (
INSERT
instruções) ou então em um formato de arquivo simples adequado para importação em massa (que geralmente é mais rápido). - Uma interface de linha de comando para facilitar a criação de scripts.
- Extensível, código-fonte aberto, escrito em uma linguagem dinâmica (são requisitos agradáveis de se ter, e não requisitos fortes).
PS: Eu pesquisei uma pergunta duplicada no StackOverflow, mas não encontrei uma. Se houver um, ficarei grato por uma indicação sobre ele.
Obrigado pelas ótimas respostas a todos! Devo corrigir meus requisitos para usar o Mac OS X como meu ambiente de desenvolvimento principal, não o Windows (embora eu tenha dito que a interface de linha de comando é desejável, e isso praticamente exclui o Windows). As sugestões específicas do Windows serão, sem dúvida, úteis para outros leitores desta questão, então, obrigado.
Aqui está minha conclusão:
- GenerateData:
- Interface de aplicativo da web PHP, não linha de comando
- limitado a gerar 200 registros (ou pagar $ 20 pela licença para gerar 5.000 registros)
- RedGate SQL Data Generator
- não grátis, preço $ 295
- requer Windows, .NET, SQL Server
- Visual Studio 2008 Database Edition
- requer Windows
- requer assinatura de MSDN ou ISV cara
- Banner Datadect
- não grátis, preço $ 595
- requer Windows (?)
- sem suporte para MySQL (?)
- GUI, não de linha de comando ou scriptável
- Joia Ruby Faker
- muito lento para usar ActiveRecord para carregamento de dados em massa
- Super Smack
- principalmente uma ferramenta de teste de carga, com um gerador de dados aleatórios integrado
- muito simples de usar, no entanto
- no geral, uma boa ferramenta de vice-campeão
- Databene Benerator
- melhor solução para minhas necessidades
- Scripts XML, compatíveis com DbUnit
- código Java de código aberto (GPL)
- uso de linha de comando
- acesse muitos bancos de dados diretamente via JDBC
fonte
Respostas:
Dê uma olhada no databene benerator , um gerador de dados de teste que se aproxima de seus requisitos.
Eu daria uma chance.
BTW, uma lista de produtos semelhantes está disponível no site do benerator databene.
fonte
Isso parece bastante promissor: generatedata.com . Código aberto, possui muitos tipos de dados integrados.
Existem vários outros listados aqui: Geradores de dados de teste (amostra) . Não tenho experiência com nenhum deles, mas alguns naquela lista parecem ser bastante decentes.
fonte
Experimente http://www.mockaroo.com
Esta é uma ferramenta que minha empresa criou para ajudar a testar nossos próprios aplicativos. Nós o tornamos gratuito para qualquer pessoa usar. É basicamente a gema do rubi do Forgery com um aplicativo da web ao redor dela. Você pode gerar dados nos formatos CSV, txt ou SQL. Espero que isto ajude.
fonte
Eu sei que você disse que estava procurando uma ferramenta gratuita, mas este é um caso em que eu sugeriria que gastar US $ 295 vai pagar você rapidamente com o tempo economizado. Há um ano que uso a ferramenta RedGate SQL Data Generator e é, para resumir, uma ferramenta incrível. Ele permite definir dependências entre colunas, gera dados realistas para objetos de negócios, como números de telefone, urls, nomes, etc. Posso afirmar honestamente que esta ferramenta se pagou várias vezes.
fonte
Se você está procurando ou quer usar algo específico do MySQL, pode dar uma olhada no Super Smack . Atualmente é mantido por Tony Bourke.
Super Smack permite que você gere dados aleatórios para inserir em suas tabelas de banco de dados. É personalizável, permitindo que você use o arquivo words.dat empacotado ou quaisquer dados de teste de sua escolha.
Uma das coisas boas sobre ele é que a linha de comando é altamente personalizável. Existem alguns exemplos razoavelmente decentes de uso no livro High Performance MySQL, que também é extraído aqui .
Não tenho certeza se isso está de acordo com o que você está procurando, mas apenas uma ideia.
fonte
Um script Ruby com um dos geradores de dados falsos disponíveis deve servir para você.
http://faker.rubyforge.org/ é uma dessas joias. Infelizmente, isso não atende a todos os seus requisitos.
Aqui está outro: http://random-data.rubyforge.org/
E um tutorial para usar o Faker: http://www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/
RE: flexibilidade para gerar dados para uma definição de tabela existente. Combine a gema Faker com um dos ORMs disponíveis. ActiveRecord provavelmente seria o mais fácil.
fonte
Normalmente muito caro, mas se você for um pequeno ISV, poderá obter o Visual Studio 2008 Database Edition por um custo muito baixo, consulte as promoções de empowerment e bizspark . Ele fornece muito mais funcionalidade do que apenas gerar dados de teste (integração com SCC, teste de unidade, refatoração de banco de dados, etc.)
Como gosto do fato de que as ferramentas do Red-Grate são tão fáceis de aprender, eu ainda olharia para SQL Data Generator
fonte
uma ferramenta que realmente não deveria faltar na lista é o Data Generator da Datanamic que preenche bancos de dados diretamente ou gera scripts de inserção, tem uma grande coleção de geradores pré-instalados (e suporta vários bancos de dados ...
http://www.datanamic.com/datagenerator/index.html
fonte
Eu sei que você não está procurando um texto lorem ipsum real; mas no caso de alguém procurar por um gerador lorem ipsum real e encontrar este tópico: lipsum.com faz um ótimo trabalho.
fonte
Não é gratuito, mas o Visual Studio 2008 Database Edition é uma boa alternativa e fornece muito mais funcionalidades (integração com SCC, teste de unidade, refatoração de banco de dados, etc ...)
fonte
Eu uso uma ferramenta chamada Datatect :
Usei essa ferramenta para gerar até 40.000.000 de linhas de dados para um banco de dados SQLServer e 8.000.000 de linhas de dados para um banco de dados Oracle.
Não sou afiliado de forma alguma à Banner Systems, apenas um cliente satisfeito.
fonte
Aqui está a lista dessas ferramentas (gratuitas e comerciais): http://c2.com/cgi/wiki?TestDataGenerator
fonte
Para OS X existe o Data Creator (US $ 7). O download é gratuito para fins de teste. Você pode usá-lo para avaliar o software e seus recursos.
Requer OS X Lion ou sucessivos. Ele pode gerar muitos tipos de campos diferentes e tem um modo de exportação personalizado e alguns pré-configurados (TSV, CSV, tabela Html, página da web com tabela dentro).
http://www.tensionsoftware.com/osx/datacreator/
aqui na App Store:
https://itunes.apple.com/us/app/data-creator/id491686136?mt=12
fonte
Você pode usar DbSchema, www.dbschema.com, é uma ferramenta de gerenciamento de banco de dados e tem um Gerador de Dados Aleatórios para preencher seu banco de dados.
fonte
Não é uma resposta direta à sua pergunta, mas pode ser útil para certos tipos de dados:
O Fake Name Generator pode ser útil - http://www.fakenamegenerator.com/ , não para tudo, exceto contas de usuário ou coisas assim. AFAIK Eles fornecem suporte para pedidos em massa.
fonte
+1 para o Benerator: tentei 3 ou 4 das outras ferramentas disponíveis (incluindo dbmonster), mas descobri que o Benerator é muito rápido, fornece dados realistas e é flexível. Também recebi um feedback muito rápido e útil do criador da ferramenta quando postei no fórum.
fonte