【问题标题】:Use lucene to store indexing meta data or Amazon SimpleDB?使用 lucene 存储索引元数据或 Amazon SimpleDB?
【发布时间】:2011-12-15 23:09:57
【问题描述】:

我正在构建一个 Web 解决方案,它接收上传的文件并将它们放在 S3 上。上传文件时,用户可以添加元数据以进行索引和归档。我曾计划为此目的使用 Lucene,因为我之前使用过很多次,但也注意到 Amazon SimpleDB 为 S3 提供了对象元数据服务。

SimpleDB 吸引了我,因为它在为 Web 应用程序服务的机器上缺乏维护和开销,以及 SimpleDB 在 Lucene 的单一位置索引文件上的分布式特性。

要求是当您键入 Lucene 可以提供的 Web 界面时,用户需要进行 ajax 搜索,但 SimpleDB 也可以在这个有限范围的应用程序中使用 SimpleDB 索引而不是 Lucene 获得/失去什么?

感谢您的知识。

【问题讨论】:

    标签: c# amazon-s3 lucene.net amazon-simpledb


    【解决方案1】:

    我已经将 SimpleDB 用于这样的事情。除了零维护之外,其优势在于 SimpleDB 基本上可以无限扩展。如果您想针对非常高的流量进行架构设计,这确实是一个优势。

    我看到的 SimpleDB 的主要缺点是:

    • 更高的延迟。 SimpleDB 旨在实现巨大的可扩展性和高可用性。权衡是请求具有中等延迟 - 比使用 Lucene 等“本地”非分布式服务或使用 RDBMS 文本搜索功能时的延迟更高。

    • 不太灵活的文本搜索。 Simple DB 基本上有一个类似 SQL 的查询语法,它支持通常的 =、!=、>、注意:LIKE 条件以前只支持字符串末尾的“%” - 您可能会在网上看到这种限制,但现在已经不存在了。

    默认情况下,SimpleDB 还使用“最终一致性”模型(更新可能需要一点时间 - 有时需要 10 秒 - 才能始终可见)。这是无法避免的可扩展性的结果。但是,我怀疑这对您的用例来说是个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2010-10-05
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      相关资源
      最近更新 更多