Supporting query languages through distributed execution of query engines

    公开(公告)号:US12118009B2

    公开(公告)日:2024-10-15

    申请号:US16657916

    申请日:2019-10-18

    申请人: Splunk Inc.

    IPC分类号: G06F16/2458 G06F16/2452

    CPC分类号: G06F16/2471 G06F16/24526

    摘要: Systems and methods are described for distributed processing a query in a first query language utilizing a query execution engine intended for single-device execution. While distributed processing provides numerous benefits over single-device processing, distributed query execution engines can be significantly more difficult to develop that single-device engines. Embodiments of this disclosure enable the use of a single-device engine to support distributed processing, by dividing a query into multiple stages, each of which can be executed by multiple, concurrent executions of a single-device engine. Between stages, data can be shuffled between executions of the engine, such that individual executions of the engine are provided with a complete set of records needed to implement an individual stage. Because single-device engines can be significantly less difficult to develop, use of the techniques described herein can enable a distributed system to rapidly support multiple query languages.

    SUPPORTING ADDITIONAL QUERY LANGUAGES THROUGH DISTRIBUTED EXECUTION OF QUERY ENGINES

    公开(公告)号:US20200050612A1

    公开(公告)日:2020-02-13

    申请号:US16657916

    申请日:2019-10-18

    申请人: Splunk Inc.

    IPC分类号: G06F16/28 G06F16/2452

    摘要: Systems and methods are described for distributed processing a query in a first query language utilizing a query execution engine intended for single-device execution. While distributed processing provides numerous benefits over single-device processing, distributed query execution engines can be significantly more difficult to develop that single-device engines. Embodiments of this disclosure enable the use of a single-device engine to support distributed processing, by dividing a query into multiple stages, each of which can be executed by multiple, concurrent executions of a single-device engine. Between stages, data can be shuffled between executions of the engine, such that individual executions of the engine are provided with a complete set of records needed to implement an individual stage. Because single-device engines can be significantly less difficult to develop, use of the techniques described herein can enable a distributed system to rapidly support multiple query languages.