使用基于XML的数据库有哪些优缺点?

0xF*_*00c 4 xml database content-management-system

我遇到了一个名为GetSimple的CMS.它使用XML来存储其所有内部数据.在某种程度上,它使用XML作为数据库.现在任何人都可以向我解释使用XML作为数据库的优缺点.

提前致谢.Tanmoy

Kyl*_*ndo 7

一些信息,引自本网站:

如果您的应用程序需要在企业之间移动数据,那么XML是一个很好的解 XML允许您使用标准HTTP协议通过Internet和防火墙发送数据.如果您的应用程序需要在硬件或软件平台(OS)之间移动数据,那么XML也是一个不错的选择.XML不是特定于机器或操作系统的.最后,如果您只是想确保您的应用程序或数据源是健壮的,即使数据架构发生变化,XML也是一个不错的选择.XML使您的应用程序可以扩展,因为您使用元素和属性名称而不是结构化编程语言使用的偏移来访问XML格式的数据.请注意,使用元素和属性名称访问XML中的数据类似于在SQL Server表中按名称访问字段.如果您有一个或多个这些应用程序要求,那么XML是一个很好的解决方案.

接下来,您需要确定在应用程序中生成或使用XML的最佳位置,这是一个重要的决定,因为使用XML会产生处理开销.这种开销以不同的方式表现出来,具体取决于您是在使用XML还是生成XML.对于XML使用者,您需要使用minimuma方法来解析XML.您可能还需要一个对象模型来访问已解析的数据.对于XML生成器,将本机数据格式转换为XML会产生开销.在中间层,处理开销至关重要.如果您的中间层程序操作,执行计算或重新格式化数据,并且您的数据库位于防火墙内,则XML不应该是您的首选.在这种情况下,从数据库请求正常结果集并使用传统数据访问方法来执行应用程序处理将更有效.处理完成后,中间层应用程序可以生成XML输出.使用传统的数据访问方法可以避免在数据库中生成XML的开销,以及解析XML和在中间层上构建对象模型的开销.在中间层生成XML的唯一潜在好处是,您可以松散地耦合中间层应用程序和数据库,但成本很高.

现在,让我们将这些使用指南应用于您在问题中描述的方案.您似乎无需在企业之间,Internet上或通过防火墙移动数据.因此,除非您尝试使应用程序更具可扩展性,否则XML不适合您的方案.传统的数据访问技术将满足您的需求.但为了演示XML的价值,我们假设您需要使您的应用程序可扩展.您可以升级到SQL Server 2000并使用其集成的XML支持.这是您的最佳选择,因为它提供了最大的灵活性.如果必须从SQL Server 7.0或6.5访问数据,请查看SQL Server XML技术预览,网址http://msdn.microsoft.com/downloads/samples/internet/xml/sqlxml/default.asp.此预览提供与SQL Server 2000中的XML支持类似的功能,但预览适用于SQL Server 7.0和6.5.(有关SQL Server 2000的XML集成与Microsoft的XML技术预览之间差异的信息,请参阅Bob Beauchemin,"XML文件",2000年9月.)

  • 我把要点加粗了,而且我只粘贴了相关信息。-1 非常非常没有必要。 (2认同)
  • @Elizabeth 包含外部资源的相关部分并没有错,即使它们的长度适中。它被恰当地归因和明确。 (2认同)

bal*_*ldy 3

只要数据集相对较小,使用 XML 作为数据库就可以正常工作。意思是,它可以全部装入记忆中并舒适地留在那里。一旦您的数据增长到内存无法全部容纳的程度,您可能会开始看到严重的性能下降。