Do you always need a database for your app? Of course not.

As with everything in technology, nothing is ideal in every situation.

Computers offer many various ways to store data. The most obvious alternative is files.

A common example is a CMS. Some CMS use a database to store data (think WordPress), some others prefer to store data using files (think Grav or Statamic).

Not using a database in that case means a simpler deploy to a hosting service.

But when handling lots of data, a database is definitely a great way to simplify your life in the long term.

If you are building a macOS or iOS app, you might decide that a JSON or Plist file is all you need to handle data, because the user does not need to store a lot of it.

Or maybe Core Data (a wrapper for an internal SQLite database) is best for you.

As always, it’s all a balance of complexity vs convenience.