Method for storing XML documents in a relational database system while exploiting XML schema
    1.
    发明授权
    Method for storing XML documents in a relational database system while exploiting XML schema 失效
    在关系数据库系统中存储XML文档同时利用XML模式的方法

    公开(公告)号:US07043487B2

    公开(公告)日:2006-05-09

    申请号:US10331739

    申请日:2002-12-28

    IPC分类号: G06F17/30

    摘要: A method for storing XML documents in a relational database system while exploiting XML Schema information to capture information about types, inheritance, equivalence classes, and integrity constraints in the generated relational schema, enabling efficient querying. The invention simplifies complex XML schema types, translates the simplified XML schema types into relational tables, and then stores relations corresponding to each XML element in relational table rows. The simplification includes grouping all occurrences of a given element together, assembling two or more element types into element groups if the schema indicates that elements of those element types will occur the same number of times, and applying a number of transformation rules to the element groups. The translation includes constructing a type graph from the simplified schema, building an element graph for each global element in the simplified schema from the type graph, and generating relational tables from the element graph.

    摘要翻译: 一种用于在关系数据库系统中存储XML文档的方法,同时利用XML模式信息来捕获关于生成的关系模式中的类型,继承,等价类和完整性约束的信息,从而实现高效的查询。 本发明简化了复杂的XML模式类型,将简化的XML模式类型转换为关系表,然后将对应于每个XML元素的关系存储在关系表行中。 简化包括将给定元素的所有出现分组在一起,如果模式指示这些元素类型的元素将发生相同次数,并将多个变换规则应用于元素组,则将两个或多个元素类型组合到元素组中 。 翻译包括从简化模式构建类型图,从类型图构建简化模式中的每个全局元素的元素图,以及从元素图生成关系表。

    Using an XML query language to publish relational data as XML
    2.
    发明授权
    Using an XML query language to publish relational data as XML 有权
    使用XML查询语言将关系数据作为XML发布

    公开(公告)号:US06947945B1

    公开(公告)日:2005-09-20

    申请号:US09531802

    申请日:2000-03-21

    IPC分类号: G06F17/30

    摘要: A method for publishing relational data as XML by translating XML queries into queries against an relational database. Conversion of the relational database into an XML database is not required. Each relational table is mapped to a virtual XML document, and XML queries are issued over these virtual documents. An XML query is parsed and transformed into a language-neutral intermediate representation, which is a sequence of operations describing how the output document is derived from the underlying relational tables. The intermediate representation is then translated into an SQL query over the underlying relational tables and into instructions for a tagger. The SQL query is executed, and the SQL query results are then fed into the tagger, which follows tagger instructions to generate the marked up output.

    摘要翻译: 通过将XML查询转换为关系数据库的查询,将关系数据作为XML发布的方法。 不需要将关系数据库转换为XML数据库。 每个关系表映射到一个虚拟XML文档,并通过这些虚拟文档发出XML查询。 解析XML查询并将其转换为语言中立的中间表示,它是描述输出文档如何从底层关系表导出的操作序列。 然后将中间表示形式转换为基于关系表的SQL查询和标记器的指令。 执行SQL查询,然后将SQL查询结果输入到标记器中,标签器遵循标记器指令生成标记输出。

    Method for processing XML queries over relational data and meta-data using a relational database system
    3.
    发明授权
    Method for processing XML queries over relational data and meta-data using a relational database system 失效
    使用关系数据库系统处理关系数据和元数据的XML查询的方法

    公开(公告)号:US07016915B2

    公开(公告)日:2006-03-21

    申请号:US10331740

    申请日:2002-12-28

    IPC分类号: G06F17/30

    摘要: A system, method, and computer program product for processing XML queries over relational data and meta-data using a relational database system. The invention runs a query to generate a view definition, so a regular query processor can handle queries on a mix of data and meta-data. Names of desired tables are data-dependent, so the invention represents a default XML view as an XML query over the relational tables, gets the table names and table data by recursively invoking the query processor (first by querying the catalog table, and then querying base data according to a new construct). The invention thus processes queries over table names in addition to table values.

    摘要翻译: 用于使用关系数据库系统处理关系数据和元数据的XML查询的系统,方法和计算机程序产品。 本发明运行查询以生成视图定义,因此常规查询处理器可以处理对数据和元数据的混合的查询。 所需表的名称依赖于数据,因此本发明将XML视图作为关系表的XML查询表示,通过递归调用查询处理器来获取表名和表数据(首先通过查询目录表,然后查询 基础数据根据新的构造)。 因此,本发明除了表值之外处理对表名的查询。

    Tagging XML query results over relational DBMSs
    4.
    发明授权
    Tagging XML query results over relational DBMSs 失效
    在关系数据库管理系统上标记XML查询结果

    公开(公告)号:US06934712B2

    公开(公告)日:2005-08-23

    申请号:US09810167

    申请日:2001-03-19

    IPC分类号: G06F17/30

    摘要: A method for publishing relational data as XML by translating XML queries into queries against a relational database. Conversion of the relational database into an XML database is not required. Each relational table is mapped to a virtual XML document, and XML queries are issued over these virtual documents. An XML query is parsed and transformed into a language-neutral intermediate representation, which is a sequence of operations describing how the output document is derived from the underlying relational tables. The intermediate representation is then translated into an SQL query over the underlying relational tables. The intermediate representation is also used to generate a tagger graph, which the tagger runtime ‘walks’ to generate the tagged, structured XML output. Each of the nodes of the tagger graph are operators which perform processing on the results of the SQL query. The SQL query is executed, and the SQL query results are then provided to the tagger. The tagger runtime applies the operators of each node to the inputs at that node to produce the structured XML document as a query result, guided by the structure of the tagger graph.

    摘要翻译: 通过将XML查询转换为关系数据库的查询来将关系数据发布为XML的方法。 不需要将关系数据库转换为XML数据库。 每个关系表映射到一个虚拟XML文档,并通过这些虚拟文档发出XML查询。 解析XML查询并将其转换为语言中立的中间表示,它是描述输出文档如何从底层关系表导出的操作序列。 然后将中间表示形式转换为基础关系表中的SQL查询。 中间表示也用于生成标记图,标记运行时“走”来生成标记的结构化XML输出。 标记图中的每个节点都是对SQL查询结果执行处理的操作符。 执行SQL查询,然后将SQL查询结果提供给标记器。 标记运行时将每个节点的运算符应用于该节点的输入,以便通过标记器图的结构来指导结构化的XML文档作为查询结果。

    Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads
    5.
    发明授权
    Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads 失效
    通过多个并发操作线程中的增量和按需任务分配在多处理系统中综合工作性能

    公开(公告)号:US06304866B1

    公开(公告)日:2001-10-16

    申请号:US08884602

    申请日:1997-06-27

    IPC分类号: G06F1730

    摘要: In a multiprocessing system, multiple concurrently operating task execution units are operated to perform an aggregate task by using incremental and on-demand sub-task allocation. A command is received to perform a machine-executed task divisible into multiple sub-tasks, i.e., an “aggregate task”. A granularity is then established, for dividing the aggregate task into sub-tasks. Preferably, the granularity is not too large to permit potentially uneven sub-task allocation, and not too small to incur excessive overhead in allocating sub-tasks. Having established the granularity, multiple task execution units are independently operated on-demand to sequentially self-allocate and execute sub-tasks of the aggregate tasks. Each sub-task is sized according to the established granularity. Operating “on-demand”, each task execution unit sequentially allocates and executes one sub-task at a time, then proceeding to the next unexecuted sub-task. Thus, the multiprocessing system operates like multiple people drinking water from a common glass through individual straws—although each drinker works independently, all finish simultaneously, thus completing the aggregate task as expeditiously as possible.

    摘要翻译: 在多处理系统中,通过使用增量和按需子任务分配来操作多个并发操作任务执行单元来执行聚合任务。 接收到用于执行可分为多个子任务(即,“聚合任务”)的机器执行任务的命令。 然后建立粒度,将聚合任务划分为子任务。 优选地,粒度不是太大,不能允许潜在的不均匀的子任务分配,并且不太小,在分配子任务时不会产生过多的开销。 建立粒度后,多个任务执行单元按需独立运行,顺序自动分配和执行总任务的子任务。 每个子任务的大小根据建立的粒度。 每个任务执行单元按“按需”运行,一次顺序分配并执行一个子任务,然后进行到下一个未执行的子任务。 因此,多处理系统通过个人吸管,像普通玻璃饮水一样运作,虽然每个饮酒者独立工作,但是同时完成,从而尽可能快地完成总体任务。

    System and method for hybrid hash join using over-partitioning to respond to database query
    6.
    发明授权
    System and method for hybrid hash join using over-partitioning to respond to database query 失效
    用于混合哈希连接的系统和方法使用超分区来响应数据库查询

    公开(公告)号:US06226639B1

    公开(公告)日:2001-05-01

    申请号:US09158741

    申请日:1998-09-22

    IPC分类号: G06F1730

    摘要: A system and method for joining a build table to a probe table in response to a query for data includes over partitioning the build table into “N” build partitions using a uniform hash function and writing the build partitions into main memory of a database computer. When the main memory becomes full, one or more partitions is selected as a victim partition to be written to disk storage, and the process continues until all build table rows or tuples have either been written into main memory or spilled to disk. Then, a packing algorithm is used to initially designate never-spilled partitions as “winners” and spilled partitions as “losers”, and then to randomly select one or more winners for prospective swapping with one or more losers. The I/O savings associated with each prospective swap is determined and if any savings would be realized, the winners are designated as losers the losers are designated as winners. The swap determination can be made multiple times, e.g., 256, after which losers are moved entirely to disk and winners are moved entirely to memory. At the end of the swapping, probe table rows associated with winner partitions are joined to rows in the winner build partitions while probe table rows associated with loser partitions are spilled to disk. Then, the loser build partitions are written to main memory for joining with corresponding probe table partitions, to undertake the requested join of the build table and probe table in an I/O- and memory-efficient manner.

    摘要翻译: 响应于数据查询将构建表连接到探测表的系统和方法包括使用统一散列函数将构建表过度分割为“N”构建分区,并将构建分区写入数据库计算机的主存储器。 当主内存变满时,将选择一个或多个分区作为要写入磁盘存储器的受害分区,并且该过程继续进行,直到所有构建表行或元组都已写入主内存或溢出到磁盘。 然后,打包算法用于初始地将未分配的分区指定为“获胜者”,将分区分散为“输家”,然后随机选择一个或多个获胜者进行与一个或多个输家的潜在交换。 确定与每个预期掉期相关的I / O节省,如果实现了任何节省,则获胜者被指定为失败者被指定为赢家的输家。 交换确定可以进行多次,例如256次,之后输家完全移动到磁盘,获胜者完全移动到内存。 在交换结束时,与优胜者分区关联的探测表行将连接到优胜者构建分区中的行,而与失败分区关联的探测表行会溢出到磁盘。 然后,失败者构建分区被写入主存储器以与相应的探测表分区相连接,以I / O和存储器高效的方式承载构建表和探测表的所请求的连接。

    Relational database query optimization to perform query evaluation plan,
pruning based on the partition properties
    7.
    发明授权
    Relational database query optimization to perform query evaluation plan, pruning based on the partition properties 失效
    关系数据库查询优化执行查询评估计划,根据分区属性进行修剪

    公开(公告)号:US6092062A

    公开(公告)日:2000-07-18

    申请号:US885073

    申请日:1997-06-30

    IPC分类号: G06F17/30

    摘要: A relational data base management system includes a query processor that uses a query operator partition property to perform QEP pruning and to ensure that data input to a query operator is partitioned appropriately for the operation. The partition property indicates the group of network nodes across which a table is distributed. The query processor also makes use of partition classes that are designated "interesting classes" to perform preoptimization planning and query pruning, and to perform look-ahead partitioning based on partition classes that are identified as being of interest to future operations, thereby more efficiently evaluating complex query statements in an MPP, shared-nothing environment.

    摘要翻译: 关系数据库管理系统包括一个查询处理器,该查询处理器使用查询运算符分区属性执行QEP修剪,并确保输入到查询运算符的数据被适当地分配给操作。 分区属性指示分配表的网络节点组。 查询处理器还利用被指定为“有趣类”的分区类来执行优化前规划和查询修剪,并且基于被识别为未来操作感兴趣的分区类执行先行分区,从而更有效地评估 MPP中的复杂查询语句,无共享环境。

    Star/join query optimization
    8.
    发明授权
    Star/join query optimization 失效
    星号/加入查询优化

    公开(公告)号:US5960428A

    公开(公告)日:1999-09-28

    申请号:US919739

    申请日:1997-08-28

    IPC分类号: G06F17/30

    摘要: Unwieldy star/join queries are performed more efficiently using a filtered fact table. Suitable queries include star/join queries with a large fact table joined with multiple subsidiary dimension tables, where indices exist over fact table join columns. The query is analyzed to prepare a query plan for the dimension table accesses. This plan is supplemented by adding nested loop join operations, where the inner table is a dimension table plan and the outer table is an index scan performed over a fact table index of the join column with the dimension table. The plan is also supplemented by filtering records resulting from the nested loop joins using a sequence of dynamic bit vectors, ultimately yielding a list of probable fact table records. The plan is further supplemented by fetching these records to construct a distilled fact which is used, instead of the large original table, to execute the query in considerably less time. If desired, the supplemented query plan and other competing approaches may studied to provide cost estimates, with the least costly approach being actually implemented.

    摘要翻译: 使用已过滤的事实表,更有效地执行无故障的星号/连接查询。 合适的查询包括带有多个附属维度表的大型事实表的星号/连接查询,其中索引存在于事实表连接列上。 分析查询以准备维度表访问的查询计划。 此计划通过添加嵌套循环连接操作来补充,其中内部表是维度表计划,外部表是在具有维度表的连接列的事实表索引上执行的索引扫描。 该计划还补充了使用一系列动态位向量的嵌套循环连接过滤记录,最终产生可能的事实表记录的列表。 该计划进一步补充了通过获取这些记录来构建一个使用的蒸馏事实,而不是大的原始表,在相当短的时间内执行查询。 如果需要,可以研究补充的查询计划和其他竞争方法,以提供成本估算,最低成本的方法正在实际实施。

    Iterative dynamic programming system for query optimization with bounded
complexity
    9.
    发明授权
    Iterative dynamic programming system for query optimization with bounded complexity 失效
    迭代动态规划系统,用于有限复杂度的查询优化

    公开(公告)号:US5671403A

    公开(公告)日:1997-09-23

    申请号:US367502

    申请日:1994-12-30

    IPC分类号: G06F17/30

    摘要: A query optimizer for optimizing join queries in a relational database system by iterative application of dynamic programming (DP) to select optimal subgraph join execution plans. Unlike traditional DP optimization methods, bounds on search space time and space complexity can be established and adjusted by imposing a subgraph threshold. Each bounded subgraph is selected using a greedy heuristic (GH) hill-climbing procedure or other similarly useful technique to build a low-cost execution plan. The low-cost GH subgraph execution plan is then discarded in favor of an optimal DP subgraph execution plan selected by a dynamic programming optimizer for each subgraph identified by the bounded GH optimization process. The complexity bound may be dynamically tuned to improve execution plan quality responsive to changes in query complexity.

    摘要翻译: 用于通过迭代应用动态规划(DP)来优化关系数据库系统中的连接查询以选择最佳子图连接执行计划的查询优化器。 与传统的DP优化方法不同,可以通过施加子图阈值来建立和调整搜索空间时间和空间复杂度的界限。 使用贪婪启发式(GH)爬山程序或其他类似有用的技术来选择每个有界子图,以构建低成本执行计划。 然后丢弃低成本的GH子图执行计划,以利于动态规划优化器为由有界GH优化过程识别的每个子图选择的最佳DP子图执行计划。 可以动态调整复杂性限制,以响应于查询复杂度的变化来提高执行计划质量。

    Method and system for look ahead query evaluation planning based on interesting partition properties
    10.
    发明授权
    Method and system for look ahead query evaluation planning based on interesting partition properties 失效
    基于有趣的分区属性的方法和系统,用于提前查询评估计划

    公开(公告)号:US06345267B1

    公开(公告)日:2002-02-05

    申请号:US09517355

    申请日:2000-03-02

    IPC分类号: G06F1730

    摘要: A relational data base management system includes a query processor that uses a query operator partition property to perform QEP pruning and to ensure that data input to a query operator is partitioned appropriately for the operation. The partition property indicates the group of network nodes across which a table is distributed. The query processor also makes use of partition classes that are designated “interesting classes” to perform preoptimization planning and query pruning, and to perform look-ahead partitioning based on partition classes that are identified as being of interest to future operations, thereby more efficiently evaluating complex query statements in an MPP, shared-nothing environment.

    摘要翻译: 关系数据库管理系统包括一个查询处理器,该查询处理器使用查询运算符分区属性执行QEP修剪,并确保输入到查询运算符的数据被适当地分配给操作。 分区属性指示分配表的网络节点组。 查询处理器还利用被指定为“有趣类”的分区类来执行优化前规划和查询修剪,并且基于被识别为未来操作感兴趣的分区类执行先行分区,从而更有效地评估 MPP中的复杂查询语句,无共享环境。