Choosing Database

Which database is most apt to learn and work with for an online book store ?

Any database would probably work for such a use-case, assuming your not doing something crazy like categorizing every single book every made, which would possibly require a different kind of scale. (big data scale)

However, the best database depends more on the requirements you have for the project. Like how many books, what your doing with the books, what kind of scale your going for, what kind of features, etc etc.

Basically, the database will store books so that users can search and download the books

If your saving the entire contents of the book you actually might want to use another database that stores the contents of the files. This is usually called “blob” storage.

You can use some other kind of database to manage all the other data, like what kind of books are available. Generally you could use anything depend on what scale (which you haven’t mentioned yet) your going for.

For example the type of database(s) Amazon use’s to catalog all their products probably wont be the one you use for whatever project this is as the scale you need to handle is different.

The books are in pdf format and the project size is small; so far I have less than 200 books but it’s bound to grow. Not in order of millions though.

200 books isn’t much, as such you could use basically any database. I’d suggest to probably use an SQL based one, as the advantages of a NOSQL based one (like flexibility) aren’t needed for the kind of data you probably want to store.

And yes, you’d want to store your PDF’s in a blob store. You could store them in the same database, but this will vastly slow it down and take up a lot of storage.

Which SQL and blob storage would you recommend, I’m just getting started with SQLs. I don’t know what to go for l.

I’d pick whatever is cheapest to run in terms of hosting with your app when you end up deploying it. If you don’t know where your going to host/deploy it, look into different cloud providers like: AWS, GCP, Azure, Digital Ocean, Heroku to name a few. See their database options and go with that.

Unfortunately, idk if there is any free tier database options other than mongodb-atlas (which is a NOSQL database) and technically Firebase (which isn’t a database, but an application platform that can store your data via an API with a bunch of limitations)

1 Like

Thanks for taking your time to explain