A Render disk acts just like a filesystem where you can store and retrieve files. A Render database is a managed PostgreSQL instance that you interact with via SQL. Since you are using SQLite, it will be largely the same experience as a PostgreSQL instance. However, there are a couple of restrictions when using a Render disk as a database:
- You will only be able to connect a single service to your disk-based SQLite instance, since Render disks do not support multiple connected services. A PostgreSQL instance allows you to connect many clients simultaneously.
- Zero downtime deploys are not supported for services with a disk attached. Usually, there is a couple seconds of unavailability as the disk is detached from the old service and attached to the newly deployed service.
- You can scale the performance of your database independently of your service vs. a SQLite database where performance is tied to the service. However, Render disks use SSDs so you should see good performance with a SQLite database until you reach a reasonably high scale.
If none of these tradeoffs are a deal breaker for you, then disks are generally a better, lower-cost option. You can always migrate to a database later if needed.