There is no reasonable limit on table sizes, but there is a limit on overall database size which can be no more than a total of 3GB for your account. For a bit more room, generally up to 20GB, there is a MySQL VPS option as a separate service.
As for maximum file size, VPS comes with storage that scales with the amount of memory, and the underlying filesystem can support files up to that max size. So if you got a 60GB disk from your 2GB VPS system, you could store a file a few GB less than the total disk with generally no issues, but that would leave less space for website files which are the intended file to be stored on the VPS. If it is non-website data, we would recommend looking at DreamObjects cloud storage, or DreamCompute cloud hosting.
DreamHost VPS is managed hosting, meaning you get our great control panel to configure all the aspects of your hosting without having to dive into config files yourself. Because of this, it does not come with root. DreamCompute does have root access, however it has no control panel and you become the system admin installing, configuring, maintaining and backing up your own system.
DreamHost VPS configures apache/nginx files via the control panel, so you do not have direct access to the files. You can still make some changes with .htaccess files in the case of apache. DreamCompute gives you full access to these files, because you are responsible for setting the whole thing up.
PHP composer is not installed by default, but can be installed even on VPS via their instructions. https://getcomposer.org/download/
MySQL remote access is possible on all shared, VPS, and dedicated mysql services if you add in the remote hosts. https://help.dreamhost.com/hc/en-us/articles/215575787-Managing-MySQL-users-allowable-hosts-and-privileges
It is best to not run cron jobs every minute, but if you must and the job is extremely light, it can be done via crontab.
I think that was all of the questions, anything else let us know!