1

我是甲骨文的新手。我想要一个巨大的样本数据库(有一百万个元组)。我找不到任何使用谷歌。我正在使用 oracle 10g .. 你们知道我可以从哪里下载吗?

谢谢 ..

4

1 回答 1

1

我不知道有任何这种大小的“现成”样本数据库

据我所知,您有两种选择:

  1. 使用PolePosition创建示例数据库。它最初是一个基准框架,但带有自己的数据库模式和生成大型数据库的必要工具(您可以定义哪个大小)
  2. 使用像Benerator这样的测试数据生成器从头开始完全创建您的测试数据。一开始看起来有点吓人,但它是一个非常强大的工具。它还具有生成有意义的名称、邮政编码等的生成器。因此,您将获得“看起来”真实且不含乱码的测试数据。

下面的 benerator 脚本为表生成一百万行,其中items的每一行items生成 10 行item_details(所以你最终得到 100 万和 1000 万行)

<?xml version="1.0" encoding="iso-8859-1"?>
<setup  xmlns="http://databene.org/benerator/0.7.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://databene.org/benerator/0.7.0 http://databene.org/benerator-0.7.0.xsd">

    <import defaults="true"/>
    <import platforms="csv"/>


    <generate type="items" count="1000000">
        <consumer class="org.databene.platform.csv.CSVEntityExporter">
            <property name="uri" value="items.csv"/>
            <property name="separator" value="|"/>
            <property name="encoding" value="ISO-8859-1"/>
        </consumer>

        <id name="item_id" type="big_integer" generator="IncrementalIdGenerator"/>
        <attribute name="item_name" type="string" pattern="[A-Z][a-z ]{6,25}"/>

        <generate type="item_details" count="10">
            <consumer class="org.databene.platform.csv.CSVEntityExporter">
                <property name="uri" value="item_details.csv"/>
                <property name="separator" value="|"/>
                <property name="encoding" value="ISO-8859-1"/>
            </consumer>
            <id name="item_detail_id" type="big_integer" generator="IncrementalIdGenerator"/>
            <attribute name="item_id" script="items.item_id"/>
            <attribute name="sort_sequence" type="int" />
        </generate>

    </generate>
</setup>

如果您想要更“真实”的名称,请查看以下脚本,该脚本会生成具有有效 EAN 代码和一些“正常”外观的制造商名称的产品:

<?xml version="1.0" encoding="iso-8859-1"?>
<setup  xmlns="http://databene.org/benerator/0.7.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://databene.org/benerator/0.7.0 http://databene.org/benerator-0.7.0.xsd">

    <import platforms="csv"/>
    <import domains="product"/>
    <import domains="organization" />

    <setting name="product_count" value="100000"/>

    <generate type="product" count="{product_count}">
        <consumer class="CSVEntityExporter">
            <property name="uri" value="products.csv" />
            <property name="separator" value=","/>
        </consumer>

        <id name="id" type="long"/>
        <attribute name="ean_code" unique="true" generator="EANGenerator"/>
        <attribute name="product_code" unique="true" pattern="[A-Z]{3}[0-9]{6}"/>
        <variable name="cust" generator="CompanyNameGenerator" dataset="DE" locale="de_DE"/>
        <attribute name="manufacturer_name" source="cust.shortName"/>
    </generate>

</setup>

创建数据文件后,您可以使用 SQL*Loader 将它们导入数据库。

这种方法的优点是您可以完全控制测试数据库中的表,并且可以根据您尝试使用它来调整它们。

于 2012-08-28T06:55:28.397 回答