1. A method comprising: presenting a common access mechanism that can be used by one or more applications to access different data sources in a storage layer and have data stored in the data sources returned to the one or more applications, the common access mechanism being presented by a data model that is implemented by a query and aggregation layer of an extensible querying/scheduling system, at least some individual data sources being configured to store data in different formats and have their own specific access mechanisms of which the one or more applications are unaware; and creating, by the data model, one or more data providers that are individually associated with individual data sources and knowledgeable of how to access data stored in an associated data source, at least some of the one or more data providers being configured to receive queries for data and execute the queries using a different thread than the data model, at least some of the one or more data providers being creatable on a thread that is a same thread as the data model.