1. A system comprising: a data storage device storing data; a computing device comprising: a memory storing processor-executable program code; and a processor to execute the processor-executable program code in order to cause the computing device to: receive a client query identifying data stored by a remote data source; generate a remote query of the remote data source based on the client query; determine a cache name based on the remote query; determine whether the remote data source comprises a cache associated with the cache name; and if it is determined that the remote data source comprises a valid cache associated with the cache name, instruct the remote data source to read the data of the cache, and receive the data of the cache from the remote data source.