The two of these are very similar. The CLEAN_CACHE_DATABASE stored procedure calls the cache maintenance task. The reason I would want to use a scheduler job with the CLEAN_CACHE_DATABASE procedure as opposed to the cache maintenance task, is that I can control when the procedure runs. With the cache maintenance task I do not know when it will run, so it could run when VDP host resources are in high demand. If I use a scheduler job I can make sure it runs when host resources are not in high demand.
To have more information on the Cache Maintenance task, please refer to the [Cache Maintenance Task](https://community.denodo.com/docs/html/browse/latest/en/vdp/administration/cache_module/cache_maintenance_task/cache_maintenance_task) section of the Virtual DataPort Administration Guide. Also for an overview of the CLEAN_CACHE_DATABASE stored procedure, please check out the [CLEAN_CACHE_DATABASE](https://community.denodo.com/docs/html/browse/latest/en/vdp/vql/stored_procedures/predefined_stored_procedures/clean_cache_database) section of the Virtual DataPort VQL Guide.
Hope this helps!