数据库:按标记值过滤基于XML的记录

时间:2017-10-27 07:08:32

标签: mysql xml database-design nosql

我有一个要求,我们有很多(~200,000)记录,每个记录有200个字段。在初始插入查询之后,数据永远不会被更改,但是会根据某些过滤器进行大量提取(例如:获取field_3 = 42和field_42 = 3的所有记录)。

我们使用关系表解决了这个问题,200个字段中的每一个都有一列。这一切都很好,直到......

我们对基于XML的记录有类似的要求。区别在于,虽然之前的记录只能包含200个字段,但新的XML记录可以包含来自大约1000个标记的池中的任意数量的标记。此外,大多数记录将非常稀疏(只有几十个标记)。 我的问题是,我们如何将早期解决方案扩展到这些基于XML的记录? 我们需要查看NoSQL数据库吗?他们会很好地处理原始的非XML记录吗?

有些观点:

  • 一个中的记录将是不可变的。我们只需要根据某些标准过滤记录。
  • 所有查询都将获取整个记录(SELECT * FROM)。

1 个答案:

答案 0 :(得分:0)

"任何组合" ==大多数查询都必须搜索整个表。当时 如果是这样,请将它们编入索引,但将其余部分放入JSON列。 (XML真的很难处理。)

EAV discussion