web-dev-qa-db-ja.com

テストデータの大規模なデータセットを生成するツール

効率的なデータベース設計を考え出そうとする場合、多くの場合、2つのサンプルデータベースを構築し、それらにデータを入力し、それらに対してクエリを実行して、どちらがより良いパフォーマンスを発揮するかを確認します。

比較的迅速に(理想的にはデータベースに直接)大量の(〜10,000レコード)テストデータセットを生成するツールはありますか?少なくともMySQLで動作するものを探しています。

25
BenV

最良のツール(もしそれが見つかれば)はDataFactoryです。 (残念ながら絶版)。私はそれから絶対に楽しい(そしてかなり本物そっくりの)データセットを生成しました。

Generatedata.comは許容範囲内ですが、十分に拡張できません。

DataGenerator は監視するものです。

そして DTM Data Generator は不格好でDataFactoryの代替としては不十分ですが、存在し、販売されているので、それを使用して、やや許容できるデータを生成しました。

12

RedGateには、探しているものと同様のツールがありますが、その宛先はMS SQL Serverを対象としています。

http://www.red-gate.com/products/sql-development/sql-data-generator

次の記事もご覧ください。

http://www.sqlservercentral.com/articles/Advanced+Querying/jointestdata/197/

9
Jeff

私は通常、いくつかの既知のデータを入力として使用して、独自のデータを生成します。too randomの場合、常に良いテストとは限りません。最終製品と同じように配布されるデータが必要です。

私が調整しなければならないすべてのより大きなデータベースは本質的に科学的です-したがって、通常は他の調査を入力として取り、それを再スケーリングしてジッターを追加することができます。 (たとえば、ミリ秒の精度で5分のケイデンスのデータを取得し、ミリ秒の精度で10秒のケイデンスに変換しますが、時間に対して+/- 100ミリ秒のジッター)

...

ただし、別の方法として、独自のツールを作成したくない場合は、ベンチマークツールのいくつかを確認することです。トレーニングセットに基づいて何度も繰り返すことができるため、それらを使用してロットを挿入できます。レコードの(そしてそれがどれだけ速くそれについてそれをしたかについてのレポートを無視する)...そして、あなたはそれが移入されたらデータベースがどれだけ速く動くかをテストするために同じツールを使うことができます。

4
Joe

私はmysqlslapを使用しています。それ自体もクリーンアップします。

これが article です。使い始めたときに読んだものです。

3
SteveHarville

この関数を見てください。名前、電話番号アドレス、郵便番号などを生成できます。これは完全にMYSQLで行われ、他のアプリケーションは必要ありません。 http://moinne.com/blog/ronald/mysql/howto-generate-meaningful-test-data-using-a-mysql-function

2
Sean Thompson

ベネレーター をご覧ください

最初は簡単ではありませんが、非常に強力です。

最も費用対効果の高い方法は、おそらくオープンソースまたは商用のデータジェネレーターを使用することです。以前はそうしていました。

今、私の黄金時代に、私はテストデータのそれぞれの必要性を別のスクリプト言語を学ぶ義務と見なしています。

この問題の別の解決策を探している人のために... Data Synchronization Studioのテストデータジェネレータープロジェクトを書きました。現実的なテストデータの1から数億行の範囲の大規模なデータセットを生成できます。これについてのブログ記事はこちらです。 http://www.simego.com/Blog/2012/02/Test-Data-Generator-Download-for-Data-Sync 15日間無料で使用できます(テストデータを取得したら) 、 あなたはそれを持っている)

1
Tremayne Christ