モックデータを生成するためのツール?[閉まっている]


104

テストデータベースに読み込む目的でサンプルデータを生成するための優れた無料ツールの推奨事項を探しています。類推すると、RDBMSの「lorem ipsum」テキストを生成するもの。私が探している機能は次のとおりです。

  • 既存のテーブル定義のデータを生成する柔軟性。
  • 大小のデータセットを生成する機能(100万行以上)。
  • SQLスクリプト形式(INSERTステートメント)、または一括インポートに適したフラットファイル形式(通常はより高速)で生成します。
  • 簡単なスクリプト作成のためのコマンドラインインターフェイス。
  • 動的言語で記述された拡張可能なオープンソース(これらは強力な要件ではなく、使いやすいものです)。

PS:StackOverflowで重複する質問を検索しましたが、見つかりませんでした。ある場合は、それへのポインタを取得していただければ幸いです。


皆様の素晴らしいご返信ありがとうございます!私は、WindowsではなくMac OS Xを主要な開発環境として使用するという要件を修正する必要があります(ただし、コマンドラインインターフェイスが望ましいとされており、実際には Windowsを除外しています)。ただし、Windows固有の提案は、この質問を読んでいる他の読者には役立つはずです。


これが私の結論です:

  • GenerateData:
    • コマンドラインではなく、PHPウェブアプリのインターフェース
    • 200レコードの生成に限定(または5,000レコードを生成するライセンスに20ドルを支払う)
  • RedGate SQLデータジェネレーター
    • 無料ではない、価格$ 295
    • Windows、.NET、SQL Serverが必要
  • Visual Studio 2008データベースエディション
    • Windowsが必要
    • 高価なMSDNまたはISVサブスクリプションが必要
  • Banner Datadect
    • 無料ではない、価格$ 595
    • Windowsが必要(?)
    • MySQLのサポートなし(?)
    • GUI、コマンドラインまたはスクリプト可能ではない
  • Ruby Fakerジェム
    • バルクデータロードにActiveRecordを使用するには遅すぎる
  • スーパースマック
    • ランダムデータジェネレーターが組み込まれた、主に負荷テストツール
    • それにもかかわらず使用するのはかなり簡単
    • 全体的に優れた次点ツール
  • Databene Benerator
    • 私のニーズに最適なソリューション
    • DbUnitと互換性のあるXMLスクリプト
    • オープンソース(GPL)Javaコード
    • コマンドラインの使用法
    • JDBC経由で直接多くのデータベースにアクセスする

これは本質的に似ており、それ自体が興味深いです:en.wikipedia.org/wiki/Fuzz_testing
悲しみ

GenerateDataはphpアプリケーションです。コードをハッキングして、必要な量のデータレコードを生成できます。V2.xの場合。3.xがライセンスを変更するかどうかはわかりません。
Han Zheng

回答:


41

要件に近いテストデータジェネレータであるdatabene beneratorを見てください。

  • 既存のテーブル定義のデータを生成できます(または本番データを匿名化することもできます)
  • 大きなデータセットを生成できます(サイズは無制限)
  • さまざまな入力(CSV、フラットファイル、DBUnit)および出力形式(CSV、フラットファイル、DBUnit、XML、Excel、スクリプト)をサポートします
  • コマンドラインまたはMavenプラグインを介して使用できます
  • オープンソースでカスタマイズ可能です

やってみます。

ところで、類似製品のリストはdatabene beneratorのWebサイトで入手できます。


誰かがそれの使用で成功しましたか?私はそれを試しましたが、benerator-wizardは無効なpom.xmlファイルを生成します(「データベースを読み込む」オプション用)。さらに、mavenを使用していずれかのデモ(hsqldb)を実行すると、エラーも発生します。私には、ツールの形が良くないように思えるので、時間を失う価値はありません。
Peter Butkovic 2013年


6

http://www.mockaroo.comをお試しください

これは、自分のアプリケーションのテストを支援するために私の会社が作成したツールです。誰でも無料で使えるようにしました。基本的には、WebアプリケーションがラップされたForgeryルビーの宝石です。CSV、txt、またはSQL形式でデータを生成できます。お役に立てれば。


先端をありがとう、私はそれをチェックします!
Bill Karwin 2013

5

無料のツールを探していたとのことでしたが、これは私が295ドルを費やすと節約された時間ですぐにあなたに返済することを提案する1つのケースです。私は昨年、RedGateツールSQL Data Generatorを使用してきましたが、これは要するに素晴らしいツールです。列間の依存関係の設定を可能にし、電話番号、URL、名前などのビジネスオブジェクトの現実的なデータを生成します。正直に言って、このツールが何度も何度も採算が取れたことを正直に述べることができます。


うん、私は何百もの開発時間を節約するために295ドルを費やすことを嫌いません。リードをありがとう!
ビルカーウィン

2

MySQL固有の何かを使用する場合、または使用する場合は、Super Smackを参照してください。現在、Tony Bourkeによって保守されています。

Super Smackを使用すると、ランダムデータを生成してデータベーステーブルに挿入できます。これはカスタマイズ可能であり、パッケージ化されたwords.datファイル、または任意のテストデータを使用できます。

それの良い点の1つは、コマンドラインが高度にカスタマイズ可能であることです。書籍 『High Performance MySQL』にはかなり適切な使用例がいくつかありますが、これもここから抜粋されています

それがあなたが探しているものの線に沿っているかどうかはわかりませんが、ただの考えです。


有望に見えます!PostgreSQLとMySQLをサポートしていると言います。リンクをありがとう。
ビルカーウィン

2

利用可能な偽のデータジェネレーターの1つを備えたRubyスクリプトで問題なく実行できます。

http://faker.rubyforge.org/はそのような宝石の1つです。残念ながら、これはすべての要件を満たしているわけではありません。

ここに別のものがあります:http : //random-data.rubyforge.org/

そして、Fakerを使用するためのチュートリアル:http : //www.rubyandhow.com/how-to-generate-fake-names-addresses-in-ruby/


RE:既存のテーブル定義のデータを生成する柔軟性。Faker gemを利用可能なORMの1つと組み合わせます。ActiveRecordがおそらく最も簡単でしょう。


ActiveRecordインターフェースを介して、一度に1行ずつ、100万行を超えるバルクロードを実行しようとしましたか?私は完了までの時間について楽観的ではありません。
ビルカーウィン

また、今日はいくつかのCucumber FeatureステップとそのSLO WでFaker gemを使用しました。つまり、これまでの私のスコアはActiveRecord -1です。Faker -1私はそれほど上手ではありません。:)
brendanjerwin 2009年

2

通常は非常に高額ですが、小規模なISVであれば、Visual Studio 2008 Database Editionを非常に安価に入手できます。エンパワーおよびbizsparkのプロモーションをご覧ください。テストデータを生成するだけでなく、はるかに多くの機能を提供します(SCCとの統合、ユニットテスト、DBリファクタリングなど)。

Red-Grateツールは非常に簡単に習得できるという事実を気に入っているので、SQLデータジェネレーターを調べます。


ええ、RedGateのツールと同じ価格で、それほど費用はかかりませんが、それに加えてISVとしての資格が必要であり、それは他のものを購入することを意味します。とにかくリンクをありがとう、それは間違いなく誰かのために役立つでしょう。+1
ビルカーウィン

2

リストから欠落してはならないツールは、データベースに直接データを入力したり、挿入スクリプトを生成したり、多数のプリインストールされたジェネレーター(および複数のデータベースをサポート)を備えたDatanamicのデータジェネレーターです。

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


提案をありがとう。これはWindowsプラットフォーム専用で、価格は799ドルです。
ビルカーウィン2013

1

実際のlorem ipsumテキストを探しているのではないことは知っています。しかし、他の誰かが実際のlorem ipsumジェネレータを検索してこのスレッドを見つけた場合:lipsum.comはそれをうまく処理します。


リンクをありがとう、しかしええ、それは私が探していたものではありません。
ビルカーウィン

Dummy Lipsumと呼ばれるFirefoxのプラグインもあり、便利です!申し訳ありませんが、Bill :(
alex

1

無料ではありませんが、Visual Studio 2008 Database Editionは優れた代替手段であり、多くの機能を提供します(SCCとの統合、ユニットテスト、DBリファクタリングなど)。


年間$ 5469のMSDNサブスクリプションを通じてのみ利用できるようです。お金の量のために、私は、テストデータを作成し、それを入力するために、いくつかの大学の学生を雇うことができます。
ビルKarwin

1

Datatectというツールを使用します。

  1. フラットファイルまたはODBC準拠のデータベースにデータを生成します。
  2. VBScriptを介して拡張可能。
  3. 参照的に認識している。親テーブルの値を外部キーに入力します。
  4. データはコンテキストに対応しています。特定の郵便番号の市区町村、都道府県、電話番号、姓、性別を含むタイトル。
  5. カスタムの複雑なデータ型を作成できます。
  6. 20億を超える固有名詞、商号、住所、都市、州、および郵便番号を生成します。

私はこのツールを使用して、SQLServerデータベースに最大40,000,000行のデータを生成し、Oracleデータベースに最大8,000,000行のデータを生成しました。

私はバナーシステムとはまったく関係がなく、満足している顧客です。


それは有望なオプションのように見えます。リンクをありがとう。+1ただし、私はWindowsを主要プラットフォームとして開発していません。申し訳ありませんが、質問ではそれを指定していません。
ビルカーウィン


1

OS XにはData Creator(US $ 7)があります。テスト目的でダウンロードは無料です。これを使用して、ソフトウェアとその機能を評価できます。

OS X Lion以降が必要です。多くの異なるフィールドタイプを生成でき、カスタムエクスポートモードといくつかの事前設定(TSV、CSV、HTMLテーブル、内部にテーブルがあるWebページ)があります。

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:私は提供されている他のツール(dbmonsterを含む)の3つまたは4つを試しましたが、ベネレーターが非常に速く、現実的なデータを提供し、柔軟であることがわかりました。また、フォーラムに投稿したときに、ツールの作成者から非常に迅速で役立つフィードバックを受け取りました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.