【问题标题】:Scalability of open source XML Databases开源 XML 数据库的可扩展性
【发布时间】:2015-07-17 03:04:18
【问题描述】:

我们正在寻求开发一个报告应用程序,用于报告存储在大量 XML 文件中的数据。约 3,000,000 个文件,大小从 7KB 到 5MB 不等(每个文件符合相同的架构)。我猜大概会有 200GB 的 XML。我正在研究一些开源 XML 数据库(Sedna、BaseX 和 eXist-db),我不确定这些系统的扩展性如何,我阅读了这三个数据库的比较here。这就是我对可扩展性的担忧的来源。

关于我们想要做的一些细节是:我们不会更改任何 XML 文件中的数据,并且每天都会添加新文件。由于我们关心报告查询性能对我们来说很重要,因此添加和索引新文件所花费的时间对我们来说并不是一个高优先级。

我想知道是否有人有使用类似规模的这些系统的经验?我查看了 BaseX statistics page 并看到了一些相当大的 XML 实例,但没有提及性能。

我们不需要开源产品,MarkLogic 系统看起来可以很好地满足要求,但我很好奇开源产品做了什么。

【问题讨论】:

    标签: exist-db basex xml-database sedna


    【解决方案1】:

    我认为用yesno 来回答您的问题是不可能的。从您提供的小细节中无法说明任何有关性能的信息。

    性能通常取决于您要执行的查询和数据的分布。更不用说,你认为是“可接受的”。

    paper you referenced 中,有趣的是,他们声明他们无法使 eXist 2.2 预览版中的新范围索引 工作。当然,如果没有这些,他们会看到更糟糕的表现。最后他们表示他们将选择 Sedna,因为他们可以克服 Sedna 的问题,我不清楚为什么会这样,即他们是否有可以与 Sedna 一起工作的 C++ 开发人员,但他们没有 Java 开发人员可以与 eXist 或 BaseX 一起使用吗?最后,他们测试 eXist 和 BaseX 的 Java 版本比较老,下一个版本的 eXist (3.0) 将只支持 Java 8 和更新的版本。

    如果您无法将 200GB 的数据存储到 BaseX、eXist 或 Sedna 中,我会感到惊讶,但在不知道您的数据和您想要执行的查询类型的情况下,我无法评论查询性能。

    我认为您最好以与链接文章相同的方式对其中一个或全部进行小试验。

    【讨论】:

    • 作者无视 eXist 2.2 的新范围索引是一个相当重要的警告。我希望作者从 eXist 邮件列表中寻求帮助;配置它很简单。这篇文章也一再自相矛盾;例如,“当集合大小增加时,BaseX 和 Sedna 在时间上或多或少保持不变,而 BaseX 在时间上呈线性增加”(第 7 页)。很遗憾这篇文章没有经过校对。尽管如此,这篇文章代表了一个用户/组织对性能的相当严格的研究,所有三个项目都应该认真对待它。
    【解决方案2】:

    只是想分享我在这个话题上的经验。我的经验仅限于小得多的数据集——大约是 50k 个文档,总大小约为 1GB。为此,我们使用 Sedna XML DB。我们不会更改文档,而是会在发生更改时覆盖现有文档,并且有很多只读 XQuery,包括大型报告。

    简而言之,我认为 Sedna 不适合您,除非您找到一种方法将其复制到另一台服务器以用于阅读。在执行一些持久的报告 XQueries 时,我遇到了与数据库负载相当适中的集合锁相关的主要性能问题。据我所知,Sedna 不提供复制功能,但您可能可以在 Sedna 之上采用一些解决方案。例如,快速谷歌搜索在该区域显示some research。您可以尝试在Sedna mailing list 上提问。其他缺点包括缺乏 XQuery 3.0 支持和似乎冻结了进一步的开发。但是,邮件列表中的支持仍然非常活跃。

    我也有一些使用 eXist-db 的经验,但我更多地将它用作 XML 处理和管道平台,而不是 XML 存储。在扩展方面,它看起来仍然更有希望。虽然我没有使用过它的复制功能,但在docs 中提到了它们。我建议您也尝试在mailing list 上搜索/询问。

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 2010-09-18
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2014-01-19
      • 2020-01-27
      相关资源
      最近更新 更多