【发布时间】:2016-07-03 18:06:31
【问题描述】:
我有一个存档了几年的 XML 文档。有 100 万多个独特的文档主题,每个主题在任何给定年份都可能有一个或多个文档。每个文档包含数百个节点和参数。 XML 缓存的总大小约为 50GB。
我需要构建一个系统来存储和索引这些文档,允许搜索过滤各种参数(并且可以随着时间的推移扩大范围)。
为了实现这一点,我当然必须使用某种索引 DBMS。我考虑构建一个工具来将 XML 文件导入到 MySQL 等关系数据库中,但这似乎是一个脆弱且过于复杂的解决方案。
我听说过 ElasticSearch 和 MongoDB 作为可能的解决方案,但我对它们的功能集还不够熟悉,无法确定其中哪一个是最佳解决方案。
在此范围内存储、索引和搜索 XML 数据集的最佳实践和最佳解决方案是什么?
【问题讨论】:
-
最佳实践是使用 XML 数据库(示例包括 MarkLogic、eXistDB 和 BaseX):但有关选择特定产品的建议超出了 StackOverflow 的范围。
-
是否有理由选择 XML 数据库而不是 ElasticSearch?
-
我不知道 ElasticSearch,但是拥有一个无需转换即可保留数据逻辑结构并将该结构用作其查询语言的基础数据模型的数据库有很大的好处。
标签: mysql xml elasticsearch bigdata database