1. A method of processing a data source query, the method comprising: receiving the data source query at a hybrid multi data source running on a computer server; creating a list of data sources; filtering the list of data sources based on data source hints included in the data source query; filtering the list of data sources based on data source rules; forming one or more query plans for processing the data source query, each query plan corresponding to a data source in the filtered list of data sources; evaluating each of the query plans; selecting a first query plan from the query plans based on results of the evaluating; and performing the first query plan.