【问题标题】:Database suited most for handling 100MB to GB's [closed]最适合处理 100MB 到 GB 的数据库 [关闭]
【发布时间】:2012-09-03 00:15:49
【问题描述】:

我需要存储 100MB 到 1Gb 的数据(像 BOOK1、BOOK2 等字符串)并且它会增长。当用户对 book1(按名称)的名字搜索完成时(并且应该很快)并且一旦找到匹配项,它就会检索与 book1 相关的数据,例如作者姓名、出版日期、版本等。

1GB的数据只是书名,但与书籍相关的数据更多(作者姓名、版本、印刷日期等)。因此,如果我只考虑 1GB(将增长)作为索引,Oracle 或任何 SQL 数据库将快速有效地进行文本搜索(搜索只是书名,没有书扫描)。

[我想用后缀树建立索引,但它使用了 40 倍 * 没有字符,这是巨大的。]

Oracle 或 MS Sql 或 MySQL 是不错的选择吗?还是我需要考虑 Hadoop MapReduce 或分布式计算。

Oracle 或其他 SQL 是否有关于访问时间和并发访问数的基准?

非常感谢。

【问题讨论】:

    标签: sql-server oracle tree search-engine information-retrieval


    【解决方案1】:

    根据您的存储要求,您可以使用 Oracle XE,但有以下限制:

    1. 它将允许您存储多达 4G 的数据
    2. 最多使用 1G 内存

    此外,它可以免费使用。可以下载here

    【讨论】:

      【解决方案2】:

      1 GB 的数据可以由您提到的任何小型数据库处理

      【讨论】:

      • 1GB的数据只是书名,但与书籍相关的数据更多(作者姓名、版本、印刷日期等)。因此,如果我只考虑 1GB(将增长)作为索引,Oracle 或任何 SQL 数据库将快速有效地进行文本搜索(搜索只是书名,不扫描书)。
      • 大部分查询会很快,但是像 '%ame' 这样从字符串开头搜索的查询可能会很慢,因为常规索引不会覆盖它,您需要利用全文搜索功能使此类查询有效
      • 是的,你是对的,我读过 Oracle 支持全文搜索,但我无法获得有关其基准数据的任何信息。 Oracle 会在这里完成这项工作,还是我必须采用 mapReduce 方式?
      • 1 GB 是非常保守的数据量,从这个角度来看,你的普通笔记本现在有 2GB-4GB 内存,即使是小型服务器也至少有同样多的内存,可能是 2-4 倍很多。它可以完全适应服务器的内存。当您进入拥有数百 GB 数据的域时,MapReduce 才有意义。
      猜你喜欢
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2012-05-24
      相关资源
      最近更新 更多