-1

目前的项目情况。

  1. 从外部系统获取大量小于 50KB 的 XML,如果它包含附件,则大小约为 5MB MAX。由于内部嵌套元素,XML 结构的复杂性中等。有大约 70 个第一级元素,然后是它的子元素和子元素......将该 XML 存储在 MS SQL 服务器的 String 列中。
  2. 在存储 XML 时,我们从 XML 中读取搜索条件字段并将它们维护在新列中以改进搜索查询。
  3. 搜索功能以列表的形式显示这些消息数据。搜索条件字段(可选约 10 个字段)来自 XML 元素。解析该 XML 以在列表中显示元素(大约 10 -15)
  4. 将来也有可能报告功能。

此设计的挑战:如果引入了基于新条件搜索列表的新功能,则需要在 DB 表中再添加一列,并且必须从 XML 中存储该字段值,这不是此设计的最佳部分。

建议改进:计划不是以字符串格式存储 XML,而是将其存储为 XML 列,以去除多余的列来保持搜索字段的值,并使用 XML 列查询进行搜索和获取。

问题

  1. 在搜索的情况下,哪个数据库会给我最佳性能?我必须只获取符合该搜索条件的 XML。
  2. SQL 或 NoSQL,如 MongoDB?
  3. 是否有可用的性能指标?或者任何相同的案例研究?
  4. 用于管理报告负载的数据库。
4

1 回答 1

0

您使用什么客户端语言?Java / PHP / C# / ...?它们中的大多数都有可以满足您需求的 XML 库。数据库是数据存储库,而不是数据操纵器。

于 2017-06-08T05:17:49.830 回答