I wanted to provide clarity and warning to other Replit users. I’ve observed that Replit’s database billing is based on the total amount of data written over the month, rather than the current size of the database (as shown in the database panel). This means that if you load 1 GB of data into your database, then delete it, and reload another 1 GB, your billed storage could reflect 2 GB instead of 1 GB.
Whilst this might not be common occurrence for you frequent updates can also contribute to increased storage costs, as each write operation adds to the total data written. You need to very clearly understand your applications amount of data being written to understand cost.
In my experience, I had a database with an actual size of 2 GB was billed as if it were 100 GB. Additionally, reducing the database’s size doesn’t necessarily lead to lower costs, as the billing is cumulative based on data written for that month!
While I understand the rationale behind this billing model, I believe it would be beneficial for Replit to provide clearer documentation on how database costs are calculated.
Furthermore, I’ve noticed that Replit’s database, powered by Neon, lacks some advanced features available in standalone Neon deployments, such as database versioning and time-travel capabilities. Also, the database endpoint is publicly accessible if the URL is known, which could pose security concerns.
For development purposes, Replit’s integrated database offers convenience. However, for production deployments, it might be prudent to explore alternative database solutions that offer more advanced features and enhanced security.