SCHEDULING PARALLEL EXECUTION OF QUERY SUB-PLANS

    公开(公告)号:US20230195729A1

    公开(公告)日:2023-06-22

    申请号:US17804770

    申请日:2022-05-31

    Applicant: Snowflake Inc.

    CPC classification number: G06F16/24545 G06F16/24537 G06F16/24532

    Abstract: Various embodiments provide for executing sub-plans in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, various embodiments identify sub-plans (e.g., fragments or portions of one or more child operators) of a root operator in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.

    Parallel execution of query sub-plans

    公开(公告)号:US11379480B1

    公开(公告)日:2022-07-05

    申请号:US17647629

    申请日:2022-01-11

    Applicant: Snowflake Inc.

    Abstract: Sub-plans are executed in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, sub-plans (e.g., fragments or portions of one or more child operators) of a root operator are identified in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.

    Processing limit queries using distributed stop operator

    公开(公告)号:US11188563B2

    公开(公告)日:2021-11-30

    申请号:US17237340

    申请日:2021-04-22

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    OPPORTUNISTIC CLOUD DATA PLATFORM PIPELINE SCHEDULER

    公开(公告)号:US20230205770A1

    公开(公告)日:2023-06-29

    申请号:US18176010

    申请日:2023-02-28

    Applicant: Snowflake Inc.

    CPC classification number: G06F16/24542 G06F9/4881 G06F16/27 G06F16/24532

    Abstract: Methods, systems, and computer programs are presented for scheduling and executing request plans using an opportunistic approach. An opportunistic scheduler generates a request plan for a request on a cloud data platform, the request plan comprising a plurality of operations and identifies a plurality of contingent operations from the plurality of operations of the request plan. The opportunistic scheduler schedules the plurality of contingent operations for execution and sets the scheduled plurality of contingent operations to execute at a specific position in the request plan. The opportunistic scheduler sets remaining operations for execution by any available thread as threads that are processing the request plan become available and processes the request plan according to the scheduled plurality of contingent operations.

    Limit query processing using distributed stop operator

    公开(公告)号:US11023491B1

    公开(公告)日:2021-06-01

    申请号:US17077403

    申请日:2020-10-22

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    Query processing using a distributed stop operator

    公开(公告)号:US12153602B2

    公开(公告)日:2024-11-26

    申请号:US17815389

    申请日:2022-07-27

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    QUERY PROCESSING USING A DISTRIBUTED STOP OPERATOR

    公开(公告)号:US20220382782A1

    公开(公告)日:2022-12-01

    申请号:US17815389

    申请日:2022-07-27

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    Distributed stop operator for limit queries

    公开(公告)号:US11436253B2

    公开(公告)日:2022-09-06

    申请号:US17517935

    申请日:2021-11-03

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    DISTRIBUTED STOP OPERATOR FOR LIMIT QUERIES

    公开(公告)号:US20220058206A1

    公开(公告)日:2022-02-24

    申请号:US17517935

    申请日:2021-11-03

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

    PROCESSING LIMIT QUERIES USING DISTRIBUTED STOP OPERATOR

    公开(公告)号:US20210303593A1

    公开(公告)日:2021-09-30

    申请号:US17237340

    申请日:2021-04-22

    Applicant: Snowflake Inc.

    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.

Patent Agency Ranking