我有一个系统,每天生成大量的XML文档(大约100万),我希望能够存储和索引这些文档,以便我可以,例如,搜索具有特定字段的所有文档设置为给定值.
据我所知,基本上有两种类型的XML数据库,它们在传统的关系数据库之上提供XML支持,而那些是"本机"XML数据库.鉴于我愿意使用其中之一,你会推荐什么?
Microsoft SQL Server支持XML列.这不仅仅是BLOB/TEXT的支持.
您可以以非结构化方式使用XML列,其中SQL Server将确保它们是正确的XML.这允许在SQL Server中存储任意XML文档,但仍然确保您处理XML而不仅仅是任意字节/字符.SQL Server允许您使用XQuery在此基础上进行查询.
您还可以使用XSD创建符合模式的XML列.更有趣的是,SQL Server允许索引XML,以便您的XPath查询可以很好地执行.
有关详细信息,请参阅" SQL Server 2008中的XML新增功能 ".(尽管SQL Server 2005中存在大多数XML支持.)