14. A computer-readable storage memory comprising computer program instructions for processing a complex user query, the program instructions executable by one or more processors to perform actions including: a) receiving the user query; b) generating a logical operator graph representative of the user query, the logical operator graph representing a composable SQL query that includes a plurality of sub-queries; c) generating the composable SQL query based on the logical operator graph and a capability set corresponding to a data source, the composable SQL query being remotable to the data source and including a plurality of SQL aggregations or manipulations; d) sending the composable SQL query to the data source; e) receiving a response set from the data source; and f) sending the response set to a client; wherein the logical operator graph is processed so that each data source returns a minimum number of columns that are sufficient to answer the complex user query.
14. A computer-readable storage memory comprising computer program instructions for processing a complex user query, the program instructions executable by one or more processors to perform actions including: a) receiving the user query; b) generating a logical operator graph representative of the user query, the logical operator graph representing a composable SQL query that includes a plurality of sub-queries; c) generating the composable SQL query based on the logical operator graph and a capability set corresponding to a data source, the composable SQL query being remotable to the data source and including a plurality of SQL aggregations or manipulations; d) sending the composable SQL query to the data source; e) receiving a response set from the data source; and f) sending the response set to a client; wherein the logical operator graph is processed so that each data source returns a minimum number of columns that are sufficient to answer the complex user query. 16. The computer-readable storage memory of claim 14 , the action further including selectively creating another SQL query and sending the other SQL query to the data source, based on the capabilities of the data source.