Generally speaking, the Virtual DataPort Server maximizes the pushdown of the query to the underlying data source in order to maximize the performance. However, as flat files are not databases, the Denodo Platform allows you to utilize its cache engine for these purposes.
The cache module allows you to store a local copy of the data retrieved from the data sources (the flat files) in a JDBC database which then again enhances the performance through the pushdown of queries (to that JDBC database). This way, I can retrieve data from flat files faster by making use of the cache engine.
I would recommend you to review the documentation section [Cache Module](https://community.denodo.com/docs/html/browse/8.0/vdp/administration/cache_module/cache_module#cache-module) as well the Knowledge Base article [Best Practices to Maximize Performance III: Caching](https://community.denodo.com/kb/view/document/Best%20Practices%20to%20Maximize%20Performance%20III:%20Caching?category=Best+Practices) to learn more about it.
Hope this helps!