Method for serial and condition-based execution of operators by parallel processes
    31.
    发明授权
    Method for serial and condition-based execution of operators by parallel processes 有权
    通过并行进程对运算符进行串行和条件执行的方法

    公开(公告)号:US08954419B2

    公开(公告)日:2015-02-10

    申请号:US13478065

    申请日:2012-05-22

    IPC分类号: G06F17/30 G06F15/16

    摘要: Techniques are provided for improving performance of parallel execution plans that include serial operations. A database server generates a parallel execution plan and includes one or more serial data flow objects in the parallel execution plan, each data flow object including one or more serial row sources. A parallel selector row source is associated with each serial data flow object included in the parallel execution plan. Each parallel selector row source coordinates with a query coordinator process the execution of the associated serial data flow object. In the event that that a plurality of serial data flow objects are included in a parallel execution plan, serial row sources included in the serial data flow objects may be executed concurrently by a separate parallel slave process, instead of sequential execution of each serial row source by the query coordinator process.

    摘要翻译: 提供了用于提高包括串行操作在内的并行执行计划的性能的技术。 数据库服务器生成并行执行计划,并且在并行执行计划中包括一个或多个串行数据流对象,每个数据流对象包括一个或多个串行行源。 并行选择器行源与并行执行计划中包括的每个串行数据流对象相关联。 每个并行选择器行源与查询协调器协调处理相关串行数据流对象的执行。 在并行执行计划中包含多个串行数据流对象的情况下,包括在串行数据流对象中的串行行源可以通过单独的并行从属进程同时执行,而不是依次执行每个串行行源 查询协调程序进程。

    Parallel execution of window functions
    32.
    发明授权
    Parallel execution of window functions 有权
    并行执行窗口函数

    公开(公告)号:US08315980B2

    公开(公告)日:2012-11-20

    申请号:US11175804

    申请日:2005-07-05

    IPC分类号: G06F7/00

    摘要: Techniques are described for parallelizing qualifying window functions without reliance on partitioning criteria specified in the command that includes the qualifying window functions. Because the techniques do not rely on partitioning criteria specified in the command, the techniques may be used on commands in which no partitioning criteria is specified. In general, the techniques involve partitioning the work of a qualified window function into ranges, and sharing precomputed aggregate values between computational elements to calculate the value for the window functions.

    摘要翻译: 描述了用于并行化限定窗口功能的技术,而不依赖于包含限定窗口功能的命令中指定的分区标准。 因为这些技术不依赖于命令中指定的分区标准,所以可以在不指定分区标准的命令上使用这些技术。 通常,这些技术涉及将合格的窗口函数的工作划分为范围,并在计算元素之间共享预计算的聚合值以计算窗口函数的值。

    Executing filter subqueries using a parallel single cursor model
    33.
    发明授权
    Executing filter subqueries using a parallel single cursor model 有权
    使用并行单光标模型执行过滤器子查询

    公开(公告)号:US07958160B2

    公开(公告)日:2011-06-07

    申请号:US10841991

    申请日:2004-05-06

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30445

    摘要: Techniques are provided for generating execution plans for, and executing, database statements that contain filter subqueries. Upon receiving a database statement that contains a filter subquery, the database server builds an execution plan that includes a filter operation that is fed by a subtree that corresponds to the subquery. The database server performs a cost analysis to determine whether (1) the filter operation should be parallelized, and (2) the subquery tree should be parallelized. Techniques are also described for generating plans and executing queries where (1) both the filter operation and the subquery subtree are parallelized, (2) the filter operation is parallelized but the subquery subtree operation is performed serially, and (3) the filter operation is performed serially but the subquery subtree operation is parallelized.

    摘要翻译: 提供了技术来生成包含过滤器子查询的数据库语句的执行计划和执行。 在收到包含过滤器子查询的数据库语句之后,数据库服务器构建一个执行计划,其中包含由子查询对应的子树进行的过滤操作。 数据库服务器执行成本分析来确定(1)是否应该并行化过滤器操作,以及(2)子查询树应该并行化。 还描述了用于生成计划和执行查询的技术,其中(1)过滤器操作和子查询子树都被并行化,(2)过滤操作并行化,但是子查询子树操作被串行执行,并且(3)过滤器操作 串行执行子查询子树操作并行化。

    TQ distribution that increases parallism by distributing one slave to a particular data block
    34.
    发明授权
    TQ distribution that increases parallism by distributing one slave to a particular data block 有权
    TQ分布通过将一个从属设备分配给特定数据块来增加parallism

    公开(公告)号:US07293011B1

    公开(公告)日:2007-11-06

    申请号:US10305744

    申请日:2002-11-27

    IPC分类号: G06F17/30

    摘要: Provided herein are techniques that may be used to dramatically increase parallism for distributed DML operations. The work of distributed DML operations are distributed in a way that avoids self-dead locks, by ensuring that, for a given data block, no more than one slave is assigned to modify a row that is wholly contained by the data block or whose head row piece is contained by the data block. Assigning slaves in this way not only allows more slaves to be assigned to modify a partition, but allows for greater flexibility in load balancing.

    摘要翻译: 本文提供了可用于显着增加分布式DML操作的间谍的技术。 分布式DML操作的工作以避免自死锁定的方式进行分配,通过确保对于给定的数据块,不再分配一个从站来修改数据块完全包含的行或其头 行块由数据块包含。 以这种方式分配从站不仅允许分配更多的从站来修改分区,而且允许更大的负载平衡灵活性。

    Communicating external expressions using a parallel single cursor model
    35.
    发明授权
    Communicating external expressions using a parallel single cursor model 有权
    使用并行单光标模型来传达外部表达式

    公开(公告)号:US07203672B2

    公开(公告)日:2007-04-10

    申请号:US10865178

    申请日:2004-06-09

    IPC分类号: G06F17/30

    摘要: Techniques are provided for processing, within a database server, a database statement, where at least one subtask required by the database statement is to be executed in parallel by a slave set. The database server determines whether the database statement includes an external expression, relative to the subtask, that (a) produces information that is required by slave processes in the slave set in order to perform the subtask, and (b) is not to be evaluated by each slave process in the slave set. During execution of the statement, if the database statement includes an external expression, then one or more external values are generated by causing the external expression to be evaluated, and the one or more external values are communicated to slaves of the slave set to allow the slave processes to perform respective portions of the subtask in parallel, without requiring each slave of the slave set to evaluate the external expression.

    摘要翻译: 提供技术来在数据库服务器内处理数据库语句,数据库语句所要求的至少一个子任务将由从属集并行执行。 数据库服务器确定数据库语句是否包含相对于子任务的外部表达式,(a)产生从属集中的从属进程所需的信息以执行子任务,并且(b)不被评估 由从设备中的每个从属进程。 在执行语句期间,如果数据库语句包含外部表达式,则通过使外部表达式进行求值来生成一个或多个外部值,并将一个或多个外部值传送到从设备的从站,以允许 从属进程并行执行子任务的各个部分,而不需要从属集的每个从属点来评估外部表达式。

    Parallel execution of window functions
    36.
    发明申请
    Parallel execution of window functions 有权
    并行执行窗口函数

    公开(公告)号:US20060190947A1

    公开(公告)日:2006-08-24

    申请号:US11175804

    申请日:2005-07-05

    IPC分类号: G06F9/46

    摘要: Techniques are described for parallelizing qualifying window functions without reliance on partitioning criteria specified in the command that includes the qualifying window functions. Because the techniques do not rely on partitioning criteria specified in the command, the techniques may be used on commands in which no partitioning criteria is specified. In general, the techniques involve partitioning the work of a qualified window function into ranges, and sharing precomputed aggregate values between computational elements to calculate the value for the window functions.

    摘要翻译: 描述了用于并行化限定窗口功能的技术,而不依赖于包含限定窗口功能的命令中指定的分区标准。 因为这些技术不依赖于命令中指定的分区标准,所以可以在不指定分区标准的命令上使用这些技术。 通常,这些技术涉及将合格的窗口函数的工作划分为范围,并在计算元素之间共享预计算的聚合值以计算窗口函数的值。

    Executing nested subqueries of parallel table functions in the parallel single cursor model
    37.
    发明申请
    Executing nested subqueries of parallel table functions in the parallel single cursor model 有权
    在并行单光标模型中执行并行表函数的嵌套子查询

    公开(公告)号:US20050131880A1

    公开(公告)日:2005-06-16

    申请号:US10930433

    申请日:2004-08-30

    IPC分类号: G06F7/00

    摘要: Techniques are provided for processing a database statement that includes a table function capable of parallel execution, where the input of the table function is specified in a subquery. During compilation of the database statement, a global cursor is generated for the database statement. The global cursor includes a first plan component for executing the table function and a second plan component for generating input for the table function. A “dummy” cursor is then generated. When slaves execute the table function, they call the dummy cursor for input. When a slave calls the dummy cursor for input, the dummy cursor causes a context switch back to the global cursor, so that the second plan component within the first cursor generates the input for the slave.

    摘要翻译: 提供了用于处理数据库语句的技术,该数据库语句包括能够并行执行的表函数,其中在子查询中指定了表函数的输入。 在编译数据库语句时,会为数据库语句生成一个全局游标。 全局光标包括用于执行表功能的第一计划组件和用于生成表功能的输入的第二计划组件。 然后生成“虚拟”光标。 当从站执行表功能时,它们调用虚拟光标进行输入。 当从机调用虚拟光标进行输入时,虚拟光标会使上下文切换回全局光标,以便第一个光标中的第二个计划组件生成从属设备的输入。

    TABLE ELIMINATION OPTIMIZATIONS
    38.
    发明申请
    TABLE ELIMINATION OPTIMIZATIONS 有权
    表消除优化

    公开(公告)号:US20090070315A1

    公开(公告)日:2009-03-12

    申请号:US11854526

    申请日:2007-09-12

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30492

    摘要: Methods for transforming a query to remove redundant tables and eliminate superfluous join operations is provided. The methods provided transform queries to remove redundant tables and anti-joins, semi-joins, and outer-joins. Whether a table is redundant is determined based on a set of criteria which, if fulfilled, indicates that the removal of the table and the anti-join, semi-join, or outer-join operation does not impact query results. The removal of a redundant table from a query also results in the elimination of the anti-join, semi-join, or outer-join operation that references the removed table.

    摘要翻译: 提供了用于转换查询以去除冗余表并消除多余连接操作的方法。 所提供的方法转换查询以删除冗余表和反连接,半连接和外连接。 基于一组条件确定表是否冗余是否确定,如果满足,则表示删除表和反连接,半连接或外连接操作不会影响查询结果。 从查询中删除冗余表还会导致消除引用已删除表的反连接,半连接或外部连接操作。

    ADAPTIVE SELECTION OF A DISTRIBUTION METHOD DURING EXECUTION OF PARALLEL JOIN OPERATIONS
    39.
    发明申请
    ADAPTIVE SELECTION OF A DISTRIBUTION METHOD DURING EXECUTION OF PARALLEL JOIN OPERATIONS 有权
    并行执行期间自适应选择分配方法

    公开(公告)号:US20140280023A1

    公开(公告)日:2014-09-18

    申请号:US13839399

    申请日:2013-03-15

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30466 G06F17/30498

    摘要: A method, system, and computer program product for high-performance database systems. The method commences by estimating, during a compile phase, a statically-calculated system cost of performing parallel join operations over two relations, then selecting, during the compile phase, a first distribution method to perform the parallel join operations. Instructions (e.g., table partitioning) are communicated to two or more execution units for execution of the parallel join operations, and during execution, various measurements are taken pertaining to the performance of a first portion of the parallel join operations using the selected first distribution method. Then, responsive to the measurements a second distribution method is selected and corresponding instructions are communicated to the two or more execution units. The parallel join operations continue, now using the second distribution method.

    摘要翻译: 用于高性能数据库系统的方法,系统和计算机程序产品。 该方法通过在编译阶段估计在两个关系上执行并行连接操作的静态计算的系统成本,然后在编译阶段期间选​​择执行并行连接操作的第一分发方法来开始。 将指令(例如,表分区)传送到两个或更多个执行单元以执行并行连接操作,并且在执行期间,使用所选择的第一分配方法对并行连接操作的第一部分的性能进行各种测量 。 然后,响应于测量,选择第二分配方法,并将相应的指令传送给两个或更多个执行单元。 并行连接操作继续,现在使用第二个分发方法。

    Join factorization of union/union all queries
    40.
    发明授权
    Join factorization of union/union all queries 有权
    加入联盟/联盟所有查询的因式分解

    公开(公告)号:US07644062B2

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

    申请号:US11716010

    申请日:2007-03-08

    IPC分类号: G06F7/00 G06F17/30

    摘要: Under a type of query transformation referred to herein as join factorization, the branches of an UNION/UNION ALL query that join a common table are combined to reduce accesses to the common table. The transformation can be expressed as (T1 join T2) union all (T1 join T3)=T1 join (T2 union all T3), where T1, T2 and T3 are three tables. A given query may be rewritten in many alternate ways using join factorization. Evaluating each alternative can be expensive. Therefore, the alternatives are generated and evaluated in a way that minimizes the cost of evaluating the alternatives.

    摘要翻译: 在这里称为连接因式分解的一种类型的查询变换中,加入公共表的UNION / UNION ALL查询的分支被组合以减少对公共表的访问。 转换可以表示为(T1连接T2)联合全部(T1连接T3)= T1连接(T2联合全T3),其中T1,T2和T3是三个表。 给定的查询可以使用连接因式分解以许多替代方式重写。 评估每个替代品可能是昂贵的。 因此,以最小化评估替代品的成本的方式生成和评估替代方案。