Hey everyone! I'm working on a small web app using Next.js and I'm on the hunt for the right database to use. Since this is a side project, I want to keep costs down, so I'm looking for a free database or one with a solid free plan. Another thing is, I really don't want my database to go to sleep after a period of inactivity; that was frustrating when I used Supabase because it would throw errors after a week of inactivity. I also want a database that handles relations well, as I've dealt with the extra coding that comes with NoSQL databases when it comes to fetching related data. I appreciate an easy-to-use SDK or library for JavaScript and Next.js as well. So far, I've used MongoDB, but I found its JavaScript client confusing, and it didn't support relations as I need. Supabase seemed great except for the inactivity issue. I've looked at AppWrite, but I'm not keen on its authentication requirements. I'd really appreciate your recommendations and insights on this!
6 Answers
You might want to throw SQLite into the mix. It's super easy to set up since it’s just a file, widely supported by ORMs, and free to run on platforms like Cloudflare. Perfect for simple applications.
For what you want, CockroachDB might be perfect! They offer a free plan that seems to fit your needs; it’s built on PostgreSQL, which offers great relational capabilities. Migration later won't be a headache either!
You've got two sides to consider here: the database itself and how you host it. PostgreSQL is a great choice, but keep in mind that hosted free-tier databases usually have that annoying inactivity timeout. I tried Oracle's free tier, and it kept shutting my database down too. If you want, I can suggest how to host it based on your backend setup!
Just a heads up, Supabase isn't actually a database. It's a provider that wraps around PostgreSQL. I'd say go with PostgreSQL; it's a solid relational database, and it works seamlessly with Next.js. Plus, using an ORM like Prisma can make your life easier!
Yeah, but suggesting TypeScript to someone new might be overkill. It's complex and might confuse a beginner even more.
Honestly, for a small project, you might want to consider using Digital Ocean’s droplet to host a MySQL or PostgreSQL instance. It starts around $10/month, which is reasonably priced, and you'll learn some Linux skills to boot. It’s a small investment for your growth as a developer! Check out their guide for setup.
Just remember to check out MariaDB too; it’s a fork of MySQL and very similar.
Honestly, MongoDB and PostgreSQL would probably meet your needs. Both are robust enough for your project, so keep it simple and stick with one of those!
True, Supabase is a Backend as a Service and relies on PostgreSQL. However, it's super user-friendly for those kinds of projects!