优化原生xml数据库的6个技巧

优化原生xml数据库的6个技巧

ID:8979185

大小:75.50 KB

页数:11页

时间:2018-04-13

优化原生xml数据库的6个技巧_第1页
优化原生xml数据库的6个技巧_第2页
优化原生xml数据库的6个技巧_第3页
优化原生xml数据库的6个技巧_第4页
优化原生xml数据库的6个技巧_第5页
资源描述:

《优化原生xml数据库的6个技巧》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、优化原生XML数据库的6个技巧在原生XML数据库中使用XQuery的一般原则2010年1月25日RSS、Atom、mashup、高级搜索要求和其他发展正使得原生XML数据库成为搜索应用程序和服务的一个重要组成部分。XML数据库类型的优势在于擅长高效地在大量半结构化(semi-structured)的数据中进行搜索。在本文中,您将发现一些用于最大化使用XQuery和XML数据库的应用程序的性能的一般原则。XQuery和原生XML数据库常用缩写词·RAM:随机存取存储器·RSS:真正简单聚合·XML:可扩展标记语言·XSLT:可扩展样式表语言转换在某些情况下,

2、在原生XML数据库系统中使用XQuery(一种用于查询XML数据集合的函数型语言)可能非常有用。与标准关系数据库相比,原生XML数据库在服务于主要是只读的复杂查询时能够提供更快的响应时间和开发时间。XQuery是目前最简单、最强大的数据转换系统,它完美地内置在查询语言中。借助XQuery,可以实现更快的开发时间,因为无需设计一个单独的全文本索引系统,或者为用户组装大量数据。以减慢插入和更新速度为代价,原生XML数据库能够提供无与伦比的开箱即用响应时间,因为它们保持数据基本上非规格化(denormalized),提供默认索引,并能极好地利用可用RAM。但是,

3、在处理超大型数据集时,您还可以通过遵循以下一般原则进一步改善原生XML数据库的查询响应时间。·避免规格化·采用唯一的元素名称·预先计算值·通过查询转换数据·剖析XQuery代码·保留优化列表这些原则是通用的,适用于当今可用的许多原生XML数据库,包括IBMDB2®Express-C、MarkLogicServer、eXist、甚至OracleBerkeleyDBXML(参见 参考资料 中的链接)。接下来,我们将详细探讨这些优化原则。避免规格化设计原生XML数据库模式时,最重要的事情是避免使用设计关系数据库时采用的方法来规格化数据。原生XML数据库的数据规格

4、化过程涉及到设计多个XML文档类型,这些文档类型相互链接的方式与关系模型表相互链接的方式类似。但是,在多数情况下,需要尽可能少(如果有的话)地规格化原生XML数据库的数据。将原本应该驻留在几十个关系模型表中的数据存储到一个XML文档类型中的做法是十分常见的。现今的大多数XQuery实现执行连结(join)操作的效率很低,即使是一个只涉及几千条记录的简单查询都需要耗费大量的、令人难以接受的处理时间。这就使得下面这条决定是否应该规格化数据的标准很明确:永远不要规格化数据,以免受支持的查询需要执行连结操作来选择记录。受支持的查询是这样一种查询,即您可以合理地预期

5、用户怎么对待您的数据。例如,如果构建一个用于销售录像带的应用程序,您可能预期用户会查询标题中包含某个关键字并且由某个导演执导的所有视频。因此,您肯定希望表示视频的XML文档包含视频标题和导演姓名。另一方面,对于这个特定的应用程序,您也许不希望支持用户查询标题中包含某个关键字并且由纽约出生的某位导演执导的所有视频。换句话说,对于这个视频应用程序示例,如果您拥有导演的详细信息(不仅仅是导演姓名),可以考虑将这些信息保存在一个单独的XML文档中。使用以下两个互相链接的XML文档类型来描绘数据库:video-rec 和 director-rec,前者带有关于视频的

6、信息,其中包含一个 director-rec 标识符;后者带有关于导演的信息。要查询标题中包含某个关键字且导演出生于纽约的记录,必须执行连结操作以选择记录。如前所述,也可以不支持这种类型的查询,因为这是一种更侧重于数据挖掘的查询,而不是大多数浏览在线视频商店的用户通常执行的查询类型。但是,除非您有具体原因需要将关于导演的详细信息移动到一个单独的文档类型中,否则应该将这些信息保存在 video-rec 文档中。尽管在原生XML数据库中执行连结操作来选择记录总是低效的,但是在转换搜索结果中的数据时从多个XML文档提取数据通常是可取的。我此前描述的视频商店能够轻

7、松高效地呈现包含导演出生地的结果,尽管获取这个地址需要从原始搜索结果之外的文档提取数据。以这种方法组装结果,所需的操作仅限于应用程序已经选择和计划显示的少数几条记录,与常规的搜索查询中连结多个文档类型所需的资源相比,这种方法的计算和内存需求可以忽略不计。回页首采用唯一的元素名称唯一元素 总是指向一个XML文档中的同一元素。非唯一元素 可以出现在XML文档中的任意位置,必须前置一个路径才有意义。例如,如果一个XML文档包含10个类型完全不同的节点,每个节点都包含一个日期元素作为其子节点,那么日期元素就是非唯一元素名称。采用非唯一元素名称会影响您评估或剖析一些

8、用于定位数据的XQuery或XPath替代方法。例如,非唯一元素能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。