[发明专利]对于半结构化数据的列状数据布置有效
申请号: | 201680073840.8 | 申请日: | 2016-10-19 |
公开(公告)号: | CN108369598B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 刘振华;B·哈默施密特;D·麦克马洪;刘颖 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/84 | 分类号: | G06F16/84 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 边海梅 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对于 结构 数据 布置 | ||
提供了用于将半结构化层级数据去规范化为虚拟表的技术。在实施例中,半结构化数据文档集合的至少一部分被去规范化,用于改进涉及遍历半结构化数据文档集合的半结构化数据层级的查询的执行。基于提取出的半结构化数据的模式,生成去规范化布置,其中半结构化数据的层级关系被转换为列集合。通过将去规范化布置应用到半结构化数据上,去规范化布置在虚拟表中进行物化。在实施例中,接收到的涉及遍历半结构化数据层级的查询被转换为可以在虚拟表上执行的关系查询。在虚拟表上执行关系查询改进了生成结果数据集的性能。
技术领域
本发明涉及数据库系统,并且更具体地,涉及评估对数据库系统中半结构化数据的查询。
背景技术
半结构化数据格式(诸如JSON和XML)广泛用于存储大量数据集,特别是因为半结构化数据可方便地存储在一个或多个文档中而不会丢失数据的层级信息(hierarchicalinformation)。数据的层级信息可以包括信息关系和彼此引用的数据部分的布置。例如,半结构化数据通常可以表示为节点的层级,每个节点包含数据的一部分。在这样的层级中,包含半结构化数据的一部分的每个节点与层级中的一个或多个其它节点具有层级关系:节点在半结构化数据中可以是另一个节点的父节点、兄弟节点或子节点。
虽然在大量文档中存储半结构化数据的大型数据集很方便,但查询如此大量的文档具有挑战性。特别地,查询可能请求与查询定义的值约束匹配并且位于层级的特定级别/分支/节点中的数据。为了满足查询,匹配查询标准的每个文档需要根据层级进行浏览以匹配所请求的数据。这些操作可能非常昂贵,尤其是考虑到可能需要遍历数千甚至数十万个文档。如果所涉及的层级的模式是未知的,那么层级的遍历是特别昂贵的操作。为了查询未知或“隐式”模式数据,必须假定关于半结构化数据的层级,并且结果返回的数据只有在半结构化数据确实符合假定的层级时才是正确的。
一种解决方案是规范化半结构化数据并将数据存储在关系数据库的关系表中,以利用数据库管理系统(DBMS)的强大查询功能。但是,即使以关系方式存储数据时,查询性能也不是最优的。对于具有一对多基数关系的数据集,半结构化数据的数据集单独存储在关系数据库中以避免重复。例如,对于除了名称之外还包含客户地址和电话号码的客户数据,每个客户名称可以对应于多个地址以及多个电话号码。因此,如果所有客户数据都要存储在DBMS中的关系数据库的单个表中,那么为了保留客户名称与地址和电话号码之间的关系,每个客户名称将针对每个地址再次重复,并且然后针对每个电话号码重复。将地址和电话号码存储在单独的表中,与客户名称的外键关系存储在单独的表中,避免了重复客户名称。术语“规范化”是指根据数据集的基数关系和数据类型将数据分成数据集的处理。
虽然通过避免重复对半结构化数据进行规范化提高了存储效率,但与文档存储相比尚未改进的查询性能可能仍然使其得不到重视。需要来自多个数据集的数据的查询需要根据其相应的关系来加入数据集。例如,如果查询针对选择客户名称连同地址和电话号码,那么查询执行包括将客户名称表与客户地址表和客户电话号码表接合以产生结果数据集。这种接合操作可能消耗大量资源,尤其在经常执行这种接合操作并且数据集大的情况下。
一种解决方案是产生以规范化方式物理存储的数据的去规范化“视图”。代替以去规范化的方式存储数据的另一个副本,DBMS存储产生去规范化视图的预先计算的查询。当接收到引用视图的用户查询时,执行视图的存储的预先计算的查询以产生该视图的结果数据集。虽然存储的查询是预先计算的,但DBMS仍然必须从物理存储中检索数据并将数据布置在一起以获得结果数据集。因此,即使查询视图也会比从数据库中的单个表中检索数据消耗更多的计算资源。
附图说明
在附图中:
图1A是根据实施例的数据库管理系统(DBMS)的框图,该数据库管理系统同时维护易失性存储器中的镜像格式虚拟表和持久性存储装置中的持久性格式虚拟表;
图1B是描绘根据实施例的用于针对半结构化数据文档集合处理查询并且为所查询的半结构化数据生成虚拟表的程序逻辑的处理图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680073840.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置