1. A method comprising: activating, by a computer system, a plurality of worker threads, receiving, by the computer system, a query; processing, by the computer system, the query in a first thread in the plurality of worker threads to generate a parsing task associated with the query; parsing, by the computer system, the query based on the parsing task to generate an execution plan comprising a plurality of ordered operations for answering the query; generating, by the computer system, a task graph comprising a plurality of task nodes corresponding to the plurality of ordered operations, based on the execution plan; identifying, by the computer system, a first task node in the plurality of task nodes corresponding to a first ordered operation in the plurality of ordered operations determined to be partitionable into sub operations that can be executed in parallel; generating, by the computer system, a concurrency level value that corresponds to an availability of worker threads in the plurality of worker threads, wherein generating the concurrency level value comprises calculating an average number of available worker threads in the plurality of worker threads over a period of time; and generating, by the computer system, a plurality of partitioned tasks that can be executed in parallel based on the first task node and the concurrency level value, wherein the concurrency level value is the upper limit for the number of partitioned tasks.