I’m making the migration from the old Heroku shared database to the equivalent new plan. Based on my number of total table rows, it appears that the Basic database is the correct fit.
However, Heroku makes the following note when talking about the required migrations:
Please note that dev and basic databases have a limit of 20 connections. If you require more connections, provision a production tier database.
Heroku also now specifies that Dev and Basic have 0MB of cache.
My question is whether the old 5MB/20GB “shared” databases allowed more than 20 connections (or whether there was an limit, and what it was), and where there was any cache. I’m guessing the answer is no (is there any relation here to number of dynos, btw?), but I can’t find the specs in their docs. Should the answer be yes, then it might change my mind about upgrading to Basic vs. Crane if that would be more equivalent in terms of performance, despite 10M rows being plenty, records-wise.
Performance wise, the new dev and basic plans are comparable to the old shared plan.
The connection limit can be though of as the # of dynos connecting to your database. It has nothing to do with performance of the database itself. With a 20 connection limit, that means that you can only have 20 dynos (assuming single threaded code) connecting to your database.
From our experience, if you have >20 dynos, you should be running on a higher capacity database anyway for performance and production capabilities.