it-swarm.asia

كبيرة / ضخمة على سبيل المثال قواعد بيانات ملفات .sql لتحميل على شبكة الإنترنت؟

أين يمكنني العثور على ملفات قواعد البيانات .sql كبيرة الحجم ذات سعة 100 ميجابايت أو عدد قليل من نص غيغابايت ، بالإضافة إلى 10.000.000 صفًا من النصوص حتى أتمكن من اختبار فهرسة محرك بحث أبو الهول

2
larens

إذا كنت ترغب حقًا في قضاء هذا النوع من الوقت في التنزيل ، فإليك رابطًا إلى Wikipedia dumps - "تحذير: 6.07 جيجابايت مضغوط ، حوالي 27 جيجابايت غير مضغوط اعتبارًا من 2010-09-20" (وأنت لا يزال لدي فقط 3428557 مقالة)

إليك نص سريع PHP من شأنه أن يجعله واحدًا لك (ما عليك سوى إنشاء قاعدة بيانات فارغة ، ومنح مؤقتًا امتيازات $db_user CREATE + INSERT ، وملء متغيرات التكوين في البرنامج النصي):

<?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';

?>

ملاحظة: ستحتاج على الأرجح إلى تغيير تكوين بيئة PHP أو يمكنك تعديل عدد الإدخالات لتشغيل هذا البرنامج النصي ...

3
danlefree

بالإضافة إلى إجابة danlefree الممتازة ، ، يمكنك العثور على كل النص على شبكة تجاوز سعة المكدس هنا. إذا كنت تستخدم خادم MSSQL ، فقد يكون استيراد مجموعة البيانات هذه أسهل (حيث يستخدم Stack Overflow MSSQL).

2
Jesper Mortensen

غالبًا ما أستخدم GenerateData.com ، الذي يحتوي على الكثير من أنواع البيانات التي يمكنك استخدامها ويمكنه إنشاء كود SQL وكذلك ملف CSV وما إلى ذلك. لا أعرف جيدًا (أو إذا كان) سيتعامل مع ملايين الصفوف ، على أية حال.

2
DisgruntledGoat