15. The hybrid multi data source of claim 13 wherein the selected query plan is selected based on probabilities associated with estimated costs of the query plans.
13. An application server comprising: memory; and one or more processors coupled to the memory; wherein the application server hosts a hybrid multi data source comprising: a hint resolver; a rule evaluator coupled to the hint resolver; and a federated query engine coupled to the hint resolver and the rule evaluator; wherein: the hybrid multi data source is configured to: receive a query; and create a list of data sources coupled to the hybrid multi data source, each data source in the list of data sources having a data source type selected from a group consisting of a relational data base, a nosql database, a flat file, an XML file, a representational state transfer (REST) web service, and a Simple Object Access Protocol (SOAP) web service; the hint resolver is configured to: receive the list of data sources from the hybrid multi data source; and remove data sources from the list of data sources based on the data source type of each of the data sources in the list of data sources and data source type hints included in the query; the rule evaluator is configured to: receive the list of data sources after the removings from the hybrid multi data source or the hint resolver; receive the query from the hybrid multi data source; and remove data sources from the list of data sources based on the data source type of each of the data sources in the list of data sources after the removings and data source rules identifying preferred data source types based on features of the data source query; the federated query engine is configured to: receive the filtered list of data sources from the hint resolver or the rule evaluator; receive the query from the hybrid multi data source; form one or more query plans for processing the query, each query plan corresponding to a data source in the filtered list of data sources; evaluate each of the query plans to determine a respective estimated cost to perform each of the query plans; select a query plan from the query plans based on each respective estimated cost; and perform the selected query plan.