web-dev-qa-db-fra.com

exemple de bases de données volumineuses / énormes. Fichiers à télécharger sur le Web?

Où puis-je trouver de très grandes bases de données. Fichiers SQL avec 100 Mo ou quelques Go de texte, plus de 10.000.000 lignes de texte afin que je puisse tester mon indexation Sphinx

2
larens

Si vous voulez vraiment passer ce genre de temps à télécharger, voici un lien vers le vidages Wikipedia - "AVERTISSEMENT: 6,07 Go compressés, environ 27 Go non compressés à la date du 2010-09-20" (et vous ' ll a encore seulement 3 428 557 articles)

Voici un rapide script PHP qui vous en créera un (créez simplement une base de données vide, accordez temporairement les privilèges $db_user CREATE + INSERT et remplissez les variables de configuration dans le script):

<?php

$db_Host = '127.0.0.1';
$db_name = 'testing';

$db_user = 'root';
$db_pass = '';

$entries = 10000000;
$entry_words_min = 250;
$entry_words_max = 1000;

/*
  End configuration
*/

function get_Rand_Word( $len_min, $len_max ) {
    for ( $i = 0; $i < ( Rand( 0, $len_max - $len_min ) + $len_min ); $i++ ) {
        $Word .= chr(Rand(65, 90));
    }
    return $Word;
}
function get_title() {
    for ( $i = 0; $i < ( Rand( 4, 10 ) ); $i++ ) {
        $title .= get_Rand_Word( 2, 9 ) . ' ';
    }
    return $title;
}
function get_fulltext() {
    for ( $i = 0; $i < ( Rand( 250, 500 ) ); $i++ ) {
        $fulltext .= get_Rand_Word( 2, 9 ) . ' ';
    }
    return $fulltext;
}

$dsn = 'mysql:dbname=' . $db_name . ';Host=' . $db_Host;

try {
    $dbh = new PDO($dsn, $db_user, $db_password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    die();
}

$dbh->query('CREATE TABLE IF NOT EXISTS `sphinx` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `title` varchar(150) collate utf8_bin NOT NULL,
  `fulltext` text collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin');

$sth = $dbh->prepare('INSERT INTO `sphinx` (`title`,`fulltext`) VALUES (:title, :fulltext)');

$counter = 0;
for ( $i = 0; $i < $entries; $i++ ) {
    $sth->execute(array(
        ':title' => get_title(),
        ':fulltext' => get_fulltext()
    ));
    $counter++;
}

echo $counter . ' rows inserted';

?>

Remarque: Vous aurez probablement besoin de modifier votre configuration d'environnement PHP ou de modifier le nombre d'entrées pour exécuter ce script ...

3
danlefree

En plus de excellente réponse de danlefree , , vous pouvez trouver tout le texte sur le réseau Stack Overflow ici . Si vous utilisez un serveur MSSQL, cet ensemble de données peut être plus facile à importer (Stack Overflow utilisant MSSQL).

2
Jesper Mortensen

J'utilise souvent GenerateData.com , qui contient de nombreux types de données que vous pouvez utiliser et peut générer du code SQL aussi bien que CSV, etc. Je ne sais pas dans quelle mesure (ou si) il gérera des millions de lignes , bien que.

2
DisgruntledGoat